Home General Discussion

Mocap Tutorial for Games

polycounter lvl 5
Offline / Send Message
Headless polycounter lvl 5
I appreciate that most people who post on Polycount are more interested in modelling and texturing, but I figured this was as good a place to post this. I made a tutorial for motion capture clean-up for games...

[ame="http://www.youtube.com/watch?v=XxHi7_pXN-k"]Motionbuilder Mocap Clean-Up for Games - YouTube[/ame]

Some info: I'm a senior animator at Ubisoft Montreal and have worked on games like Far Cry 3 and Watch_Dogs, so hopefully I have some useful wisdom to impart, and if there are any other game animators, I'd love to hear about your processes too.

Thanks.

Replies

  • Makkon
    Options
    Offline / Send Message
    Makkon polycounter
    You have perfect timing! I'm going to spread this around the studio and show it to our character TD. We just got a mocap studio. Thanks so much!
  • Fomori
    Options
    Offline / Send Message
    Fomori polycounter lvl 12
    Nice. Thanks. I'm very interested in learning more about this process.
  • Bellsey
    Options
    Offline / Send Message
    Bellsey polycounter lvl 8
    this is an excellent video and really shows the work you need to do when working with mocap data and prepping it for your game. Motionbuilder is so good at doing this type of work. I've used it for over 10 years in games and film and it's never let me down. It's always been one of my favourite software packages.
  • MiAlx
    Options
    Offline / Send Message
    MiAlx polycounter lvl 10
    Hey Headless,

    I just wanted to say thank you very much for taking the time to do this.

    It is not easy to get good info on mocap workflows, since most tutorials just show the basics etc. and I'm really interested in learning more about the various processes.

    So again, thank you for that. :)
  • ExcessiveZero
    Options
    Offline / Send Message
    ExcessiveZero polycounter lvl 6
    sweet vid dude, not much use to me personally yet, still planning on getting a kinect to do some of my own motion capture.
  • StephenVyas
    Options
    Offline / Send Message
    StephenVyas polycounter lvl 18
    Thanks for sharing this :thumbup:
    I haven't had the need to mess with motion capture data, but it's always helpful to
    know the workflow behind how it's done in motionbuilder... if there's ever a need for it.

    (This is probably a long shot, but if anyone still has the 2010 motionbuilder PLE 30day trial, plz let me know. Looks like Autodesk doesn't support it anymore, which is a shame because that's the latest version my old pc can run . & it doesn't seem like they offer Motionbuilder for OSx.)
  • Headless
    Options
    Offline / Send Message
    Headless polycounter lvl 5
    Thanks for the positive comments guys. I'll try and post more tutorials when I have time. If you have any quick questions, feel free to ask. :)
  • MiAlx
    Options
    Offline / Send Message
    MiAlx polycounter lvl 10
    Actually, I have a couple of questions, if that's okay.

    1) So, towards the end of your video, where you position constraint the reference object to the pelvis, you skip over a pretty large amount of constraints. (53:30 in your video)

    You said that they are a bunch of constraints that help the setup character deform more like the game character and to give better feedback when animating. But could you please elaborate a bit on that?

    2) Imagine a cut-scene, where an actor picks an object up from a table, does something with it and then turns around and runs away.

    If you activate a parent-child constraint between the bone of the object and the "item hold" bone, when the character picks it up and then plot the constraint, will that suffice to work properly in an engine? Basically the question is: Is there a specific workflow for object-character interaction, or does it depend on how the engine handles that?

    Thank you very much for your time. :)
  • phaedarus
    Options
    Offline / Send Message
    phaedarus polycounter lvl 10
    Thank you for the video.

    Do you have any advice for serious hobbyists who want to build their own motion capture studio at home?

    Recommendations for affordable equipment would be especially valued.

    Thanks.
  • KeithC
    Options
    Offline / Send Message
    KeithC polycounter lvl 7
    Appreciate you taking the time to share. ;)
  • Headless
    Options
    Offline / Send Message
    Headless polycounter lvl 5
    Phaedarus: I know that some people have managed to get mocap data out of the Kinect, or other markerless mocap systems like iPi, but the quality is generally pretty bad. Gypsy Suits are slightly better and come with some benefits like not having to deal with occlusion, but they can be several thousands of dollars (sometimes tens of thousands), and the data they produce still has problems. To get anywhere near game or film quality mocap you'd be best with an optical mocap system, with a minimum of 6 cameras, a big enough space to get a halfway decent capture volume (since like Kinect, you need quite a bit of distance between the cameras and mocap actor), and a lot of expertise on how to calibrate the cameras. The cheapest optical system I've seen is Optitrack, which has a very basic setup for just over $7000. Professional studios use Vicon systems, which are super expensive.

    MiAlx: So the rig I'm using in the video is from the game James Bond: Blood Stone, which I worked on before moving to Ubisoft. There are essentially two layers to it; the animation skeleton, and the character skeleton. The animation skeleton is as simple as possible and just has spine, head, arms, legs, fingers, etc. When we export into the game engine this is where animation keyframe data is saved. The character skeleton is layered on top of the animation skeleton and is everything that's specific to an individual character mesh, so bones for clothing, bags, straps, holsters, etc. There's no animation data saved to the character skeleton, it's entirely made up from driven keys or dynamic bones.

    The reason you do this is first, to keep the size of animation data low in memory by only exporting the simpler animation skeleton, and second, to be able to play the same animations on different characters but have different deformation and dynamics per character. The complex constraints setup in the video is to approximate the way the game engine layers the character skeleton over the animation skeleton, so that that animator can see roughly what the end result will look like in Motionbuilder as they're animating, instead of having to keep exporting to the engine to check that deformation, driven keys and dynamics are working as they'd expect.

    To answer your second question, that depends entirely on the game engine. Some pipelines have specific prop bones that you'd constrain all the way through the animation, and then an in-engine markup system to specify when props should be attached and detached to those bones. Other engines have props in the animation scene and you specify as part of the export system what props you want to export and at what point they should move relative to different objects. Like I say, there's no standardized solution.

    Hope that's helpful. :)
  • MiAlx
    Options
    Offline / Send Message
    MiAlx polycounter lvl 10
    Hey, thanks a lot for taking the time to explain, Headless, that was very helpful! :)
  • Teessider
    Options
    Offline / Send Message
    Teessider polycounter lvl 11
    Watched this earlier and although I'm not an animator, I still found it insightful :)

    Definitely going to share this with my friends who are animators :P
Sign In or Register to comment.