Home Technical Talk

Cached animations in Maya

polycounter lvl 14
Offline / Send Message
mdeforge polycounter lvl 14
Hey guys,

We're trying to instance a couple hundred of our male figures walking in a scene in Maya. However, it's really bogging it down. We've cached the animation and Maya seems to be drawing from the same data file for all of them, but when I look in the cache folder in Windows Explorer, there is a cache file for every single one of them. Anyone know if that's correct? Or if there is a faster way to do this? I have Maya 2012.

Replies

  • Warheart
    Options
    Offline / Send Message
    Warheart polycounter lvl 17
    Is the issue that you're running out of memory or just performance?

    If it's memory then what about just connecting a single set of animCurve nodes to all the skeletons/rigs? (you'd obviously want to script the process of connecting the existing curve nodes to the new skeleton)
  • mdeforge
    Options
    Offline / Send Message
    mdeforge polycounter lvl 14
    Sorry for the thread res, but I hate not thanking people for their responses.

    Thanks Warheart, I'll give that a shot. I have 16GB of Ram, but it's still slowing down. The task manager doesn't show we're running out of memory, it's just a performance issue. What you say will probably work. First time doing this sort of thing, so I'll give it a shot. It sounds like what I was looking for though.
  • Warheart
    Options
    Offline / Send Message
    Warheart polycounter lvl 17
    Hmm yea with 200 odd characters walking around I'd be suprised if it didn't slow down a lot tbh. It's going to use up a lot of CPU/GPU time just to do the scene update with that much stuff going on because every time you alter the current time every node downstream of an animCurve in the DG needs to be calculated again.

    I think the suggestion I made in the previous post isn't going to help as much with performance as it would with memory (although it should still help a bit).

    Here's some suggestions that are more likely to help performance:
    1. if the animation is on a complex rig (e.g. ik/fk controls, complex hierarchy, lots of constraints) then consider baking the animation on to the skeleton and then using the animCurves that you need from that data (e.g. remove scale/translation curves if they aren't doing anything) to drive instances of the skeleton in your crowd scene.
    2. While you're working on the scene you might want to reference in a skeleton without skinning as skinning calculations are slow (e.g. make a version with cubes parented into the hierarchy to let you see the general motion). then once you're happy and are ready to render (assuming it is pre-rendered?) then you can swap out the reference file for the final asset with all the skinning and complex geometry.
Sign In or Register to comment.