The particle-to-particle interaction is handled in a particle manager as you
suggest. Unfortunately, my particles do have to collide with other geometry
in the scene. :(
Thanks for the pointer, I hadn't considered using Picking, I'll have to take
a look at it.
Don
-----Original Message-----
From: Shawn Kendall [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, May 10, 2000 11:11 AM
To: [EMAIL PROTECTED]
Subject: Re: [JAVA3D] Particle Collision?
For a particle system such as you have described, you will need to write
your
own particle-to-particle collision routines and have them executed by a
Particle Manager or other. Using a simple distance calculation (bounding
sphere) this should be no problem. If you need the particles to be able to
collide with other geometry in the scene, that's another problem. You would
have to use the Picking utils for each particle to the rest of the scene.
That's slow and expensive on ANY 3D system. :-(
Good Luck.
"Casteel, Don" wrote:
> 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".
--
__________________________________________________________
Shawn Kendall Full Sail Real World Education
Course Director 3300 University BLVD
Real Time 3D for Gaming Winter Park FL 32792
[EMAIL PROTECTED] http://www.fullsail.com
__________________________________________________________
===========================================================================
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".
===========================================================================
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".