# Sandbox.SceneModel

A model scene object that supports animations and can be rendered within a [Sandbox.SceneWorld](/api/Sandbox.SceneWorld).

- Kind: class
- Namespace: `Sandbox`
- Assembly: `Sandbox.Engine`
- Inherits: [Sandbox.SceneObject](/api/Sandbox.SceneObject)
- Modifiers: sealed

## Constructors

- [`SceneModel`](/api/Sandbox.SceneModel/.ctor)

## Properties

- [`AnimationGraph`](/api/Sandbox.SceneModel/AnimationGraph)
- [`CurrentSequence`](/api/Sandbox.SceneModel/CurrentSequence): Allows playback of sequences directly, rather than using an animation graph. Requires [Sandbox.SceneModel.UseAnimGraph](/api/Sandbox.SceneModel/UseAnimGraph) disabled if the scene model has one.
- [`DirectPlayback`](/api/Sandbox.SceneModel/DirectPlayback): Access this sceneobject's direct playback. Direct playback is used to control the direct playback node in an animgraph to play sequences directly in code
- [`Morphs`](/api/Sandbox.SceneModel/Morphs): Access this sceneobject's morph collection. Morphs are generally used in the model to control the face, for things like emotions and lip sync.
- [`OnAnimTagEvent`](/api/Sandbox.SceneModel/OnAnimTagEvent): Called when a anim tag event happens
- [`OnFootstepEvent`](/api/Sandbox.SceneModel/OnFootstepEvent): Called when a footstep event happens
- [`OnGenericEvent`](/api/Sandbox.SceneModel/OnGenericEvent): Called when a generic event happens
- [`OnSoundEvent`](/api/Sandbox.SceneModel/OnSoundEvent): Called when a sound event happens
- [`PlaybackRate`](/api/Sandbox.SceneModel/PlaybackRate)
- [`RootMotion`](/api/Sandbox.SceneModel/RootMotion): Get the calculated motion from animgraph since last frame
- [`UseAnimGraph`](/api/Sandbox.SceneModel/UseAnimGraph): Allows the scene model to not use the anim graph so it can play sequences directly

## Methods

- [`ClearBoneOverrides`](/api/Sandbox.SceneModel/ClearBoneOverrides): Clears all bone transform overrides.
- [`DispatchTagEvents`](/api/Sandbox.SceneModel/DispatchTagEvents)
- [`GetAttachment`](/api/Sandbox.SceneModel/GetAttachment): Get attachment transform by name.
- [`GetBoneLocalTransform`](/api/Sandbox.SceneModel/GetBoneLocalTransform): Returns the local space transform of a bone by its index.
- [`GetBoneVelocity`](/api/Sandbox.SceneModel/GetBoneVelocity): Calculates the velocity from the previous and current bone transforms.
- [`GetBoneWorldTransform`](/api/Sandbox.SceneModel/GetBoneWorldTransform): Returns the world space transform of a bone by its index.
- [`GetBool`](/api/Sandbox.SceneModel/GetBool): Get an animated parameter
- [`GetFloat`](/api/Sandbox.SceneModel/GetFloat): Get an animated parameter
- [`GetInt`](/api/Sandbox.SceneModel/GetInt): Get an animated parameter
- [`GetParentSpaceBone`](/api/Sandbox.SceneModel/GetParentSpaceBone): Returns the parent space transform of a bone by its index.
- [`GetRotation`](/api/Sandbox.SceneModel/GetRotation): Get an animated parameter
- [`GetVector3`](/api/Sandbox.SceneModel/GetVector3): Get an animated parameter
- [`HasBoneOverrides`](/api/Sandbox.SceneModel/HasBoneOverrides): Whether any bone transforms have been overridden.
- [`MergeBones`](/api/Sandbox.SceneModel/MergeBones): Update our bones to match the target's bones. This is a manual bone merge.
- [`ResetAnimParameters`](/api/Sandbox.SceneModel/ResetAnimParameters): Reset all animgraph parameters to their default values.
- [`RunPendingEvents`](/api/Sandbox.SceneModel/RunPendingEvents)
- [`SetAnimGraph`](/api/Sandbox.SceneModel/SetAnimGraph): Override the anim graph this scene model uses
- [`SetAnimParameter`](/api/Sandbox.SceneModel/SetAnimParameter): Sets a boolean animation graph parameter by name.
- [`SetBodyGroup`](/api/Sandbox.SceneModel/SetBodyGroup): Set which body group to use.
- [`SetBoneOverride`](/api/Sandbox.SceneModel/SetBoneOverride): Manually override the final bone transform.
- [`SetBoneWorldTransform`](/api/Sandbox.SceneModel/SetBoneWorldTransform): Sets the world space bone transform of a bone by its index.
- [`SetMaterialGroup`](/api/Sandbox.SceneModel/SetMaterialGroup): Set material group to replace materials of the model as set up in ModelDoc.
- [`Update`](/api/Sandbox.SceneModel/Update): Update this animation. Delta is the time you want to advance, usually RealTime.Delta
- [`UpdateToBindPose`](/api/Sandbox.SceneModel/UpdateToBindPose): Update all of the bones to the bind pose
