The collsion detector does do a bounds based prune before doing the geometry
intersects. Also, collsion queries are based on all geometries in the scene
graph. They are not limited to whats in the view frustum.
Collision in 1.1.* is not very efficient, but these are not the reasons. :^)
Doug Twilleager
Java 3D Team
> MIME-Version: 1.0
> Subject: Re: [JAVA3D] Optimising collision detection in J3D
> To: [EMAIL PROTECTED]
>
> Matthew,
>
> I don't think so, I think the USE_GEOMETRY mode perform a face by face
> comparision of all faces in the virtual universe (or faces which are within
> the activation volume of the scene). That's why j3d collision detection is
> so slow.
>
> Sunny
>
> -----Original Message-----
> From: Matthew Pocock [mailto:[EMAIL PROTECTED]]
> Sent: Monday, July 26, 1999 10:28 PM
> To: [EMAIL PROTECTED]
> Subject: Re: [JAVA3D] Optimising collision detection in J3D
>
>
> I kind-of assumed that if you said USE_GEOMETRY that the collision engine
> would
> do an initial sweep using a realy stupid spherical bounds model, discard
> every
> pair that are clearly not colliding, and then perform the clever, accurate
> geometry collision test. Am I wrong?
>
> "Leung, Sunny" wrote:
>
> > Hi Justin,
> >
> > Thanks for your response to my question in J3D interest group.
> >
> > I have tried the USE_BOUNDS method in the collision constructor instead of
> > the USE_GEOMETRY parameter. Although the speed has increase significantly
> > from the 8mins to 14sec., the accuracy of such method is unacceptable. Is
> it
> > possible to setup a CollisionBounds around an object using its shape3d
> > information (vertices information).
> >
> > Instead of separating collidable and non-collidable objects in the
> > scenegraph. Is it possible to instruct the collision detection node to
> only
> > perform collision detection within a certain radius (volume) around an
> > object. For example, if there is no objects within a 2 meters radius of a
> > particular object (Object A), the collision detection will not be
> activated.
> > If another object (Object B) is within the 2m radius of Object A, the
> > collision detection node will activate and detect any possible collision
> > between Object A and parts of Object B which are within the 2m radius of
> > Object A.
> >
> > If the above approach is possible, it will greatly reduce CPU time (even
> in
> > USE_GEOMETRY mode) and at the same time maintain high level of accuracy.
> >
> > Please comments.
> >
> > cheers,
> > Sunny Leung
> >
> > -----Original Message-----
> > From: Justin Couch [mailto:[EMAIL PROTECTED]]
> > Sent: Monday, July 26, 1999 1:14 PM
> > To: [EMAIL PROTECTED]
> > Subject: Re: [JAVA3D] Optimising collision detection in J3D
> >
> > Leung, Sunny wrote:
> >
> > > So is it possible to tell the collision detection node to detect
> collision
> > > only within a certain radius (volume) around the object which the node
> is
> > > attached onto?
> >
> > There are two things that you need to do. Firstly, for any objects that
> > you _don't_ want to collide with, you turn collision detection off using
> > setCollidable(false) defined in Node. The easiest way to do this is
> > partition the scene graph into two groups - collidable and not
> > collidable areas. Then, the parent group of all the not collidable stuff
> > you setCollidable(false). This then works for all children of the group
> > so that you don't need to explicitly set it.
> >
> > Next, you set the bounds for the objects you do want to collide with
> > using the setCollisionBounds method of the parent group of the
> > collidable object (defined in the Group class). If you want a spherical
> > bounds for your object use BoundingSphere as the object that you set.
> >
> > Finally, when constructing your behaviour criterion, make sure you set
> > it with the Node and the speed hint of USE_BOUNDS. I think you can also
> > use the constructor that takes the Bounds reference and it automatically
> > uses the USE_BOUNDS speed hint, but the docs aren't particularly clear
> > on this.
> >
> > --
> > Justin Couch Author, Java Hacker
> > Snr Software Engineer [EMAIL PROTECTED]
> > ADI Ltd, Systems Group http://www.vlc.com.au/~justin/
> > Java3D FAQ: http://tintoy.ncsa.uiuc.edu/~srp/java3d/faq.html
> > -------------------------------------------------------------------
> > "Look through the lens, and the light breaks down into many lights.
> > Turn it or move it, and a new set of arrangements appears... is it
> > a single light or many lights, lights that one must know how to
> > distinguish, recognise and appreciate? Is it one light with many
> > frames or one frame for many lights?" -Subcomandante Marcos
> > -------------------------------------------------------------------
> >
> >
> ===========================================================================
> > 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".
>
> ===========================================================================
> 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".
===========================================================================
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".