AC.AnimatorCtrl

动画播放组件(AgentComponent_VLabAnimatorCtrl)

0、初始化

0.1 void Init(string childPath)

简要说明

动画组件初始化

参数

参数名 类型 说明
childPath string 子路径

0.2 int SubInit(string childPath)

简要说明

动画组件初始化

参数

参数名 类型 说明
childPath string 子路径

返回值

类型 说明
int 实例ID

1、动画倒播(无新增接口)

添加参数

1、在Animator窗口的Parameters添加一个参数
2、点击需要倒播的状态,在Inspector窗口中出现下图界面

选择参数
3、勾选Speed下方的Parameter勾选框,在勾选框左侧的下拉框中选择第一步中设置的参数
4、通过以下AC接口控制动画倒播,name传入1中设置的参数名,f传入速度,速度为负数时,倒播

[AgentAttriInFunction(LuaAccess = LUAACCESSTYPE.LuaCanAccess, FuncNetPro = FUNCNETPRO.Normal)]
public void SetFloat(int id, string name, float f);

[AgentAttriInFunction(LuaAccess = LUAACCESSTYPE.LuaCanAccess, FuncNetPro = FUNCNETPRO.Normal)]
public void SetFloat(string name, float f);

2、设定动画播放的速度

2.1 void SetSpeed(int id, float speed)

简要说明

设置动画速度

参数

参数名 类型 说明
id int 实例id
speed float 速度

2.2 void SetSpeed(float speed)

简要说明

设置动画速度

参数

参数名 类型 说明
speed float 速度

3、动画暂停播放/继续播放

3.1 void Pause()

简要说明

动画暂停播放

3.2 void Pause(int id)

简要说明

动画暂停播放

参数

参数名 类型 说明
id int 实例id

3.3 void Resume()

简要说明

动画继续播放

3.4 void Resume(int id)

简要说明

动画继续播放

参数

参数名 类型 说明
id int 实例id

4、设定动画播放到第几秒/帧

4.1 void Play(float time, LuaFunction onFinished, bool isRewind = false)

简要说明

动画播放到第n秒。可设置的最大秒数为AnimationClip的长度。

  • isRewind = false
    当设置的秒数大于Animation Clip的长度时,播放到Clip最后一帧。
    当设置的秒数小于Clip当前播放到的秒数时,重新播放动画。
    有BUG,设置的时间需要乘上clip的时长,才是正确的时长

  • isRewind = true
    需配合【1、动画倒播】使用
    当设置的秒数大于Clip当前播放到的秒数时,会立刻调用onFinished回调

ps:动画播放的实际时间与Animator的动画播放速度有关

参数

参数名 类型 说明
time float 播放时间
onFinished LuaFunction 播放结束回调
isRewind bool 是否是倒播

4.2 void PlayFrame(int frameCount, LuaFunction onFinished, bool isRewind = false)

简要说明

动画播放到第n帧。可设置的最大帧数为AnimationClip的帧数。

  • isRewind = false
    当设置的帧数大于Animation Clip的帧数时,播放到Clip最后一帧。
    当设置的帧数小于Clip当前播放到的帧数时,重新播放动画。

  • isRewind = true
    需配合【1、动画倒播】使用
    当设置的帧数大于Clip当前播放到的帧数时,会立刻调用onFinished回调

参数

参数名 类型 说明
frameCount int 播放的帧数
onFinished LuaFunction 播放结束回调
isRewind bool 是否是倒播

4.3 void Play(string stateName, float normalizedTime)

简要说明

从某个Animator状态的某个时间点(归一化)开始播放动画

参数

参数名 类型 说明
stateName string 状态名
normalizedTime float 开始时间(0~1)

4.4 void PlayFrame(string stateName, int targetFrame)

简要说明

从某个Animator状态的某帧开始播放动画

参数

参数名 类型 说明
stateName string 状态名
targetFrame int 开始播放的帧

4.5 void Play(int id, float time, LuaFunction onFinished, bool isRewind = false)

简要说明

