SteveSayer

SteveSayer

About Me

Connect

LOCATION
Not Specified
WEBSITE

Houdini Skills

Availability

Not Specified

Recent Forum Posts

Dynamic arrows sticking into moving geo. Jan. 26, 2016, 11:26 a.m.

Thanks, Rob. I appreciate the suggestions.

I'd like to avoid having to have separate emitters or particle objects per type of impact surface–sounds like a labour-intensive setup, and I need to implement this for multiple shots.

The scatter/attrib transfer approach you suggest sounds promising. However I'm still a bit unclear about how I'd continuously update the orientation while preserving the original angle of impact. If one arrow strikes a poly parallel to the normal, while another strikes the same poly at a 45-deg angle, they'd have to update differently… but how to transform that impact vector along with the movement of the collider?

I've actually made good progress with my second approach: I managed to set up a SOP Solver node to copy a point into a geometry container at each moment of impact. Those points persist and, since they're being created in a SOP that is riveted to the shield animation, they update their orientation automatically and correctly. Then I just copy the arrow geo on to them, and kill off the original colliding particles that created them.

Thanks again for weighing in!

Dynamic arrows sticking into moving geo. Jan. 25, 2016, 3:04 p.m.

Hi, folks.

I need to set up a simulation where dynamically-generated arrows fly, then collide with a deforming surface and stay stuck to that surface (shields carried by moving
soldiers). Importantly, the arrows should NOT just align along the prim normal on collision; they should protrude at the angle at which they collided.

This is a topic that's come up before, but I haven't been able to find a satisfactory answer about it. Some suggestions don't quite hit all the elements I need; some are for older versions of Houdini and so might not be as relevant/accurate (I'm on H14).

The approaches I've considered are:
1. Particle-based arrows that stick. It's easy enough to copy arrow geo onto a particle sim, and have the particles stick to the collisions surface. However, then the particles have to start inheriting the orientation of the collision prim as it continues to move. This could be handled two ways:
The collision geo is deforming. In this case I'll somehow have to calculate how the collision prim has transformed from the moment of impact to the current time.
The collision geo is transforming. In this case I'd use rivets to attach non-deforming stand-in geo to the moving collision objects (which don't change shape). Not ideal, but it might make it easier to work with the orientation values?
2. Particle-based arrows that create geo. Having already grown sick of the mathematical jungle of quaternions, matrices, and dihedrals, I wondered if a better approach might be to make each particle spawn some geo in the colliding object's network instead (presumably using a SOP Solver?) , then die. This would hopefully eliminate the need to continuously update orientation.

3. RBD-based arrows with constraints. Moving away from particles altogether, I wondered about using simple Bullet geo for the arrows, and dynamically creating constraints to pin them to the shields when they impact. An advantage of this method would be that it would allow realistic stick-like collisions and bounces for loose arrows–something particles can't really do.

If anyone has any thoughts about which of these methods is most promising, or has any specific advice about how to implement them, I'd be extremely grateful to hear. Thanks in advance!