#1
|
|||
|
|||
Link only one Axis
Hello,
I want to link the orientation of an mySensor with a node (box). In my example I link the node with the MainView. Furthermore, I want to link the orientation of my sensor (src) with the node (dst) too. But not all axis, like in my example, I want to link only the orientation of the Y-axis of mySensor. Is this possible? Code:
import viz viz.go() box = viz.add('box.wrl', pos=[0,0,0]) plan = viz.add('tut_ground.wrl') mySensor = viz.add( 'testtrack_all.dls' ) link = viz.link(viz.MainView, box, mask=viz.LINK_POS|viz.LINK_ORI) link.postTrans([0,0,6]) viewLinkOp = link.preMultLinkable(mySensor, target=viz.LINK_ORI) |
#2
|
|||
|
|||
Hi Andy,
Is this the effect which you want? Code:
import viz viz.go() box = viz.add('box.wrl', pos=[0,0,0]) plan = viz.add('tut_ground.wrl') mySensor = viz.add( 'testtrack_all.dls' ) link = viz.link(mySensor, box, mask=viz.LINK_ORI) link.preScale([1,0,0], target = viz.LINK_ORI_OP) viewLink = viz.link(link, viz.MainView) |
#3
|
|||
|
|||
In part, now affected mySensor also on the MainView, that shouldnt‘ be. The orientation of mySensor (y-axis) should additional affected only on the linked box.
Any idea? |
#4
|
|||
|
|||
You can just comment out the last line of the script.
|
#5
|
|||
|
|||
Yes I know but I want to link the MainView to the box node. The y orientation link of mySensor should be added like the ‘preMultLinkable’ function realize this.
|
#6
|
|||
|
|||
Is there no solution for my problem?
- Filter a pre-multiply linkable operator so that only one axis of the pre-multiply-node takes an effect on the main link, like "target = viz.LINK_ORI_Y" |
#7
|
|||
|
|||
You want the position/pitch/roll of the box based on the viewpoint and the yaw of the box based on the sensor, correct?
If that's the case you could manually update the box orientation every frame in a function registered with vizact.onupdate: Code:
import viz import vizact viz.go() box = viz.add('box.wrl', pos=[0,0,0]) plan = viz.add('tut_ground.wrl') mySensor = viz.add( 'testtrack_all.dls' ) link = viz.link(viz.MainView, box, mask=viz.LINK_POS) link.postTrans([0,0,6]) def updateOri(): yaw = mySensor.getEuler()[0] pitch = viz.MainView.getEuler()[1] roll = viz.MainView.getEuler()[2] box.setEuler([yaw,pitch,roll]) vizact.onupdate(0,updateOri) |
#8
|
|||
|
|||
Thanks it works
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
How to pass only 1 axis of the position signal from the source to the dest in a LINK? | Zhi | Vizard | 2 | 04-04-2013 08:28 AM |
How can I link MainView with HMD and a 3d node? | Salvar | Vizard | 5 | 03-22-2011 09:14 PM |
Link MainView to instable platform | sleiN13 | Vizard | 2 | 01-10-2011 01:33 AM |
Remove link and have object drop/collide? | cgibb | Vizard | 6 | 03-02-2010 05:18 PM |
Object rotating around world axis, not own axis | tacbob | Vizard | 1 | 02-15-2007 10:12 AM |