PDA

View Full Version : instanced Rigid bodies


fred22
09-15-2003, 11:01 AM
Can I instance particles so each object will collide as its own shape. e.g. balls boxes and cones all colliding with a wall but coming from an emitter.

-yhanks

zachgrachan
09-16-2003, 05:27 AM
I think what you're looking for is the Instancer (Replacement) tool. Create emitter, select particle object, Particles>Instancer options, add desired objects to the list (and I think you have to remove the particle object from the list) and hit ok.

Maximus_5610
09-16-2003, 06:25 AM
The problem with using Instanced Geometry is that each particle will not calculate its own individual rigid body simulation. Each particle will simply inherit the rotation values of the instanced geometry.
For example, if a cube with rigid bodies is connected to a gravity field and falls onto a passive rigid body plane, the cube will bounce around on the plane (due to the rigid body simulation). If you were then to use this cube as Replacement geometry for particles, each new particle will simply rotate as the rigid body cube rotates. Even if the particles are set to 'Make Collide' with the plane. They will still just bounce up and down off the plane, and rotate with the rotations of the reference cube.
They will not calculate independent rigid body simulations for each particle. Which is what Fred is after.
Pretty confusing 'ey!
My teacher mentioned something about generating new geometry on each collision event and applying rigid bodies to it. Though i dont know MEL well enough to even begin working out how to do that.
Anyone got any ideas ?? :shrug:

zachgrachan
09-17-2003, 01:22 AM
for simple primitives, you could use a particle collision event to create geometry. At the bottom of the collision event window there's a spot for custom procedures. That might do what you want.

fred22
09-17-2003, 11:39 AM
You need a particle for your object to be instanced to.

A collision event would have to duplicate the object and rigid body each time there was a collision maybe.

I think maybe Matt that it depends on what it is you want to do. If its say exploding bits of debris then each piece would have to bit allocated a rigid body simulation.

As for say small debris as a result of a crash like chunks of rock the actual size would allow you to get away with instancing and using the particle built in dynamics.

From what I can tell flocking simultaion using particles often fakes dynamics by telling a particle what to do when a situation arises like going near anopther object or particle which is somewhat relvant to the topic.

Concept4
09-18-2003, 05:08 AM
Hi fred, I did exactly what you're trying to do several months ago. What I did was duplicate the object to be instanced and converted it to an active rigid body upon collision(particle). Each particles runtime expressions would move the object duplicated to it. I used the particle's velocity right before it collided as the initial values for the active rigid body. Another thing was I had to offset the particle from the center of the object so the object doesnt go through the surface its coliding with. I did this by normalizing the velocity of the particle and subtracting it from the duplicated object's translation.
Not sure if all that makes sense to you but I hope so. lol

;p

--Ronnie

CGTalk Moderation
01-16-2006, 02:00 AM
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.