动画播放到第n秒。可设置的最大秒数为AnimationClip的长度。

  • isRewind = false
    当设置的秒数大于Animation Clip的长度时,播放到Clip最后一帧。
    当设置的秒数小于Clip当前播放到的秒数时,重新播放动画。
    有BUG,设置的时间需要乘上clip的时长,才是正确的时长

  • isRewind = true
    需配合【1、动画倒播】使用
    当设置的秒数大于Clip当前播放到的秒数时,会立刻调用onFinished回调

ps:动画播放的实际时间与Animator的动画播放速度有关

参数

参数名 类型 说明
id int 实例Id
time float 播放时间
onFinished LuaFunction 播放结束回调

4.6 void PlayFrame(int id, int frameCount, LuaFunction onFinished, bool isRewind = false)

简要说明

动画播放到第n帧。可设置的最大帧数为AnimationClip的帧数。

  • isRewind = false
    当设置的帧数大于Animation Clip的帧数时,播放到Clip最后一帧。
    当设置的帧数小于Clip当前播放到的帧数时,重新播放动画。

  • isRewind = true
    需配合【1、动画倒播】使用
    当设置的帧数大于Clip当前播放到的帧数时,会立刻调用onFinished回调

参数

参数名 类型 说明
id int 实例Id
frameCount int 播放的帧数
onFinished LuaFunction 播放结束回调
isRewind bool 是否是倒播

4.7 void Play(int id, string stateName, float normalizedTime)

简要说明

从某个Animator状态的某个时间点(归一化)开始播放动画

参数

参数名 类型 说明
id int 实例Id
stateName string 状态名
normalizedTime float 开始时间(0~1)

4.8 void PlayFrame(int id, string stateName, int targetFrame)

简要说明

从某个Animator状态的某帧开始播放动画

参数

参数名 类型 说明
id int 实例Id
stateName string 状态名
targetFrame int 开始播放的帧

5、获取动画播放到第几秒/帧

5.1 int GetElapsedFramesNum()

简要说明

获得已播放的帧数

返回值

类型 说明
int 已播放的帧数

5.2 int GetElapsedFramesNum(int id)

简要说明

获得已播放的帧数

参数

参数名 类型 说明
id int 实例Id

返回值

类型 说明
int 已播放的帧数

5.3 float GetElapsedTime()

简要说明

获得Animation Clip已播放的时长

返回值

类型 说明
float 已播放的时长

5.4 float GetElapsedTime(int id)

简要说明

获得Animation Clip已播放的时长

参数

参数名 类型 说明
id int 实例Id

返回值

类型 说明
float 已播放的时长

6、变形动画

需要在初始化时传入SkinnedMeshRenderer路径
SkinnedMeshRenderer路径.png

6.1 int GetBlendShapeCount()

简要说明

获得该Mesh上的Blend Shapes数量

返回值

类型 说明
int blend shapes数量

6.2 float GetBlendShapeWeight(int index)

简要说明

获得指定序号的BlendShape的权重

参数

参数名 类型 说明
index int 序号

返回值

类型 说明
int 该blend shapes权重

6.3 float GetBlendShapeWeight(string blendShapeName)

简要说明

获得指定名称的BlendShape的权重

参数

参数名 类型 说明
blendShapeName string blendShape名

返回值

类型 说明
int 该blend shapes权重

6.4 void SetBlendShapeWeight(int index, float weight)

简要说明

设置指定序号的BlendShape的权重

参数

参数名 类型 说明
index int 序号
weigth float 权重

6.5 void SetBlendShapeWeight(string blendShapeName, float weight)

简要说明

设置指定名称的BlendShape的权重

参数

参数名 类型 说明
blendShapeName string blendShape名
weigth float 权重

6.6 int GetBlendShapeCount(int id)

简要说明

获得该Mesh上的Blend Shapes数量

参数

参数名 类型 说明
id int 实例Id

返回值

类型 说明
int blend shapes数量

6.7 float GetBlendShapeWeight(int id, int index)

简要说明

获得指定序号的BlendShape的权重

参数

参数名 类型 说明
id int 实例Id
index int 序号

返回值

类型 说明
float 该blend shapes权重

6.8 float GetBlendShapeWeight(int id, string blendShapeName)

简要说明

获得指定名称的BlendShape的权重

参数

参数名 类型 说明
id int 实例Id
blendShapeName string blendShape名

返回值

类型 说明
float 该blend shapes权重

