Home Technical Talk

3ds Max Motion Capture Animation Question

polycounter lvl 6
Offline / Send Message
Ehsan Gamer polycounter lvl 6
Hi All .

We are making a FPS game with Unity 3d engine.

We decided to capture our NPC animations with motion capture system .

So we have about 150 different animations and about 27000 frames that we mixed them in Motion mixer .

But we have some problems .

First we have characters that have guns . They use both hands and we don't know how to constraint both hands to the motion captured animations so that it can be switched in animations.

second is that It's so hard to handle this many frames and our FBX file size is about 100 mb !

What is the pipeline of animations in games like Call Of Duty ?

Replies

  • gsokol
    Options
    Offline / Send Message
    First we have characters that have guns . They use both hands and we don't know how to constraint both hands to the motion captured animations so that it can be switched in animations.

    Not 100 percent sure what your saying here. Are you saying that you wanna be able to use...say a mocapped walk cycle while using a different animation for holding the gun? In Unity, you can look up Animation Layers and that might be what your looking for?
    second is that It's so hard to handle this many frames and our FBX file size is about 100 mb !

    How many frames per second are the animations? Our motion capture setup at work can capture at 100fps. If you got mocap from an outside company they might have given you the best fidelity...you can likely shave off a good chunk of size by dropping the animation down to 30...or even 15 fps.
  • Mark Dygert
    Options
    Offline / Send Message
    I really don't fully understand what you're trying to do with the arms and guns either, but you can filter out limbs in the motion mixer.

    You can also use biped layers to reposition and reanimate pieces. You can also load .bip animations into layers so you could use mixer to filter in/out the arms, save out .bip animations and load them onto layers as needed.


    Or...
    Is it that you are trying to get both limbs to follow the same object and it's creating a loop and won't let you do it? In that case you create a dummy/bone object on the gun that links to the guns root, but each hand has a separate IK target.

    L & R Hand IK targets link to the gun root node. Set Biped IK keys on the hands and point them to the IK target objects, just don't point them to the same object.

    Also you can have a few different positions on the gun that animate, and you can use Jim Jaggers Animated Align script to align and key the IK targets to the various objects and positions as you need.

    About the size, you could work with it in smaller clips and then compile them together before exporting, motion mixer would help with that. You could work with each clip in its own file or in groups of animations. You could save out a mix with all of the finished clips lined up in a row and mix down one giant file at the end.

    Scripting could help you automate the process quite a bit.
  • Ehsan Gamer
    Options
    Offline / Send Message
    Ehsan Gamer polycounter lvl 6
    Hi and thx for replays .

    Sorry for my English . It's hard to describe .

    What we want to do is we want to edit mocaped data for example the mocap files does not have hands and gun animation . so we want to add .

    we can make this happen in a SINGLE file for example shooting and the other running using dummys for IK hands and every things works fine.

    But when we want to mix them together the problem happens and the animation looks rubbish the positions changes .

    thx for help
  • sprunghunt
    Options
    Offline / Send Message
    sprunghunt polycounter
    As others have mentioned you need to use something like Biped or CAT. These systems allow layering animation data on top of other animations. So you can add your hand animations using a animation layer.
  • Ehsan Gamer
    Options
    Offline / Send Message
    Ehsan Gamer polycounter lvl 6
    I am already using Biped otherwise I could not managed to fix them separately .

    the problem happens when mixing them .
  • Mark Dygert
    Options
    Offline / Send Message
    I'm going to assume you are using biped because that is what it sounds like you're using... but it would be helpful to know which rig it is if it isn't biped.

    I think some of your issues are coming from the workflow and I have some tips that might help. You might know some or most of this already but I'm not really sure if you know it all so I'll cover it all. Once I know you're working in a specific way it will be much easier to troubleshoot the problems.

    You will need to work in 2 or more files.
    • 1) For the source animations
      • This has your IK targets and nice key frames, this can be broken up into a bunch of different max scenes if you like. From here you save out animations and load them into the...
    • 2) Motion Mixer file
      • This is just a blank biped that you will do all of your mixing on. Any changes you want to make to your animations you go back to the 1st file and resave the animation clip(s).

    You need 3 animations
    • 1) Body MoCap (save with Key Per Frame checked on)
      • The entire body animation even the arms if they are animated is fine, we will filter them out later.
    • 2) Arms Animation (Save with Key Per Frame checked on)
      • Save the the arms animation Key Per Frame, don't worry about capturing the rest of the body we will filter it out later.
    • 3) Blank Arms Position (Save with Key Per Frame checked on)
      • This is a clip with the arms in the right position, it will be used to fill in the gaps where the arms animation doesn't cover.

    In motion mixer set up two trackgroups like A & B
    Right click the bip001 name and choose add track group
    Right click the "All" Title for the top trackgroup and choose "filter..." and set it up like A.
    Do the same for B.
    MixingMotion.jpg
    Load your 3 clips into the trackgroups like above.
    Stretch the blank clip to fill any gaps that are there other wise there isn't animation to tell the arms what to do and they will do whatever is there for them to do, which is normally horrifically bad...
    Note: you can hold shift and drag a clip to copy it.
    When you're done, mixdown, Right click biped label, compute mix down, right click mixdown track and copy to biped.
    Export and you're done.

    Remember that any changes to the animations should be done in the source files not the mixer file. The mixer file is your final staging ground before exporting, the only thing you are working with in the mixer file are clips that are saved Key Per Frame.

    If you start animating and mixing on the same biped it's going to get messy, convoluted and things will be over written, so it helps to keep them separate.
  • sprunghunt
    Options
    Offline / Send Message
    sprunghunt polycounter
    I am already using Biped otherwise I could not managed to fix them separately .

    the problem happens when mixing them .

    I've had to do this a few times.

    I didn't use the mixer. What I would do is copy the last frame of a animation as a pose and then use a layer to apply that to the following animation.
  • gsokol
    Options
    Offline / Send Message
    Just wanna throw this out there as well...

    If you are wanting to have these be 2 seperate animations you can add them together in Unity as well. Take a look at animation layers/animation mixing.

    This would allow you to say...have a walk cycle, then apply animation to the top half of the body only...so the character could use a wave animation for the top half while still using the walk cycle...same with holding a gun. Especially if they don't always hold the gun, this might be worth looking into.
  • Ehsan Gamer
    Options
    Offline / Send Message
    Ehsan Gamer polycounter lvl 6
    I don't know How to thank you guys .

    Thanks for taking your time for helping me .

    We will try and answer .

    THANKS A Million .
  • Mark Dygert
    Options
    Offline / Send Message
    Yea I agree with George, most engines will handle the blending in some way or another, which is very helpful, it saves on space and keeps you from having to create all of the different combinations of animations. But I always end up using the motion mixer for something so it's important to know how to work with it. Good luck!
Sign In or Register to comment.