舞蹈动作
- 类型:DanceAnimation
描述
DanceAnimation是控制角色
可以同时播放动作和声音的对象。
和动作
对象一样,舞蹈动作放在相应的角色对象下即可被该角色调用。舞蹈动作可以放在角色
对象下,也可以放在角色
子级的文件夹中、 角色配件
或者 工具
下。
动作状态
为状态机中的动作状态名,修改此属性也可以把舞蹈动作设置为受指定状态触发的动作,类似动作
对象。不一样的地方是舞动动作播放时可以同时播放音乐。目前的角色状态有:站立、跑步、起跳、下落、攀爬、坐下、驾驶和自定义。
目前舞蹈动作的函数与事件只能对非动作状态对应的舞蹈动作生效,即动作名选择“自定义”的情况。
自定义舞蹈动作在播放结束前被其他高优先级的舞蹈动作或动作
播放替代后无法继续播放或循环(例如:角色播放循环的持枪动作过程中播放了一次性的换弹动作,换弹动作播完不会自动回到持枪,需要再次设置持枪动作的播放属性为True才能重新播持枪)。
属性
AudioClip 声音资源ID string
声音资源
Mute 静音 bool
勾选后静音
IsLoop 是否循环 bool
勾选后声音循环播放
Volume 音量 float
音量
PanStereo 立体效果 float
[-1,1]-1为左,1为右
SpatialBlend 空间混合 float
0为2D声音,1为3D声音
ReverbZoneMix 混响混合系数 float
设置音源对混响区域的混合系数
Priority 优先权 int
确定场景所有的声源之间的优先权,0代表最优先,256代表最不重要
DopplerLevel 多普勒级别 float
该值决定了多少多普勒效应(音调随声源距离远近而变化)将被应用到这个声源,如果设置为0则不起作用
Spread 扩散 float
设置3D立体声或者多声道音响在扬声器空间的传播角度
RolloffMode 衰减模式 Enum.AudioRolloffMode
该值代表了声音衰减的速度
MinDistance 最小距离 float
在最小距离之内声音会保持恒定
MaxDistance 最大距离 float
最大距离
DelayTime 延迟播放时间 ulong
延迟多久声源开始播放,以Hz为单位
继承自Animation:
ClipId 动作资源ID string
动作文件的唯一标识
AnimationState 动作状态 Enum.StateType
动作所对应的角色状态
Speed 播放速度 float
动画播放的速度
AnimationTimePosition 播放时间点 float
当前动画播放到的时间点
AnimationLength 动画长度 float [只读]
动画长度,单位秒
IsAnimationPlaying 是否正在播放 bool [只读]
当前动画是否正在播放
UpperBodyPriority 上半身动作优先级 int
多个动画同时播放时以优先级判断对应部件播放哪个动画,优先级越大越优先,相同优先级播放后执行的动作,基础动作的优先级均为0
UnderBodyPriority 下半身动作优先级 int
多个动画同时播放时以优先级判断对应部件播放哪个动画,优先级越大越优先,相同优先级播放后执行的动作,基础动作的优先级均为0
LeftPriority 左手动作优先级 int
多个动画同时播放时以优先级判断对应部件播放哪个动画,优先级越大越优先,相同优先级播放后执行的动作,基础动作的优先级均为0
RightPriority 右手动作优先级 int
多个动画同时播放时以优先级判断对应部件播放哪个动画,优先级越大越优先,相同优先级播放后执行的动作,基础动作的优先级均为0
Play 播放动作 bool
播放当前资源中的动作
Loop 动作循环 bool
循环播放当前资源中的动作,单独勾选不能生效,需和播放动作一起勾选
继承自RWObject:
Name 名称 string
该对象的自定义名称
ClassName 类型 string
该对象对应的对象类型名称
Parent 父级 RWObject
该对象的父级对象
函数
继承自Animation:
PlayAnimation()
播放当前动画
StopAnimation()
停止播放当前动画
GetAnimationEvent(eventName)
获取动作中事件
继承自RWObject:
DelAllChild()
删除所有子对象
Available()
检查对象是否可用
Clone(parent)
复制自身,若有参数则以参数为父级
Destroy()
删除自身
GetAncestorByName(Name)
通过对象名字寻找父级对象
GetAncestorByClassName(className)
通过对象类型寻找父级对象
GetChildByName(Name,recursive)
通过对象名字寻找子级对象
GetChildByClassName(className,recursive)
通过对象类型寻找子级对象
GetAllChild()
寻找自身所有子级对象,并作为一个列表返回
GetAllDescendant()
递归寻找自身所有后代,并作为一个列表返回
IsAncestor(TarObj)
判断自身是否为目标对象的祖先
IsDescendant(TarObj)
判断自身是否为目标对象的后代
WaitForChild(childName,timeout)
寻找自身的子对象。如果没有子对象,在没有填写timeout参数时,会暂停进程直到找到子对象;如果填写了timeout参数,会根据参数时间暂停进程,超出参数时间后,进程照常进行
Child(childName)
根据给定的名字寻找自身的子对象
Equals(TarObj)
判断自身是否为目标对象,结果为真返回True,结果为假返回False;注意克隆、新建同类型、同名对象,equal结果均为假
IsClass(className)
判断自身是否为给定的对象类型
事件
继承自Animation:
AnimationLoop()
动画循环播放完毕,下一次循环开始前,触发此事件
AnimationComplete()
动画播放完毕后,触发此事件
onAvatarAnimationPlayed()
角色动画播放时,触发此事件
继承自RWObject:
Destroyed()
删除自身时触发
ChildAdded(childobject)
添加子对象时触发
ChildRemoved(childobject)
移除子对象时触发
DescendantAdded(descendantobject)
添加后代时触发
DescendantRemoved(descendantobject)
移除后代时触发
AncestryChanged(AncestryChanged)
祖先变更时触发