(Deprecated) openvr_controller_setup¶
Deprecated. See “Implementation of a custom device interaction”, “Print the current finger position on the touchpad”, “Define and use virtual buttons on the touchpad of a VR controller” instead.
snippets/openvr_controller_setup.py¶
1# © 2024 Autodesk, Inc. All rights reserved.
2
3# Deprecated. See vr/customInteraction.py, vr/printTouchparPosition.py, vr/virtualControllerButtons.py instead.
4def trigger0Pressed():
5 controller0.setPickingAxis(0)
6 controller0.showPickingAxis(true)
7
8def trigger0Released():
9 pickedNode = controller0.pickNode()
10 selectNode(pickedNode)
11 controller0.showPickingAxis(false)
12
13def grip0Pressed():
14 selectNode(getSelectedNode(), false)
15
16def grip0Released():
17 print("grip0Released")
18
19def touchpad0Pressed():
20 print("touchpad0Pressed")
21
22def touchpad0Released():
23 print("touchpad0Released")
24
25def touchpad0PositionChanged(position):
26 print("touchpad0PositionChanged")
27
28def controller0Moved():
29 if controller0.isTouchpadPressed():
30 leftNode = findNode("MatrixLeft")
31 leftNode.setTransformMatrix( controller0.getWorldMatrix(), false)
32
33def trigger1Pressed():
34 controller1.setPickingAxis(1)
35 controller1.showPickingAxis(true)
36
37
38def trigger1Released():
39 pickedNode = controller1.pickNode()
40 selectNode(pickedNode)
41 controller1.showPickingAxis(false)
42
43def grip1Pressed():
44 selectNode(getSelectedNode(), false)
45
46
47def grip1Released():
48 print("grip1Released")
49
50def touchpad1Pressed():
51 print("touchpad1Pressed")
52
53
54def touchpad1Released():
55 print("touchpad1Released")
56
57def touchpad1PositionChanged(position):
58 print("touchpad1PositionChanged")
59
60def controller1Moved():
61 if controller1.isTouchpadPressed():
62 rightNode = findNode("MatrixRight")
63 rightNode.setTransformMatrix( controller1.getWorldMatrix(), false)
64
65##
66## Create two controller and connect their signals to functions as needed
67##
68
69controller0 = vrOpenVRController("Controller0")
70controller0.connectSignal("controllerMoved", controller0Moved)
71controller0.connectSignal("triggerPressed", trigger0Pressed)
72controller0.connectSignal("triggerReleased", trigger0Released)
73controller0.connectSignal("gripPressed", grip0Pressed)
74
75
76controller1 = vrOpenVRController("Controller1")
77controller1.connectSignal("controllerMoved", controller1Moved)
78controller1.connectSignal("triggerPressed", trigger1Pressed)
79controller1.connectSignal("triggerReleased", trigger1Released)
80controller1.connectSignal("gripPressed", grip1Pressed)
81
82
83##
84## Optional connect more signals
85##
86#controller0.connectSignal("gripReleased", grip0Released)
87#controller0.connectSignal("touchpadPressed", touchpad0Pressed)
88#controller0.connectSignal("touchpadReleased", touchpad0Released)
89#controller0.connectSignal("touchpadPositionChanged", touchpad0PositionChanged)
90#controller1.connectSignal("gripReleased", grip1Released)
91#controller1.connectSignal("touchpadPressed", touchpad1Pressed)
92#controller1.connectSignal("touchpadReleased", touchpad1Released)
93#controller1.connectSignal("touchpadPositionChanged", touchpad1PositionChanged)
94
95##
96## In case the scene origin is not located at 0,0,0 you may set a reference origin instead
97##
98setOpenVRTrackingOrigin( Pnt3f(0.0, 0.0, 0.0))