- Feed live input from a motion capture system to visualize animation data on 3D characters while they are being performed by live performers (read: live cinematography)
- Trigger animations and events based on predefined rules (video games anyone?)
- Visualize particles, lighting and FX without performing a render
Cheers,
Curtis Garton
Hello Curtis,
Your post is very interesting.
I do agree with Kees: a tool that could detail the “time budget” that is used by the elements of a given scene graph would be extremely helpful. It would allow the user to make much better decisions on the compromises to make in order to optimise a scene for playback.
Thinking broadly, with such a “time budget evaluation mechanism” a Maya user could use MEL to build a conditional refresh engine that drops features instead of entire frames when certain time conditions are met, such as: “if object X deformation takes more than 15 ms, then turn bouncing box on”.
That would change your definition of real time from a system that drops frames, to a system that drops features, the important difference being that now your 3D could more easily be synced to video, for instance.
What do you think? - David
As an example.
I may setup a complex rig in 3dsmax of Maya that turns out to update at a lower framerate then is deemed pleasant by the animators.
It now because a painful task to try and identify which elements are causing the poor performance so you can try and find an alternative setup that may work better.
So some tools that could identify which elements are sucking up a lot of resources would be very useful.
I.e. viewport rotation slowness may be caused by to many vertices, or perhaps the textures are to huge, or maybe there is a single poorly programmed modifier plugin that is causing it.
It takes so much time to identify what is actually to blame for the slow downs.
Usually fixing the issue isn’t so hard as identifying it.
Hope that makes sense,
-Kees
"MotionBuilder [...], its ability to deliver real-time playback of content is completely dependant on your hardware; video card, cpu and ram.”
Wouldn’t it also depend on the quality of your programming?
Anyway, nice post. To me ‘real-time’ for something like Max or Maya simply means an interactive rate of update that is acceptable to an artist/animator so they don’t have to wait while performing their next ‘artistic’ action.
I.e. when moving vertices, 10 FPS may be fine, while animation playback may have to happen at 24 or 30 FPS for the artist to get proper feedback.
I think a lot of people see ‘real-time’ as 30 FPS or 60 FPS or whatever number.
Which, is only a value significant for games.
I think where Max and Maya (etc) can improve is to allow the artist/animator to customize more what is important for them to be fast and what is important for them to be accurate.
To some degree, this is already possible, but I think it is hard to identify sometimes what are the costly elements in a scene when pressing the play button and you are not getting that 24 FPS.
What do you cache, what do you hide, what do you reduce in size / memory… etc.
-Kees



