Version:

Actor 组件

您可以使用Actor组件为您的游戏创建角色。将角色文件从 DCC 工具导入 O3DE 后,您就可以创建一个实体并为其添加 Actor 组件。您必须使用 Actor组件才能为游戏创建可控制的角色。

提供者

EMotionFX

依赖

您还必须添加以下组件之一:

  • Simple Motion 组件 - 对Actor使用单个动作。
  • AnimGraph 组件 - 使用动画图形来控制Actor的动作。

Actor 组件属性

Actor component properties.

属性说明默认值
Actor asset为该组件设置Actor资产。Actor 资产
Attach To - Attachment type设置附加到目标实体时使用的附加类型。None, Skin attachmentNone
Attach To - Target entity

设置要附加的实体。

此字段仅在 ** Attachment type* 设置为 Skin attachment时可用。*

EntityIdNone
Render options - Draw skeleton绘制Actor的关节。BooleanDisabled
Render options - Draw character绘制Actor的网格。BooleanEnabled
Render options - Draw bounds绘制角色的边界框。BooleanDisabled
Render options - Skinning method设置Actor的蒙皮方法。Dual quat skinning, Linear skinningDual quat skinning
Out of view - Force update Joints当Actor离开摄像机视角时更新关节变换。BooleanDisabled
Out of view - Bounding box configuration - Bounds type设置用于计算角色边框的方法。Static, Bone position-based, Mesh vertex-basedStatic
Out of view - Bounding box configuration - Automatically update bounds?

如果 False, 则只有在激活或显式调用重新计算时才会计算角色边界。 如果 True,则将根据下面的 Update frequencyUpdate item skip factor属性确定的固定时间间隔计算行为体边界。

只有当Bounds type设置为 Bone position-basedMesh vertex-based时,该字段才可用。

BooleanEnabled
Out of view - Bounding box configuration - Update frequency

以赫兹为单位设置边界框的更新频率。

只有当Bounds type设置为Bone position-basedMesh vertex-based时,该字段才可用。

0.0 到 无限0.0
Out of view - Bounding box configuration - Update item skip factor

设置边框更新只根据每nth个项目(骨骼或顶点)计算边框,其中nUpdate item skip factor

只有当 Bounds type 设置为 Bone position-basedMesh vertex-based时,该字段才可用。

1 到 无限1
Out of view - Bounding box configuration - Expand by按一定百分比扩大计算边框的尺寸。-99.999 到 无限25.0

ActorComponentRequestBus

请求名称说明参数返回值可脚本化
AttachToEntity在特定关节索引处将附件附加到目标实体。Target: EntityId, Joint Index: IntegerNoneYes
DebugDrawRoot绘制Actor的根。BooleanNoneYes
DetachFromEntity将附件从其所连接的实体上分离。NoneNoneYes
GetJointIndexByName返回特定关节的关节点索引。Joint Name: StringJoint Index: IntegerYes
GetJointTransform返回特定关节的变换。Joint Index: Integer, Joint Space: IntegerTransform: QuaternionYes
GetRenderCharacter如果角色已渲染,则返回 TrueNoneBooleanYes
SetRenderCharacter若为True,则渲染Actor。BooleanNoneYes

ActorComponentNotificationBus

请求名称说明参数返回值可脚本化
OnActorInstanceCreated创建角色实例时通知侦听器。NoneActor 实例Yes
OnActorInstanceDestroyed当角色实例被销毁时通知侦听器。NoneActor 实例Yes

ActorNotificationBus

通知名称说明参数返回值可脚本化
OnMotionEvent在动作事件开始时通知侦听器。NoneMotion Event: MotionYes
OnMotionLoop当动作开始新的循环时通知监听器。NoneMotion Name: StringYes
OnStateEntered完成向特定状态的转换时通知侦听器。NoneState: StringYes
OnStateEntering开始过渡到特定状态时通知侦听器。NoneState: StringYes
OnStateExited当完成从特定状态的转换时,通知侦听器。NoneState: StringYes
OnStateExiting从特定状态开始过渡时通知侦听器。NoneState: StringYes
OnStateTransitionEnd当状态转换完成时通知侦听器。NoneNew State: String, Old State: StringYes
OnStateTransitionStart在状态转换开始时通知侦听器。NoneNew State: String, Old State: StringYes

相关链接