我有两个游戏对象,一个带有盒子对撞机(例如Tiger),另一个带有盒子对撞机设置为Is Trigger(比如Horse)。我希望当Tiger游戏对象停留在触发器中时播放动画“ hit”,而当它退出触发器时,我希望它继续播放“ idle”动画。我设置了两个参数(也称为“ hit”和“ idle”)作为触发器。但是没有动画在播放。有人可以帮忙吗?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class newAttack : MonoBehaviour {
public GameObject tiger;
int hitHash = Animator.StringToHash("hit");
int exitHash = Animator.StringToHash("idle");
Animator myAnimation;
private void Start()
{
myAnimation = GetComponent<Animator>();
}
void OnTriggerStay(Collider other)
{
Debug.Log("Inside Trigger");
myAnimation.SetTrigger(hitHash);
}
private void OnTriggerExit(Collider other)
{
Debug.Log("Exit Trigger");
myAnimation.SetTrigger(exitHash);
}
}
答案 0 :(得分:0)
我认为您没有正确设置动画师。为了使参数起作用(例如bool输入),您必须进行从空闲到命中(条件:输入true)和从命中到空闲(条件:输入false)的转换。然后使用脚本在触发停留和退出时切换该条件。