“拍摄”动画无法在Unity中播放

时间:2015-04-12 23:23:33

标签: c# unity3d

我想在按下" P"时让我的角色拍摄。我已经创建了一个名为shoot的触发器,并且在动画师状态机中,已经获得了来自空闲动画的拍摄动画。无论我尝试过什么,"拍摄"按下" p"时动画拒绝播放。我的"跑步"包含来自idle-> run的动画混合树的参数在按下D或A时完美无瑕地工作,但是,每当我按P,不想拍摄,只是保持空闲状态。我有什么想法吗?

提前谢谢

编辑: 动画师形象

http://i60.tinypic.com/i6kq9t.png

using UnityEngine;
using System.Collections;

public class NewSoldier : MonoBehaviour {

Animator animator;
bool Shoot;
float Running = 0.08f;

// Use this for initialization
void Start () {
    //float Run;
    animator = GetComponent<Animator>();
}

// Update is called once per frame
void Update () {

    float speed = Input.GetAxis ("Horizontal");

    if (Input.GetKey ("d")) {

                    this.transform.Translate (Input.GetAxis ("Vertical"), 0, Running);
                    transform.rotation = Quaternion.Euler (0, 90, 0);
                    animator.SetFloat ("Run", Mathf.Abs (speed));
            } 
    else if (Input.GetKey ("a")) 
            {

                    this.transform.Translate (Input.GetAxis ("Vertical"), 0, Running);
                    transform.rotation = Quaternion.Euler (0, -90, 0);
                    animator.SetFloat ("Run", Mathf.Abs (-(speed)));
            } 
    else if (Input.GetKeyDown ("p"))
            {

                    animator.SetBool("Shoot", true);
                    animator.SetTrigger ("Shoot");
            }

    else        
            {
                bool Shoot = false;
                animator.SetFloat ("Run", Mathf.Abs(speed));
            }
    }
}

1 个答案:

答案 0 :(得分:0)

您在动画树上设置了什么事件去拍摄动画? 它可以是很多东西:

  • 您的动画更改未设置为活动;
  • 您的动画更改设置为浮动并且您正在使用bool和触发器;
  • 如果您的动画更改是触发器,则只需用户SetTrigger;
  • 您的动画更改可能未设置为从“运行”到“拍摄”;
  • 也许你的活动改变不是&#34;拍摄&#34;因为你错误地点了一把钥匙而没有注意到;

如果你能给我们看一张树的印刷品,那就太好了。另外,我是按a或d,它不会拍摄