6.9 void SetBlendShapeWeight(int id, int index, float weight)

简要说明

设置指定序号的BlendShape的权重

参数

参数名 类型 说明
id int 实例Id
index int 序号
weigth float 权重

6.10 void SetBlendShapeWeight(int id, string blendShapeName, float weight)

简要说明

设置指定名称的BlendShape的权重

参数

参数名 类型 说明
id int 实例Id
blendShapeName string blendShape名
weight float 权重

7、动画参数设置

7.1 bool GetBool(string name)

简要说明

获得bool类型的动画参数

参数

参数名 类型 说明
name string 动画参数名字

返回值

类型 说明
bool 参数数值

7.2 float GetFloat(string name)

简要说明

获得float类型的动画参数

参数

参数名 类型 说明
name string 动画参数名字

返回值

类型 说明
float 参数数值

7.3 int GetInt(string name)

简要说明

获得int类型的动画参数

参数

参数名 类型 说明
name string 动画参数名字

返回值

类型 说明
int 参数数值

7.4 void SetBool(string name, bool b)

简要说明

设置bool类型的动画参数

参数

参数名 类型 说明
name string 参数名
b bool 参数值

7.5 void SetFloat(string name, float f)

简要说明

设置Float类型的动画参数

参数

参数名 类型 说明
name string 参数名
f float 参数值

7.6 void SetInt(string name, int i)

简要说明

设置int类型的动画参数

参数

参数名 类型 说明
name string 参数名
i int 参数值

7.7 void SetTrigger(string name)

简要说明

触发Trigger类型的动画参数

参数

参数名 类型 说明
name string 参数名

7.8 bool GetBool(int id, string name)

简要说明

获得bool类型的动画参数

参数

参数名 类型 说明
id int 实例ID
name string 动画参数名字

返回值

类型 说明
bool 参数数值

7.9 float GetFloat(int id, string name)

简要说明

获得float类型的动画参数

参数

参数名 类型 说明
id int 实例ID
name string 动画参数名字

返回值

类型 说明
float 参数数值

7.10 int GetInt(int id, string name)

简要说明

获得int类型的动画参数

参数

参数名 类型 说明
id int 实例ID
name string 动画参数名字

返回值

类型 说明
int 参数数值

7.11 void SetBool(int id, string name, bool b)

简要说明

设置bool类型的动画参数

参数

参数名 类型 说明
id int 实例ID
name string 参数名
b bool 参数值

7.12 void SetFloat(int id, string name, float f)

简要说明

设置Float类型的动画参数

参数

参数名 类型 说明
id int 实例ID
name string 参数名
f float 参数值

7.13 void SetInt(int id, string name, int i)

简要说明

设置int类型的动画参数

参数

参数名 类型 说明
id int 实例ID
name string 参数名
i int 参数值

7.14 void SetTrigger(int id, string name)

简要说明

触发Trigger类型的动画参数

参数

参数名 类型 说明
id int 实例ID
name string 参数名

8、动画事件

8.1 void AddEvent(string clipName, LuaFunction callback, float time)

简要说明

设置动画事件

参数

参数名 类型 说明
clipName string 动画片段名字
callback LuaFunction 回调事件
time 在哪个时间段触发[0 - 1] 0 是动画开始 1是动画结尾

8.2 void AddEvent(int id, string clipName, LuaFunction callback, float time)

简要说明

设置动画事件

参数

参数名 类型 说明
id int 实例ID
clipName string 动画片段名字
callback LuaFunction 回调事件
time 在哪个时间段触发[0 - 1] 0 是动画开始 1是动画结尾

9、其它

9.1 void SetActivate(bool isActivate)

简要说明

Animator组件开关

参数

参数名 类型 说明
isActivate bool 是否激活

9.2 float GetCurrentAnimatorProcess()

简要说明

获得动画播放进度

返回值

类型 说明
float 进度

9.3 void SetActivate(int id, bool isActivate)

简要说明

Animator组件开关

参数

参数名 类型 说明
id int 实例ID
isActivate bool 是否激活

9.4 void SetUseVirtualtime(int id, bool value)

简要说明

设置动画组件是否受到编辑器的加速/减速的控制

参数

参数名 类型 说明
id int 实例ID
value bool 是否受全局加速控制