hi people, there must be someone who knows how to implement a way of preventing walking through walls in a java3D virtual building. i've looked for collision detection/avoidance, but i need as simple a coded example as possible. i'm getting desperate now, i keep walking through walls and its awful to use like that. if anyone can send some code that prevents the view from moving through a loaded object using Keyboard navigation, it would be very useful and i'd by very grateful,
thanx in advance, joe ----- Original Message ----- From: "Kelvin Chung" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Friday, March 21, 2003 6:40 PM Subject: Re: [JAVA3D] SetCoordinates or setCoordRef3f ?? Which one updates the vertex faster ?? > Jefferson Samuel wrote: > > >Hello All, > > > >All the Shape3D's in my scene are created in GeometryArray By-Ref mode. > > > >Note in Java3D API: Class Behavior > >"Modifications to geometry by-reference or texture by-reference > >are not guaranteed to show up in the same frame as other scene graph changes." > > > >1. Are there any workaround for this problem > >other than using GeometryArray.setCoordinates to update the vertex? > > > > Current implementation in v1.3 and v1.3.1 beta1 has 1 frame delay for > geometry attributes (vertex/normal etc..) update (both by-ref and non > by-ref). > However for Transform, Appearance attributes and others update, > it has 2 frame delay. > > If you would like to sync. geometry update with Transform3D/Appearance > attributes. A a way to workaround is adding a global wakeupOnBehaviorPost() > behavior (for all geometry in scene graph) to the scenegraph with higher > schedulingInterval priority then all others. > > Whenever any geometry modification take place such as setCoordinates(), > setColor() etc. this action is encapsulated in a message and put in > a global MessageQueue, follow by postId() to wakeup the new behavior > in the next frame. In the next frame the new behavior process the message > queue and empty it. Other behaviors, which run after it will again put the > request in this MessageQueue. In this way the geometry modification will > appears to delay 2 frames which sync. correctly with transformation. > > > > >Most of the Java3D demo programs show how to have > >Behavior wakeup when specific AWT events like KeyEvent or MouseEvent occurs. > > > >2. I wish to have a Behavior wakeup when a > >JMenuItem is selected from the Menubar.Should I try capturing ItemEvent?? > >Please help me with a sample code if possible? > > > > > You can capture the ItemEvent and use behavior postId() to wakeup > another behavior in scenegraph. > > > > >3. When I used WakeupOnElapsedFrames(0) or WakeupOnElapsedTime(100) as a > >WakeupCriterion in my custom behavior I found a lot of drain in the > >animation speed on a passage of time. Please give ur insite on this. > > > > > > > > > There is lots of discussion about the accuracy of WakeupOnElaspedTime, > please > search the archive. > > Thanks. > > - Kelvin > --------------- > Java 3D Team > Sun Microsystems Inc. > > =========================================================================== > 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".
