我想在程序运行期间将动画的速度更改为我想要的速度.我有一个c#脚本和animator控制器附加到游戏对象.统一动画的默认速度为1.我将动画的默认速度值设置为0.3f.在程序运行期间,我希望动画的速度为1.
using UnityEngine;
using System.Collections;
public class wowBoard : MonoBehavIoUr {
[Serializefield]
Animator anim;
bool changeSpeed;
void Start()
{
anim=GetComponent<Animator>();
playAnim();
changeSpeed=false;
}
public void playAnim()
{
anim.SetBool("show",true);
}
void Update()
{
if(changeSpeed)
playChangeSpeedAnim();
}
public void playChangeSpeedAnim()
{
anim.speed=1;
anim.SetBool("show",true);
}
}
动画的速度没有变为1,甚至更改为changeSpeed的布尔值.
解决方法:
要操纵动画速度,可以使用动画属性中的“速度倍增器”参数字段.
如果在动画师中选择动画,您将在检查器中看到:
如果单击“参数”复选框,将启用“倍增”选项.在“乘数”字段中,可以选择浮点类型参数,动画速度将设置参数的值.
因此,您可以创建一个名为speed的新浮点参数,并通过执行anim.SetFloat(“speed”,X)将脚本中的动画速度更改为X.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。