微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在运行中以单位c#更改动画的速度

我想在程序运行期间将动画的速度更改为我想要的速度.我有一个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] 举报,一经查实,本站将立刻删除。

相关推荐