PDA

View Full Version : offset animation for instances


avillabon
10-27-2009, 06:20 PM
I created a plane and from that plane i'm emitting particles. I also have an animated bird (not baked, with joints and looped animation). I instanced the bird (with its animation) to the particles and it works just as expected. Now, all i want to do is offset the animation of the birds since they are all flapping their wings at the same time. How would you do this?

thanks

Alex

JoshM
10-27-2009, 06:52 PM
I think in order to have the instances be offset, you would need to create the animation of the bird into a geometry sequence (i.e a piece of geometry for each frame of the animation). Then you would instance the entire geometry sequence and then control the objectIndex of the instancer through Per-Particle expressions. This way you could offset the animation, loop it, slow it down, speed it up, etc.

HTH,
Josh

avillabon
10-27-2009, 07:26 PM
hmm yes. but if i do that then i loose the ability to motion blur the birds' wings flapping..

Alex

rxgeez
10-27-2009, 07:41 PM
Yeah that is one of the unfortunate things about the particle instancer....its very limited when it comes to assign pp animation, color, ect.

Aside from looping through each index you could just create a bunch of different birds with offset animation and the instance all those randomly to each particle...obviously the more birds the more variation but the slower it'll be.

You could probably create a geo cache of the bird anim...then you would only have to bring in the bird geo and apply the cache. Do that for as many birds as you need to get the desired variation and just offset the cache clip for each....then instance all those to the particles.

arkangel-fx
10-27-2009, 07:56 PM
I created a plane and from that plane i'm emitting particles. I also have an animated bird (not baked, with joints and looped animation). I instanced the bird (with its animation) to the particles and it works just as expected. Now, all i want to do is offset the animation of the birds since they are all flapping their wings at the same time. How would you do this?

thanks

Alex

Make some duplicates, as many as you need with the offset that you want for each one of them. Then just simply instance those.

avillabon
10-27-2009, 08:27 PM
Make some duplicates, as many as you need with the offset that you want for each one of them. Then just simply instance those.

I think ill go with that. Thanks.. Ill post later if i need more help. Thanks!

Alex

Wick3dParticle
10-27-2009, 08:49 PM
in the instancer options of the particleShape, you will see 2 attributes at the bottom: cycle start object and Age.

Cycle start will allow you to control how the cycle begins for the instanced sequence.
Age is the speed it cycles through the instanced sequence.

you can set cycle start to something like ID, and write your own custom attribute to plug in to age.

Hope that helps,

~Ilan

CGTalk Moderation
10-27-2009, 08:49 PM
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.