Are there any collision detection documentation available for the Java 3D
1.2 Alpha? I have been using the 1.2 Alpha collision detection, the
USE_GEOMETRY sometimes seems to produce unpredictable results. (I am using
the USE_GEOMETRY collision detection to detect collision between a 2000
faces and 1000 faces VRML model).
Any thoughts?
Regards,
Sunny Leung
> -----Original Message-----
> From: Doug Twilleager [SMTP:[EMAIL PROTECTED]]
> Sent: Friday, October 15, 1999 10:02 AM
> To: [EMAIL PROTECTED]
> Subject: Re: [JAVA3D] Type of collision detection
>
> This is a good summary of the 1.1.2 implementation. It is
> completely different in 1.2. There is no longer any collision
> thread.
>
> Doug Twilleager
> Java 3D Team
>
> > MIME-Version: 1.0
> > Content-Transfer-Encoding: 7bit
> > X-Priority: 3 (Normal)
> > X-MSMail-Priority: Normal
> > X-Mimeole: Produced By Microsoft MimeOLE V4.72.2106.4
> > Importance: Normal
> > X-MDaemon-Deliver-To: [EMAIL PROTECTED]
> > X-Return-Path: [EMAIL PROTECTED]
> > Subject: Re: [JAVA3D] Type of collision detection
> > To: [EMAIL PROTECTED]
> >
> > Sunny,
> >
> > I'm covering Java 3D collision detection in my book "Java 3D
> Programming".
> > The last chapter is titled "Java 3D System Architecture" and covers
> these
> > kind of topics. Here are some initial thoughts.
> >
> > Collision detection is implemented in a Thread called
> > "J3D-Collision-#instance".
> >
> > The Collision thread is created by the BehaviorScheduler. The
> > BehaviorScheduler is created in the VirtualUniverse constructor, so
> there is
> > one CollisionThread per VirtualUniverse.
> >
> > The CollisionThread is much like the other threads that Java 3D creates,
> > they are switched between waiting and notified using Object.wait() and
> > Object.notify() (to switch the threads on and off, so they are not free
> > running and chewing up resources).
> >
> > When the CollisionThread is notified (started) it iterates through the
> > Locales in the VirtualUniverse and traverses each of the top-level
> > BranchGroups in each Locale.
> >
> > Basically the Collision detection itself just walks down the scene tree
> > checking the bounds on each Group until it finds a Group that does not
> > intersect with the object it is currently checking (quick exit).
> Recursive
> > calls will be generated depending on the kinds of Nodes it hits (e.g. it
> > will follow Links etc.)
> >
> > The objects that it checks come from the Arming paths from all the
> WakeupOn*
> > behaviors that have been added to the scenegraph.
> >
> > If it hits a leaf node (e.g. Shape3D) it does this:
> >
> > [...]
> > if(shape3dretained.collisionBound == null)
> > renderobject.vwcBounds.getWithLock(targetBoundsBox);
> > else
> > renderobject.collBoundsVwc.getWithLock(targetBoundsBox);
> > if(targetBoundsBox == null || collidableobject.compareBounds
> ==
> > null)
> > return false;
> > boolean flag9 =
> > targetBoundsBox.intersect(collidableobject.compareBounds);
> > if(flag9)
> > {
> > if(collidableobject.boundsOrGeometry == 1)
> > if(collidableobject.geometry == null)
> > flag9 =
> >
> ((GeometryArrayRetained)shape3dretained.geometry.mirrorGeometry).intersect
> (r
> > enderobject.localToVWorld, collidableobject.compareBounds);
> >
> > [...]
> >
> > Which basically gets the bounds to the object, or generates bounds from
> > geometry (converted so they can be compared), and calls "intersect" on
> the
> > bounds of the collision object we are testing.
> >
> > When the traverse is done, the thread goes back to sleep with a call to
> > Object.wait()... maybe!.
> >
> > I'm no expert on collision detection, but this seems like a pretty
> "basic"
> > implementation from an algorithm point-of-view. I may also have missed
> some
> > complexity in the Java 3D code (I need to examine it some more), so
> > apologize all round if I have mis-stated anything. Please note that all
> this
> > is based on the current implementation of Java 3D.
> >
> > I hope this gives some insights, if not much help!
> >
> > Sincerely,
> >
> > Daniel Selman
> >
> > [EMAIL PROTECTED]
> > http://www.tornadolabs.com
> >
> >
> > -----Original Message-----
> > From: Discussion list for Java 3D API
> > [mailto:[EMAIL PROTECTED]]On Behalf Of Tony Burrows
> > Sent: 14 October 1999 15:34
> > To: [EMAIL PROTECTED]
> > Subject: Re: Type of collision detection
> >
> >
> > At 11:52 11/10/99 +1000, you wrote:
> > >Hi,
> > >
> > >Does anybody know what kind of collision detection routines are being
> > >implemented in the Java 3D collision detection behavior (i.e.,
> > >WakeupOnCollisionEntry(), WakeupOnCollisionExit() and
> > >WakeupOnCollisionMovement()).
> > >
> > >Many thanks,
> > >regards,
> > >Sunny Leung
> > >
> >
> >=========================================================================
> ==
> > >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".
> > >
> > >
> > I've seen nothing about it generally Sunny. There was a report some
> time
> > ago that it is running in a seperate, inaccessible, thread - but that's
> > been the only comment I've seen on it. There have been a lot of
> criticisms
> > about where it fails to work, so it wouldn't seem to be one of the
> standard
> > ones.
> >
> > I've heard, via the team who brought us VCollide, a rumour that there
> are
> > supposed to be teams in Japan and Australia working on a Java version of
> > this and another that a team is working on a Java version of VClip.
> >
> > Tony
> > Microsoft is not the answer.
> > Microsoft is the question.
> >
> > Avoid the Gates of Hell. Use Linux
> >
> >
> ==========================================================================
> =
> > 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".