Classes and Structs
| Name | Description |
|---|---|
basic_interactable_component |
An interactable component with a composable feature set. |
interactable_component |
Used to handle general interaction. |
interactable_cooldown |
Used to set a cooldown when interacted. |
interactable_cooldown_per_agent |
Used to set a cooldown per agent when interacted. |
interactable_duration |
Used to set an interaction duration. |
interactable_success_limit |
Used to set a limit of times to interact. |
camera_body |
Camera body settings, e.g. sensor/film settings, shutter speed, etc |
camera_component |
Represents the physical body, lens of the camera and other cinematographic qualities, such as sensor size, aspect ratio lock/constraint, focal length, focus distance, post-process settings, etc. |
camera_director_component |
Responsible for selecting a camera and blending when the active camera changes. The execution of the camera director is split into multiple layers.
Since a camera_director_component is a camera_component, camera directors can be nested. If the active camera is a camera director, then each layer of the entire active camera system will be evaluated in order. The entire Pre-Camera layer of all directors will evaluate, starting with the outermost director. The active camera of the innermost director will then evaluate, followed by any modifiers on the Main layer of the camera_director_component (the CameraModifiers modifier stack we inherit from camera_component). The entire Post-Camera layer of all directors will evaluate, starting with the outermost director. The entire Presentation layer of all directors will evaluate, starting with the outermost director. |
camera_lens |
Camera lens settings |
camera_modifier_stack |
Modifier stack for camera state. |
camera_modifier |
Base class for objects that can modify camera state.
You can also implement the modifier(camera_state) interface directly, but camera_modifier provides an convenient, overridable Tick function for modifiers that need to maintain state (since Evaluate is |
camera_state |
|
camera_transition |
Controls how a camera mode transitions to another |
camera_mode_blend |
Configurable blend between two camera modes |
camera_mode_blend_pop |
Instantly snap to target mode |
camera_mode_blend_linear |
Linear blend between camera modes |
camera_mode_blend_smoothstep |
Camera mode blend that uses the smoothstep function to blend between the two camera modes |
camera_mode_blend_smootherstep |
Camera mode blend that uses the smootherstep function to blend between the two camera modes |
camera_mode_blend_orbit |
Configurable blend between two camera modes |
orthographic_camera_component |
Simple orthographic camera. |
perspective_camera_component |
Simple perspective camera. |
physical_camera_component |
Camera that is physically based, determining its view properties in a manner more consistent with a physical camera |
skeletal_animation |
A modifier of skeletons, used to animate meshes using skeletal animation |
play_skeletal_animation_result |
|
skeleton |
Skeletons are collections of bones & sets/chains |
easing_window |
An easing function combined with a relative time window |
capsule_light_component |
A |
collision_channel |
Every volume has a collision channel as part of its collision_profile. It is used to determine how two volumes interact. See collision_profile. |
collision_profile |
A collision profile determines how a volume interacts with other volumes for Overlap queries, Sweep queries, and physics simulation. When two volumes are being tested to see how they interact, the algorithm looks like this: GetInteraction(A:collision_profile, B:collision_profile):collision_interaction = InteractionA = B.GetChannelInteraction(A.Channel) InteractionB = A.GetChannelInteraction(B.Channel) return Min(InteractionA, InteractionB) |
overlap_hit |
The results of an overlap query. See entity.FindOverlapHits(). We will get one overlap_hit for each intersection of any volume in SourceVolumes with any other volume. |
sweep_hit |
The results of a sweep query. See entity.FindSweepHits(). We will get one sweep_hit for each intersection of any volume in SourceVolumes with any other volume. |
collision_volume |
Collision Volumes represent the collision shapes of meshes. They can be detected by Overlap and Sweep queries and generate collisions in the physics simulation. |
collision_element |
Base class for collision_volumes that consist of a single volume with a single collision_profile and collision_material for the whole volume. This covers most volume types used in queries and physics, except compound types like a mesh. A query will always return an element rather than a general volume. For example when colliding with a mesh, the element will be a collision_triangle, which is a collision_element and has a single material, rather than a collision_triangle_mesh, which is not an element and has a material palette. |
collision_capsule |
A collision capsule aligned along the Z axis. |
collision_sphere |
A collision sphere. |
collision_point |
A collision point. |
collision_box |
An axis-aligned collision box. |
component_handle(t) |
Refers to a component of type |
directional_light_component |
A |
light_component |
Base class for light components in the SceneGraph. Dependencies:
Examples of components implementing
|
mesh_component |
Used to render a
Dependencies:
|
mesh_part_handle |
Refers to the mesh_component and optional mesh_part at one end of a sweep_hit, overlap_hit or collision_hit, without granting access to them. |
particle_system_component |
Used to spawn a Dependencies:
|
possessable_component |
Marks an entity that can be possessed by an agent. |
rect_light_component |
A |
sound_component |
|
sphere_light_component |
A |
spot_light_component |
A |
float_range |
A range with a minimum and maximum value. For a value to fall inside of this range, the min value must be less than or equal to the max value. |
component |
Base class for authoring logic and data in the SceneGraph. Using components you can author re-usable building blocks of logic and data which can then be added to entities in the scene. Components are a very low level building block which can be used in many ways. For example:
As components are generic there is no specific way that they must be used. It is up to the needs of your experience if you use one big game component or if you break up logic into many small components. Classes deriving from component must also specify Only one instance of a component from each subclass group can be added to an entity at a time. For example, given this group of components, only one light_component can exist on a single entity. To create multiple lights you should use multiple entities. light_component := class ============================================================================== Component Lifetime Components move through a series of lifetime functions as they are added to entities, added to the scene, and begin running in the simulation. Components should override these methods to perform setup and run their simulation. As a component shuts down it will then move through shutdown version of these
functions, giving users the opportunity to clean up any retained state on the
component before it is disposed
.
Lifetime Methods:
OnAddedToScene
OnBeginSimulation -> OnSimulate |
entity |
Entities are the base object in the SceneGraph.
In the SceneGraph system a class that derives from While you can create base prefabs for common game object types like a vehicle or character, we highly recommended that you do not add code directly to the entity class, and instead keep logic in components. Keeping logic and data in components allows you to restructure your prefabs throughout production of your experience, without needing to massively refactor your class structure. |
entity_prefab |
Reference type to editor defined prefab. Only generated digest code should reference this type. |
entity_handle |
Refers to an entity without granting access to it. |
icon_component |
Component that holds an icon for an entity. |
entity_origin |
class to provide alternative origin to the 'transform_component' as an entity |
rarity |
Rarity may be used by gameplay and presentation systems to classify and rank things. |
common_rarity |
|
uncommon_rarity |
|
rare_rarity |
|
epic_rarity |
|
legendary_rarity |
|
rarity_component |
Component that denotes the rarity of an entity. |
stackable_component |
A component that when attached to an entity allows for it to merge or 'stack' with other entities with compatible components. |
change_stack_size_result |
|
change_max_stack_size_result |
|
basic_stackable_component |
|
tick_events |
Describes discrete phases of a frame update. Subscribe to members of the tick_events object to run code before or after the physics system has updated your object, allowing you to affect or react to these updates. |
transform_component |
Stores the transforms for an entity, which are used to position the entity. |
execution_listenable |
Verse path: /Verse.org/SceneGraph
Users to subscribe to, or await on, a DeltaTime based callback from one of the phases in a component's |
Interfaces
| Name | Description |
|---|---|
easeable |
Interface used to trigger easing behaviors |
scene_event |
An event which can be sent through the scene graph. |
origin |
Interface to provide alternative origin to an entity which is defaulted to its parent. See |
has_merge_rules |
Merge Rules Interface. Implemented by components that want to participate in entity mergeability checks. |
Functions
| Name | Description |
|---|---|
CloneCameraBody |
Constructor that clones an existing camera_body. Useful for writing camera modifiers as it makes it easier to create a camera_body that is a copy of another with some values modified. |
CloneCameraLens |
Constructor that clones an existing camera_lens. Useful for writing camera modifiers as it makes it easier to create a camera_lens that is a copy of another with some values modified. |
CloneCameraState |
Constructor that clones an existing camera_state. Useful for writing camera modifiers as it makes it easier to create a camera_state that is a copy of another with some values modified. |
component_handle |
Refers to a component of type |
Enumerations
| Name | Description |
|---|---|
camera_projection_mode |
camera_transition_initial_orientation |
Controls how a camera mode transitions to another |
entity_streaming_policy |
Verse path: /Verse.org/SceneGraph Entity client streaming modes |
children_streaming_policy |
Child entities client streaming modes |
collision_interaction |
Specifies how a collision volume pair should interact. See collision_profile. |