私のゲームでは、アニメーターの 1 つの状態が完了したことを確認してから、手動で別の状態をトリガーしたいのですが、それを確認できません。私が間違っている提案は、ここに私が行ったコードがあります。このコードは更新関数にあります(パラメータ「for_fire」と状態名「Standing fire 3」は1つの状態で同じです):
counter_anim++;
if (counter_anim >= 5)
{
counter_anim = 0;
float distance = Vector3.Distance (this.transform.position, new_target_points);
if (distance <= 1.0f && !enter_state)
{
navmesh.Stop ();
anim.SetBool ("is_Firing", false);
anim.SetBool ("for_fire", true);
print ("i come here "+this.anim.GetCurrentAnimatorStateInfo (0).IsName ("Standing fire 3"));
if (this.anim.GetCurrentAnimatorStateInfo (0).IsName ("Standing fire 3") == true)
{
enter_state = true; // this bool variable is not getting true
}
}
}
//print (enter_state+" "+ this.anim.GetCurrentAnimatorStateInfo (0).IsName ("Standing fire 3"));
if (enter_state && this.anim.GetCurrentAnimatorStateInfo (0).IsName ("Standing fire 3")==false)
{
//print (this.gameObject.GetComponent<Animator> ().GetCurrentAnimatorStateInfo (0).IsName ("Standing fire 3"));
anim.SetBool ("for_fire",false);
anim.SetBool ("new_pos",true);
fire_occured ();
}
私は、敵が彼の位置に行き、しばらく立って発砲すると、このアニメーションが停止し、次のアニメーションが開始されるようにしています。