|
#1
|
|||
|
|||
CAVE, navigation, tracked wand, coordinate systems
I have Vizard running on two walls of a CAVE. Head-tracking is working perfectly, and I can use a tracked wand to point and fly around. Here's a code fragment to indicate what I've done so far:
Code:
# SyzygyTracker subclasses viz.VizNode+viz.EventClass viewtracker = SyzygyTracker( service, matrixIndex=0 ) # Ditto for SyzygyNagivator navTracker = SyzygyNagivator( service, matrixIndex=1, xIndex=0, zIndex=1, speed=1. ) # Create and configure a Cave object cave = vizcave.Cave() makeCAVE( cave ) # Attach the head tracker cave.setTracker( pos=viewtracker, ori=viewtracker ) # Attach the navigation (wand) tracker. caveorigin = vizcave.CaveView( viewtracker ) navLink = viz.link( navTracker, caveorigin ) Code:
wandTracker = SyzygyTracker( service, matrixIndex=1 ) wandRender = viz.add('box.wrl') wandRender.setScale( .02, .02, 2. ) wandLink = viz.link( wandTracker, wandRender ) Thanks, -Jim |
#2
|
|||
|
|||
Have you tried setting the cave origin as the parent of the wand object?
Code:
wandRender = viz.add('box.wrl',parent= caveorigin) |
#3
|
|||
|
|||
Not quite, I'm afraid. That is, it may be mathematically correct, but when I set parent=caveorigin, the node's drawImplementation() never gets called (determined by substituting a Python custom node for the Box.wrl).
|
#4
|
|||
|
|||
What version of Vizard are you running? In older versions, nodes parented to CaveOrigin objects would not be rendered, but this should be fixed in newer versions.
|
#5
|
|||
|
|||
3.13.0002. Too old?
|
#6
|
|||
|
|||
I believe the fix appeared in version 3.14, so you are one version too old. We just released 3.15 last week. Click on Help -> Check for updates in the Vizard menu and it should take you to a download link for the latest version.
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
navigation in cave environment | Andy | Vizard | 4 | 03-28-2008 02:32 AM |