モブ子を剣を用いた近接戦闘に変更。
剣のコライダーがtrigerするとまとめてゾンビを攻撃できるので、殺しまくるようになった。
射撃は-8、斬撃-30なので、射撃がアシストで、斬撃ががんがんゴールポストに叩き込むような戦術
ただし近接戦闘なのでゾンビからも攻撃を受けやすいので、HPがやばいことになっている。
hit&awayをAIにやらそうとすると、例えばゾンビは射撃で被弾すると1秒程度動けなくなるとして
その状態のゾンビを狙って接近して攻撃する(停止状態じゃないゾンビに近寄らない)
みたいな相手のステートを見て行動するような仕組みを作るといいと思う。
また、常に相手の背後に回り込むという戦術もありかも。
ゾンビ自体はRigidBodyでcollider。剣はkinematicでtriggerなので、ゾンビの子供にkinematicでtriggerなダミーオブジェクトを非表示で組み込んで、
それとの間にtriggerを見ている。
被害をゾンビ側で見るか、剣側で見るか、実装自体はいろんなやり方があると思う。
triggerヒットしたときに、斬撃アニメーション中かをチェックしている。これをやらないと、手に持っている剣に触れるだけでゾンビが死んでしまう。
厳密にはアニメーション再生中のどのへんなのかまでチェックすべきと思う。
void OnTriggerEnter(Collider other) { if (other.name == "Sword") { GameObject _parent = transform.root.gameObject; AnimatorStateInfo stateInfo = Main.blue[1].GetComponent<Animator>().GetCurrentAnimatorStateInfo(0); if (stateInfo.IsName("Sword")) { _parent.GetComponent<Enemy>().ApplyDamage(30, 1, other.transform); } } }