Girl03の射撃で実際に弾丸が飛ぶようにしました。
弾丸とゾンビにはBoxColliderを付けて、OnTrigerEnterで衝突判定して
ParticleSystemで血飛沫を表示させてます。
なので当らなければゾンビにダメージがないし、スコアも増えない。
弾丸はRigidBodyなので、敵の方向にAddForceしたら飛んで行きます。
ZombieController内で、 private void OnTriggerEnter(Collider other) { if (other.tag == "Bullet") { other.GetComponent<Rigidbody>().velocity = Vector3.zero; GameObject Prefab = (GameObject)Resources.Load("Eff_Blood"); Instantiate(Prefab, other.transform.position, transform.rotation); DAMAGE(100); } }
particleはゾンビのchildがいいと思ったんですが、
座標移動がうまくいかなかったので、とりあえず動的生成。
当った弾丸の位置に血しぶきを出します。
まだ蹴り系は射程範囲で蹴ればダメージとスコア加算なので失敗がないのですが
厳密には、つま先にColliderをつけてゾンビと衝突判定すればいいのかな?
あと各AIのステータスがわかるようにしました。
今の所、次の5種
- AIMING 敵に向かって接近中
- LOST TARGET 狙える敵がいない
- ATTACK 攻撃中
- AVOID 敵が近いので回避中
- GET DAMAGE 敵から攻撃を受けた
ステータスあると、今AIが何を考えているか判るし、デバッグにも役立つw
AVOIDをつけたので、Hit&Awayをやっている感じになりました。