Classes and Structs
Name | Description |
---|---|
interactable_component |
Used to handle general interaction. |
tag_component |
Used to add tags to an entity. Tagged entities can then be queried using
|
capsule_light_component |
A |
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:
|
particle_system_component |
Used to spawn a Dependencies:
|
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. |
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 |
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:
OnInitialized
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_origin |
class to provide alternative origin to the 'transform_component' as an entity |
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 |
Users to subscribe to, or await on, a DeltaTime based callback from one of the phases in a component's IMPORTANT: You must keep a pointer on your component to the returned |
execution_event |
Used to subscribe a callback or await an event based callback ' IMPORTANT: You must keep a pointer on your component to the returned |
Interfaces
Name | Description |
---|---|
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 |
Functions
Name | Description |
---|---|
MakeCollisionProfile |
Create a collision_profile. See the collision_profiles module. |
Enumerations
Name | Description |
---|---|
collision_interaction |
Specifies how a collision volume pair should interact. See collision_profile. |