Switching mocap dance via Xpresso or Effectors
I need to have a wall of motion capture dancers switching their dance in an organized way to create patterns. (see img below)
In an AE mock-up I achieved this by sampling an area behind the dancer and based on the white level, switched that dancer to a specific frame in the sequence. This has lots of limitations and am hoping to use a more intelligent way to switch dances in C4D.
*All mocap dances are by the same skeleton/rig
Ideas that come to mind:
Hoping to get some help on how to solve this creative problem. I posted a similar question in another site (here) but didn't get any input.
You should be able to do this with a shader effector (to set the pattern and the time offset) with your character in a grid cloner array. You might also want to set it to instances to keep the animation and geometry down.
But I guess I might be missing something because I would have to ask what's wrong with the AE solution?
Unless you are interested in the perspective offset (slightly differing views of each character due to distance from lens-center) or want to have different characters in each slot, it seems like a lot of render time for 150 characters when only the showing frame of a single character will change across the face of the screen.
Rendering one character's entire animation would let you get all the bugs out and the motion bang on and then just duplicate that movie in AE for the effect.
The only downside to the AE method I can see is that if you want to time warp the characters speed, you will be stuck with set frames you have already rendered in Cinema (a way around this is to set a higher frames per second rate in C4D and then you would have more frames that you would need).
Or if you want to move the camera around.
You could also do this in Element 3D right inside AE but I think you would have a better time of it doing 3D character animation inside a true 3D package. (element has a similar mode to the Cloner in C4D but is weak on character/bone hierarchies). Although you could use Element's cloner on postcards of your single character's frames to get the same kind of cloner control goodness that you have in Cinema.
Thanks for the input, i really appreciate it.
I've always found the time offset component confusing so bear with me.
Are you suggesting have all phases of the dance in 1 timeline, possibly spaced out to a new section every 100 frames, and skip to certain areas with the Shader's Timeoffset?
How would you have the time offset say jump to frame 200 and play/loop 200-299 (if 20% black is the shader value)?
You can tie the values of "enable time remapping" to a layer's lightness channel in an expression for instance. So if you have a diaganol white stripe in the middle of a black field (turned off and just used for reference), you could get the position of the characters instance, ask AE for the color of the pixel at that coordinate and then do some math to figure out which frame that should be based on black being the begining of the footage and white being the end. Make sure to clamp your decimals so you don't end up with frame 39.3. Enable time remap required whole frames.
You can also use the timewarp effect and tie the value to the source frame (the default in this effect is" speed" so you would have to change that to frame number). The beauty of the Timewarp effect is that it will interpolate the missing frames between frames if the math doesn't work out to perfect frames.
As for the layers - render your character in C4D at the size you want him with an alpha (you could also scale him down in AE but it's always sharper to use elements size-as in AE) Then duplicate your characters in Ae and place them in the grid style you want. There are scripts that can help with this or you could use an expression or just do it by hand.
Turn on enable time remapping for your layer before you duplicate it and add the expression too so you don't have to copy and paste this to every layer (but you can do it after too). The expression will be the same for every layer.
The expression on the time remapping channel should retrieve the current layer's own position and then reference a common extra layer that contains your pattern like an X or a diagonal line - get the color data from this layer - this turned off precomped layer can also be animated so the pattern changes over time and the characters will shift in time accordingly. You can animate this layer in AE or just bring in some footage and use that. Smooth CG footage should be used you don't get grain noise as that might make the character layers cha cha back and forth as their expression detects the color differences in grain as it changes in footage.