I'm trying to write a particle system where the particles will collide with
other geometry in the scene. So far I've only become frustrated.....

I can get collisions to work in general, (Tick-Tock example etc...) but when
you start trying to incorporate that method into a particle system the
overhead becomes terribly inefficient.

In my particle system, each particle is an object which extends Point3d and
contains all the motion methods to calculate it's direction, speed, color
etc.... To place them in the scene the coordinates and colors are extracted
from the array of "Particles" and placed into a simple PointArray which is
passed into the scene. Doing this makes the actual scene very simple and
clean. The animation loop calls each Particle's update method and the
particles recalculate their position and color. Once all the calculating is
done, the PointArray is updated and re-rendered into the scene.

The problem is that from what I can tell about how to set up collisions each
object which needs to know if it's in a collision or not must be part of
it's own Group. So in my case each "Particle" becomes a PointArray
containing only one point which is the geometry for a Shape3D, then part of
a transform group. Then ALL of these transform groups (one for every
"Particle") are added to the scenegraph. Also, NOW to move a particle and
keep the collisionSchedualingBounds and all at the same location, you can no
longer just change the coordinates of the Point3d, you have to move
everything by changing the Particle's Transform3D translation.

I think you can see my point, this will never work with a large number of
particles. (even doing it that way with a few (5-10), my application locks
up)

Does someone have a pointer to a tutorial or information which better
explains, in detail, how Java3D's collision works? The API docs, and the
Java3D tutorial don't really go into enough detail to really understand it.

I really don't want to have to write a whole new collision detection routine
from scratch. I'm hoping I may be able to extend the existing collision
related classes, but I'll need a better understanding of what they do, and
how they work.

Thanks
Don Casteel

Manufacturing Engineer
TEXTRON Automotive Company -- Athens Operations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        Voice:  (423)744-1109
        Fax:    (423)744-1112
        Pager:  (423)744-1129  -- 109
                Internet:       [EMAIL PROTECTED]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to