SceneObject

In Torque3D, SceneObject is the base class for all objects that exist in a 3D scene. It provides a number of features and functions that can be used to create objects with specific behaviors and characteristics.

What is a SceneObject?

A SceneObject is a type of object in Torque3D that represents a 3D object in a scene. It is the base class for all objects that exist in a scene and provides a number of features and functions for controlling the position, orientation, and other properties of objects.

Features of SceneObjects

SceneObject objects have several key features, including:

  • Position and orientation: The SceneObject class provides properties for controlling the position and orientation of objects in the scene. This allows you to control the position of objects relative to one another and determine how they are facing.

  • Transformation: The SceneObject class provides functions for transforming objects in the scene, including translation, rotation, and scaling.

  • Collision detection: The SceneObject class provides functionality for detecting collisions between objects in the scene. This allows you to create objects that can interact with one another in meaningful ways.

  • A scene graph (in the Zones and Portals sections), allowing efficient and robust rendering of the game scene.

  • Various helper functions, including functions to get bounding information and momentum/velocity.

  • Lighting: SceneObjects can register dynamic lights at runtime (for special effects, such as from flame or a projectile, or from an explosion), or scene lighting such as the sun.

Using SceneObjects

To use a SceneObject in Torque3D, you need to create an instance of the SceneObject class, either through script or through the Torque3D World Editor. While you cannot create a SceneObject directly, all spawnable object types are derived from SceneObject and can be used similarly. Once you have a SceneObject object, you can use its properties and functions to control its behavior and characteristics.

For example, to set the position of a SceneObject in the scene, you can use the setPosition method, as follows:

%object.setPosition(%x, %y, %z);

where %object is the SceneObject object, and %x, %y, and %z are the x, y, and z coordinates of the object's position.

To rotate a SceneObject in the scene, you can use the rotation variable, as follows:

%object.rotation = %x SPC %y SPC %z SPC %angle;

where %object is the SceneObject object, and %x, %y, and %z are the x, y, and z rotation axis for the object, and %angle is the applied angle on the axis.

Last updated