Hello. I wonder if anyone could help point me in the right direction?
I’m trying to use the copy sop’s stamping ability to stamp values from a chop that changes over time onto copies. However, I want the value of the channel, when it is stamped to remain constant (as if i was stamping a rand function) for that object for it’s life (the copies are copied onto a particle system) but what’s happening is that each copy instead animates along with the channel. Help?
If you turn on ‘Add Particle ID’ (and restart or reset the particle SOP) then each point
will have a unique ID attribute with it.
You can access this value with the point() expression, or more simply in this case by
the $ID local variable in the Copy SOP.
You can then use this ID in a formula (such as rand) or to look up non-animating channels
(example chopi function)
As a quick test, turn on ‘Add Particle ID’, reset the particle SOP, and change the value
expression to rand($ID)
I should add, alternatives to stamping may include preparing translate, scale, rotate, color channels in a CHOP then feeding these channels either to a limit SOP (which converts them to geometry) or the Instance tab of a Geometry component (which draws multiple instances efficiently).
Any ideas how I might go about stamping a value from an animating chop but not have that value animate on the object it’s stamped onto?
For example:
At fame 30 particle 1 is generated and the animated chop’s value is 0.5. I’d like to stamp this onto the particle1/copy1’s size attribute but for it to remain at 0.5 even though the chop’s value continues to change.
For example:
At frame 67 particle 2 is generated and the animated chop’s value is 1.2. I’d like to stamp this onto the particle2/copy2’s size attribute but for it to remain at 1.2 even though the chop’s value continues to change. (at frame 67 particle1/copy1’s size should still be at 0.5).
[my animated chop could be any value at any time].
The solution feels like it should be simple, but i don’t seem to be able to crack it.
The way I see it you have to hold/store those values over the length of your animation. You should do that in chops; sampling your animation and generating separate, static channels that can then be assigned where you wish.