Camera fixed object 2¶
To move a geometry with the camera, set the transformation of the geometry’s parent node to the camera transformation in each frame.
For another way to move an object with the camera, see “Camera fixed object 1”.
camera-fixed-object2.py¶
1# © 2024 Autodesk, Inc. All rights reserved.
2
3print("Executing demo script!")
4
5newScene()
6
7# define class that calls a render update every frame
8class CameraUpdate(vrAEBase):
9 def __init__(self, camera_node, camera_transform):
10 vrAEBase.__init__(self)
11 self.camera_node = camera_node
12 self.camera_transform = camera_transform
13 self.addLoop()
14 def recEvent(self, state):
15 vrAEBase.recEvent(self, state)
16 def loop(self):
17 if self.isActive():
18 camera_matrix = self.camera_node.getWorldTransform()
19 self.camera_transform.setTransformMatrix(camera_matrix, false)
20
21loadGeometry("$VRED_EXAMPLES/geo/teddy.osb")
22updateScene()
23calcVertexNormals()
24enableHeadlight(true)
25ignoreAutoHeadlight()
26
27obj = findNode("Teddy_Bear");
28obj.makeTransform()
29obj.setTranslation(0, 0, -200)
30
31camera_transform = createNode("Transform", "CameraTransform")
32obj.getParent().addChild(camera_transform)
33camera_transform.addChild(obj)
34
35camera_update = CameraUpdate(getCamNode(0), camera_transform)
36camera_update.setActive(true)