我正在尝试在每次碰撞中创建一个反弹动画。只触发一次

时间:2019-01-27 04:25:00

标签: unity3d animation

我希望立方体在每次碰撞时都播放弹跳动画“ Blob”。它是第一次工作,然后再也无法工作。

我让它从不播放动画的新状态开始,然后在发生碰撞时播放动画。

void Start()
{
    m_Animator = GetComponent<Animator>();

}


void Update()
{

}

private void OnCollisionEnter2D(Collision2D collision)
{


    m_Animator.Play("Blob");


}





}

应该触发所有影响。

1 个答案:

答案 0 :(得分:1)

您需要创建一个Animator Controller并在其中创建一个触发器(示例名称为“碰撞”),当发生碰撞时,请调用SetTrigger()

public class WhenCollision : MonoBehaviour
{
    private Animator m_Animator;

    private void Start()
    {
        m_Animator = GetComponent<Animator>();
    }

    private void OnCollisionEnter2D(Collision2D collision)
    {
        m_Animator.SetTrigger("Collision");
    }
}

enter image description here