I’ve noticed that using an effector to offset the clone’s animation doesn’t always work.
For example, say we have a cloner and an effector with Time Offset set to something > 0;
If the clone is a parametric cube, it’s animated size parameter is successfully offset by an effector.
However, if the clone is a null, or any other object, with, say, animated user data, the animation offset is not affected by the plain effector.
Is there a way to work around this problem? If there is no easier way, I guess I could make the cloner editable and loop through the children. But I haven’t thought about this method much yet, wanted to see if there’s a simpler way.
I’d like to figure out if there is a simple way to do time offset of clones with animated user data, before I tackle a slightly more complex idea:
Ideally, I would like to trigger the animation sequence for each clone using an effector, e.g. the plain effector;
So the time line for each clone is frozen at 0 until an effector passes over, which triggers the sequence.
I might be able to do this using the monoflop node in xpresso, trigger it above threshold of effector sampler and don’t use the timeline at all.
I noticed when using the particle emitter object with a cloner, the clones sequences behave exactly like this, their animation doesnt trigger until the particle spawns, so this made me think, maybe there’s a way to do it with just the cloner. Visibility mode doesn’t seem to affect the clone’s animation start point.
The first thing that can affect the clones is their own position-animation. If the Cloner Object>>Attribute manager>Object> “Fix Clone” is a checked, then any position animation is ignored. To use a Parent Null (zero position for XYZ) allows for the animation again, while it is checked on.
The Cloner Object’s main focus is on PSR of the Child Object, including deformers.
You can “bake” an object with Main Menu> Character> Manager> “Cappucino…” for example.
As the manual states:
Tip:
When animating complex hierarchies (e.g., characters), make the complete hierarchy a Child object of a Null Object and make this object in turn a Child of the Cloner Object. Depending on the complexity of the rig (e.g., number of Expressions) it may also be necessary to bake the animation.
More complex, but way more adjustable is the Main Menu> Animation> Add Motion Clip.
To trigger Animation, perhaps use the Cloner Object> “Blend” with the Effector Setting Plain Effector. Modify Clone, where by the initial Cloner Set up produces only one clone and another (parent to all) creates the Animation.
Yes, that might not cover all animation cases, but you question is layered and general, if you have an example, I try to find something for it.
I was thinking about baking and using blend mode, but my clone uses animated and procedural parameters, I will try and set up a simplified example when I next get time to play around with this.
Wow, I’ve never noticed or heard of the motion clip feature before.. This course looks excellent. I will definitely check it out!
On the end, pretty much anything model-wise end up being based on points. The Cappucino has PSR, PLA and Hierachy as target and can normally take all these influence into account.
The Animation clip evaluates Expressions.
But yes, there is always something else that might need some attention, hence the idea of a core-example.
To set an absolute starting point of a child/clone animation might be best with a MoSelection and Plain or Step Effectors. If no animation should be seen, perhaps set the offset larger than the project time. I haven’t tried to change the Offset value via XPresso, as I really don’t know your target with that.
See the Spline Curve in A and C vs the absolute value of the B version. The Step Effector>Spline interface is mighty, but needs some attention.
The critical point here is, especially with the idea of “Material” animation, that each XRef” is created one by one. It is tempting to load one and copy those, but this will result in one Material only, and the material animation is always in sync, not offset at all.
If that is not a problem or requirement, perhaps a copy might work.
If you select all the XRef parent objects, you can type in num*24 and the 24 will then multiplied for each, starting with zero, or type (num+1) * 24). When all are deselected, select the one that should follow the same sequence and set the Object> Animation> Offset to the value that works for you.
Here you can find also the connection to XPresso. XRef also allows for an animation “Scale”. BUT: it seems to be a read out only.
With Python: [c4d.ID_CA_XREF_OFFSET] or [c4d.ID_CA_XREF_SCALE], perhaps that could be a way…
I hope that gets you a little bit closer to your target.
Brainstorming:
Since you asked, perhaps increase the Weight for the clones in question over time to get the animations working. The Thinking Particles have for example a Channel option to provide for each particle a memory, this can be read out and transferred to weight for example. Perhaps utilize the XPool> System Presets> General Presets> “Memory List” to store the starting point of the clone’s animation. Then get the “delta” time for the animation as weight for example.
Select the “Falloff.Gui” and move it to the clones (press the play button first…)
The idea is to add to the Weight with each step, but only after the falloff (XPresso) has added something to it. If the Weight is zero, nothing will be added. Set the Plain Effector Offset to 118 for example to see the difference in animation length, etc.
?($1=0;0;($1+0.01))
Whereby the 0.01 used in the example]value stands for the speed.
I have tested it only from my perspective, please do so with your needs in mind of course. Let me know if something isn’t clear. From your website, I assume you get fast through the idea of a set up like this.
Many years ago I received a similar question, but it turned out, that the animation was a looped animation and could be done easily with “Blend” and “Modify Clones” with one none animated child and one animated. I thought it was mentioning here, just incase.
Yes, start with the latest one, and please ask if something isn’t clear, I’m happy to explain more in detail if needed. Since the whole set up would be a longer “speech” to go into detail with each part.
The amount of instances under the lower Cloner Object might be lower or higher, dependent on the key steps.
The Effector> Modify Clones parameter can be seen as a proportional slider in conjunction with the amount of instances under the Cloner Object. So move the slider and adjust the Key-“time” for this instance.
The top Cloner Object creates then the needed amount of clones. The lower Cloner Object produces only a single clone and holds the Effector for the “Modify Clones.
The file that was the reason for this thread is way more complex and any other way would have lead in a painstakingly work, as Animation Clip, Collada, Alembic and even XRef showed some flaws based on the very nature of the presented file. One instance of this file had 139 objects and many of them were equipped with tags. e.g., XPresso, etc.
Since I believe in Forums work and not so much in single private stuff, I was clear that I couldn’t share the original work, but I wanted to share this way of solving the problem. If it works all the time, I have no clue, since the options in C4D are pretty much endless, and no one has ever (!) put all possible options in a action.
This is all great, I made a mashup of your previous example which triggers the animation rather than using falloff to blend. It took me a while to figure out what’s happening in the xpresso (in CV2_r18_drs_17_MGsq_41), but I its starting to make sense, excellent technique, its giving me a lot of ideas on where to take this next.
Just a little brainstorming:
The main idea is check the values of the weight. If zero then leave it that way. If the Falloff adds a little bit to it, then add each frame a certain amount to it.
An addition could be, to place MoGraph selections into the mix. In the moment the weight value is 100% [or one], the selection will be set to true for the clone.
This uses the Condition to check the same as before, but this time one is the zero. In other words, if a new falloff “triggers” the weight is subtracted then each frame until zero.
This is just brainstorming, but I guess that could be a needed extension.
You mean, for example, to use a second effector to trigger the reverse sequence? Great idea.
The main principle of using weights has been really enlightening, opens up a whole range of opportunities for animation!
Yes, NNenov. So far I understand your set up that you have had send me, there might be a need for an reverse animation.
With both both (Weight Tag and MoSelection Tag) one has the option to store quite some specific information. Those information can be used then in Effectors, to make them work or not, or just partially.
The options have increased tremendously with these two “storage” tags. If used as such, I guess there is much more to come.
This is why I like this forum so much, getting a question that might combine some previous explorations, and all of the sudden we have a great example of synergy.