AIプログラムとかUnityゲーム開発について

探索や学習などを活用したAI系ゲームを作りたいと思います。

弾丸&血飛沫

f:id:yasu9780:20150425133715p:plain

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をやっている感じになりました。