Version:

Actor Component

You can use the Actor component to create characters for your game. After you import your character files from your DCC tool into O3DE, you can create an entity and add the Actor component to it. You must use an Actor component to create a controllable character for your game.

Provider

EMotionFX

Dependencies

You must also add one of the following components:

  • Simple Motion component - Use a single motion for your actor.
  • AnimGraph component - Use an animation graph to control your actor’s motions.

Actor Component Properties

Actor component properties.

PropertyDescriptionValuesDefault
Actor assetSets the actor asset for this component.Actor AssetNone
Attach To - Attachment typeSets the type of attachment to use when attaching to the target entity.None, Skin attachmentNone
Attach To - Target entity

Sets the entity to attach to.

This field is available only if Attachment type is set to Skin attachment.

EntityIdNone
Render options - Draw skeletonDraws the actor’s joints.BooleanDisabled
Render options - Draw characterDraws the actor’s mesh.BooleanEnabled
Render options - Draw boundsDraws the actor’s bounding box.BooleanDisabled
Render options - Skinning methodSets the skinning method to use for the actor.Dual quat skinning, Linear skinningDual quat skinning
Out of view - Force update JointsUpdates joint transforms when the actor is out of camera view.BooleanDisabled
Out of view - Bounding box configuration - Bounds typeSets the method used to compute the actor’s bounding box.Static, Bone position-based, Mesh vertex-basedStatic
Out of view - Bounding box configuration - Automatically update bounds?

If False, actor bounds will only be calculated on activation or by calling a recalculation explicitly. If True, actor bounds will be calculated at a regular interval determined by the Update frequency and Update item skip factor properties below.

This field is available only if Bounds type is set to Bone position-based or Mesh vertex-based.

BooleanEnabled
Out of view - Bounding box configuration - Update frequency

Sets the frequency of bounding box updates in hertz.

This field is available only if Bounds type is set to Bone position-based or Mesh vertex-based.

0.0 to Infinity0.0
Out of view - Bounding box configuration - Update item skip factor

Sets bounding box updates to only calculate bounds based on every nth item (bone or vertex), where n is the Update item skip factor.

This field is available only if Bounds type is set to Bone position-based or Mesh vertex-based.

1 to Infinity1
Out of view - Bounding box configuration - Expand byExpands the dimensions of a calculated bounding box by a percentage.-99.999 to Infinity25.0

ActorComponentRequestBus

Request NameDescriptionParameterReturnScriptable
AttachToEntityAttaches an attachment to an target entity at a specific joint index.Target: EntityId, Joint Index: IntegerNoneYes
DebugDrawRootDraws the root of the actor.BooleanNoneYes
DetachFromEntityDetaches an attachment from the entity it is attached to.NoneNoneYes
GetJointIndexByNameReturns the joint index of a specific joint.Joint Name: StringJoint Index: IntegerYes
GetJointTransformReturns a specific joint’s transform.Joint Index: Integer, Joint Space: IntegerTransform: QuaternionYes
GetRenderCharacterReturns True if the actor is rendered.NoneBooleanYes
SetRenderCharacterIf True, renders the actor.BooleanNoneYes

ActorComponentNotificationBus

Request NameDescriptionParameterReturnScriptable
OnActorInstanceCreatedNotifies listeners when an actor instance is created.NoneActor InstanceYes
OnActorInstanceDestroyedNotifies listeners when an actor instance is destroyed.NoneActor InstanceYes

ActorNotificationBus

Notification NameDescriptionParameterReturnScriptable
OnMotionEventNotifies listeners when a motion event begins.NoneMotion Event: MotionYes
OnMotionLoopNotifies listeners when a motion begins a new loop.NoneMotion Name: StringYes
OnStateEnteredNotifies listeners when the transition to a specific state is complete.NoneState: StringYes
OnStateEnteringNotifies listeners when the transition to a specific state has started.NoneState: StringYes
OnStateExitedNotifies listeners when the transition from a specific state is complete.NoneState: StringYes
OnStateExitingNotifies listeners when the transition from a specific state has started.NoneState: StringYes
OnStateTransitionEndNotifies listeners when a state transition has completed.NoneNew State: String, Old State: StringYes
OnStateTransitionStartNotifies listeners when a state transition has started.NoneNew State: String, Old State: StringYes