舞蹈动作

  • 类型: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)
    祖先变更时触发

文档更新时间: 2020-08-25 10:44   作者:安彤琛