animation unity 速度_animator下怎么控制指定动画的播放速度

在Unity中,可以通过多种方式调整动画的速度。1) 使用Blend Tree进行速度控制,设置速度为0或1。2) 利用Time.timeScale全局改变动画速度。3) 使用UnityEditorInternal包,通过AnimatorController直接修改特定动画状态或整个层级的速度。具体方法包括按状态、按标签、按名称或按层级设置动画速度。
摘要由CSDN通过智能技术生成

匿名用户

1级

2016-02-02 回答

1,如果要改变速度的动画不多,比如就要停止和正常播放两种状态,可以使用blend tree 进行分支处理,一个是速度为0,一个为1的。

2,使用Time.timeScale.这没有深入研究,发现很多网站都有提及到。

3,使用UnityEditorInternal

UnityEditorInternal.AnimatorController ac = animator.runtimeAnimatorController as UnityEditorInternal.AnimatorController;

UnityEditorInternal.StateMachine sm = ac.GetLayer(1).stateMachine;

for (int i = 0; i < sm.stateCount; i++)

{

UnityEditorInternal.State state = sm.GetState(i);

state.speed = 2;

Debug.Log(state.uniqueName + " " + state.speed);

}

void SetAnimSpeedWithClipTag(int layer, string tag, float speed)

{

UnityEditorInternal.AnimatorController ac = animator.runtimeAnimatorController as UnityEditorInternal.AnimatorController;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值