how to check the speed in the rig for realtime animation


#1

Hello,

I have displayed the fps in the viewport to check the speed of my rig.
Animator need to work at 24 fps,even if the are more than 1 rig at the same time in the viewport.
So I want to make sure that my rig isn´t heavy, to be able to work at least with 5 characters in the scene (or more).
So…any advice to check it?
I am putting the playback speed in mode “play every frame, free” because it shows the max speed allowed. Is that right?

(By the way, I don´t get the difference between “real time” and “play every frame, max real time”)

I have to say that the rig has a lot of features (because it is for cartoony animation) and I am on a macbook pro.Animating the master control (to get the maximum of the rig)I am getting:
1 rig in scene --> 70-80 fps
2 rig in scene --> 38-42 fps
3 rigs in scene -->25- 32 fps
4 rigs in scne --> 22-25 fps
5 rigs in scne --> 15-20 fps

So I think that for an advanced rig it is not that bad. And of course, even if I have many rigs, I just have to hide/unhide them to get the speed up when the scene gets to heavy.
So what do you think about that?


#2

Um, I would tell your animators that the performance you are giving them is awesome and they should just deal with it.
It sounds like you are testing in a way that would work.
We are lucky if a rig runs at 12fps with one in the scene.
Of course there are lots of ways to speed up or slow down a rig in how its made.
But the computer they are animating on makes a difference as well.

You know all that though.
The performance you are getting is great!

The difference in play every frame with a max and just using real time is that the real time setting will drop frames to get playback at the desired rate (ie 24 fps). The realtime setting is for audio playback because Maya doesn’t slow down audio with the frame rate.
Play every frame with a max will not drop frames and shoot to play back at the max rate.
If it can play faster is won’t, if it can’t get to the max it won’t drop frames to get there.
I have found that audio for sync won’t play back in this mode.

That’s what I know.


#3

12 fps per second?! how animators work with that?:shrug:
okey, thanks for the explanation.now I get it.
Cheers


#4

Any frame rate 12 and up is really nice to have, but no where near expected. Animation timing should be done / evaluated in playblasts, not in maya’s viewport. This way the output is universal and not dependent on the system, scene or hardware.

If your rig is already getting 70 fps, you should be good to go. Also, having 5 full character rigs visible and animated at the same time is going to slow down most machines regardless. I would put this back in the animator’s hands about how they’re handling their scene.


#5

“Real time” will force Maya to keep the correct timing even if it has to skip frames. So on heavy scenes you’ll see stuttering. But it’s useful for timing and especially audio syncing (audio won’t even play in other modes).

I make quite an effort to get real time playback as it saves a LOT of time in the long run if you don’t have to do a million playblasts. A quick way to speed up rigs it to make a duplicate of your character model which isn’t skinned to the joints, but just straight parented in chunks. So you duplicate your model, unskinned and unlocked, break it up into separate objects (select polys + extract) according to the joints, and just parent the individual pieces to the skeleton. It’s a rough look, but fast, and you can instantly toggle on the fully skinned version from the layers panel.


#6

Having a realtime rig isn’t only about the speed at which you work, but also how long an animators motivation and vision will hold out. Having to do playblasts to check timing (at least on rough motion) is unacceptable imo and increases the risk of making mistakes. I’m talking proxy rigs, at least. Render rigs may lag.

Quite sad to see people from two larger studios with this attitude…

But yes, 70fps is freaking awesome!


#7

I hear all that you are saying marcuso.
Don’t get me wrong…I wish things were different.
As an animator, I hate animating heavy rigs.
I would sacrifice a lot to work with and create light and responsive rigs.
Proxy rigs are useful for the bulk of your animation, but there always comes a point where I need to refine things with the actual skin.
I just finished a project with a giant bird that needed specific animation on individual feathers. That was a heavy rig and not much fun to work with…The rigging team did their best in the time they had and so we did our best to make it work.

The big thing that frustrates me is when performance requests get unreasonable. I have worked with animators that complained about performance. I would look into it and realize they were working on a scene with 4 full characters visible and all the display bells and whistles showing.
The suggestion would be made that maybe they could hide a few of the rigs and change some display settings and they would say they couldn’t work like that and say the rig was “too heavy”.

I am fighting for the lightest rigs possible.
But I also love fine control…and I know that often that comes at a price.
In the end I would give up a few FPS if I have intuitive controls to get any shape that a performance needs.

So yeah…


#8

Hi,
perhaps the answerd would be to have multi resolution rigs and ask to the animators to use the one adapted to the current task. And example of multi resolution rigs:

  • blocking rig (for timing and key poses) with no defomation and only proxies
  • animation rig (to animate…) with proxies and switchable resolutions( low: only proxies, med: head feet and hands deformed, the other parts with proxies, high: everything deformed, with swith for the facial on med and high versions)
  • finaling rig( to fix all the deformations) all deformed, perhaps with no animation rig but point caches and additionnal deformers ( sticky clusters, sticky curves, sticky skinCluster to work on penetrations/collision, fix he silhouette etc

the switch between the different resolution of these rigs must be very effective, and no animation curves should be affected/destroyed between the different switches.

Olivier.


#9

I dont agree with you . For animators it s common to blast every time they wanan check . because you sure you kill every variable that might effect your animation played in the viewport. because with the playblast you will see exactly what you get .
I m an animator to other then a rigger , and as long as the rig doesnt lag while moving controlls that are not the master controll (that moves everything ) I’m fine .
Also more the qulity of the rig is high with detailed deformation and so on more will most likely get heavy.
I have a friend that worked for happy feet 2 and the director asked for real time muscle simulation . the whole dev department worked hardcore on that and they ended up in something like 18 fps with features film mesh and rig is just awesome .

Also of course if there are proxy meshes that can halp alot in the earlier stages of animation


#10

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.