Version:

Simple Motion 组件

您可以使用Simple Motion组件来播放一个没有动画图形的动作。将此组件添加到带有** Actor** 组件的实体中,就可以为您的Actor使用单一动作。如需复杂的动作,请参考 AnimGraph 组件。

提供者

EMotionFX

依赖

Actor 组件

Simple Motion 属性

Add the Simple Motion component to an entity to assign a motion for the actor.

属性说明默认值
Preview In EditorOpen 3D Engine (O3DE) 编辑器中播放动作。BooleanDisabled
Motion指定要为Actor制作动画的运动资产。Motion assetNone
Loop motion连续运行动画。BooleanDisabled
Retarget motion允许在配置了特定骨骼长度的Actor身上创建的动作在另一个具有不同骨骼长度的Actor身上执行。应用时,动作不会影响骨骼长度。骨骼必须遵循相同的层次结构,骨骼名称必须相同才能正常工作。BooleanDisabled
Reverse motion反向播放动画。BooleanDisabled
Mirror motion镜像角色身体部位的动画。例如,如果Actor踢右腿时左腿着地,镜像效果会使右腿着地时左腿踢地。BooleanDisabled
Play speed指定播放动作的速率。0 to Infinity1.0
Blend In Time指定动作的混合时间(秒)。您可以为要启动的动作设置该参数,该动作是由之前的动作混合而成的。0 到 无限0.0
Blend Out Time指定动作的混合时间(秒)。您可以为当前正在播放并将与下一个动作混合的动作设置该参数。0 到 无限0.0
Play on active当实体被激活时启动动画。BooleanEnabled
In-place删除动画中根节点的位置或旋转变化。BooleanDisabled

SimpleMotionComponentRequestBus

将以下请求函数与 SimpleMotionComponentRequestBus EBus 接口结合使用,可在游戏中与简单运动组件进行通信。更多信息,请参阅 使用事件总线(EBus)系统.

请求名称说明参数返回值可脚本化
BlendInTime设置动作的 Blend In TimeTime: FloatNoneYes
BlendOutTime设置动作的 Blend Out TimeTime: FloatNoneYes
GetBlendInTime返回动作的 Blend In TimeNoneTime: FloatYes
GetBlendOutTime返回动作的Blend Out TimeNoneTime: FloatYes
GetLoopMotion如果动作被设置为循环,返回TrueNoneBooleanYes
GetMotion返回动作的AssetId。NoneMotion: AssetIdYes
GetPlaySpeed返回Play speedNoneSpeed: FloatYes
GetPlayTime返回当前动作开始后所经过的时间。NoneTime: FloatYes
LoopMotion如果 True,设置动作为循环。BooleanNoneYes
MirrorMotion如果 True, 镜像动作。BooleanNoneYes
Motion设置动作资产。Motion: AssetIdNoneYes
PlayMotion开始播放动作。NoneNoneYes
PlayTime从特定时间开始播放动作。Time: FloatNoneYes
RetargetMotion如果 True, 可以将运动重定向到当前Actor。BooleanNoneYes
ReverseMotion如果 True,将动作设置为反向播放。BooleanNoneYes
SetPlaySpeed设置 Play speedSpeed: FloatNoneYes