goshone Posted June 15, 2011 Share Posted June 15, 2011 In my case, I am working on a flock of birds. I want to vary their flapping in terms of speed and ideally adding some randomness. My plan is to rig the bird in Houdini, then using CHOPs to procedurally animate the wings flapping. Ultimately this rig would be instanced to particles which have the info to change cycle speed, and add slight noise to the channels for variety. I am able to get a simple rig to vary based on the point attributes, but the deformed geo that is bound to the bones does not change per instance (at render time). I can verify the bones are being driven properly by parenting geo the the bones (instead of binding). It does work as expected with copy stamping, but I am worried that may be too heavy if I get up to a large count of copies. So a couple of questions... 1. Is instancing the right way to go, or should I use copy/stamping? If instancing should work, what are the steps to get the deformed geo to update properly per instance? 2. Any advice as to how to integrate CHOPs into the mix. I can stamp the bone rotations into CHOPs (i.e. the period of a wave CHOP), would this work with instances? I have not had any luck there. The overall idea is based on a basic cycle, with offsets, lags, noise, etc. to vary up each copy. thanks Quote Link to comment Share on other sites More sharing options...
sam.h Posted June 16, 2011 Share Posted June 16, 2011 If you only want a little bit of variation then it might be better to cache out 10 or so animation cycles. On your particles store which cycle and which frame of the cycle to get, then you can instance an empty object onto the particles with a delayed load geometry shader and use the instancepoint() expression on the shader to load a certain bgeo on each instance... Does this make sense? Quote Link to comment Share on other sites More sharing options...
goshone Posted June 16, 2011 Author Share Posted June 16, 2011 thanks for the reply. Your suggestion does make sense. My initial approach was similar to this, but was one long cycle with variations within it. The issue I was encountering was related to the motion blur, and what happens to the blur when you try to speed up (or slow down) a geo sequence. I could store the point velocities in the geo when i write it to disk. Problem is if I speed up the cycle, I still have a relatively small blur for the action. If I use a trail sop to recalculate the blur, I end up getting this long exaggerated blur only in the direction of the points at that frame (see pic). I was unable to get rid of this, but a rigged wing will blur correctly, even when sped up considerably. Any thoughts on how to correct the blur problem, because that would be a lot simpler?? thanks Quote Link to comment Share on other sites More sharing options...
sam.h Posted June 16, 2011 Share Posted June 16, 2011 Would be much better with deformation blur, the delayed load shader takes a second bgeo which is the blur frame. Although, I don't think you could do more than 2 time samples with the delayed load thing, so the wings can't be moving super fast. Maybe for ones close to the camera you have a live rig and far away you have the delayed load thing.. Quote Link to comment Share on other sites More sharing options...
dangerweenie Posted December 15, 2011 Share Posted December 15, 2011 Hey, I'm working on something similar myself at the moment - did you ever find a good solution for randomizing the animation of the birds? Quote Link to comment Share on other sites More sharing options...
3dbeing Posted December 17, 2011 Share Posted December 17, 2011 (edited) Hatrick and I sorted this out, you may want to take a look, [Copy Stamp Channel Animation], pretty cool idea actually. And I think sam.h is right, the best way to go is only keep hero models live and delay read the rest, but with this copy stamp you can create your 10 versions of animation with 1 base animation... Edited December 17, 2011 by 3dbeing Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.