Unityで次のようなテーマのAIキャラクターを作成してみる:
- 敵キャラの門番は特定の地点を巡回
- 主人公キャラが一定の距離に近づく
- 敵キャラが反応して、主人公に向かっていく
- ただし、背後から迫った等、視界にいない場合は近くても反応しない
- 至近距離まで近づいてきたら近接攻撃
- 主人公キャラが逃げていく
- 敵キャラは近接攻撃をやめるが、追ってくる
- 一定の距離から離れると、再び巡回の動きに戻る
サンプルのダウンロード
ブログの一番下のリンクからUnityプロジェクトの形式でダウンロードできる。Unity 4.0以降でも動作する。
目次
特に勉強になるところ
- 完成プロジェクトをダウンロードしてイメージがつかめる。あとは目次ごとにその段階でのスクリプトがあるので、段階的に学習を進められる
巡回点の追加
- A -> B -> C -> Aなど、循環して巡回する場合、空のゲームオブジェクトをUnity 上で配置するだけなので応用が利く
さあ近づいてこい(距離のチェック)
- Vector3.Distance を使用することも出来るが平方根演算は遅いので、sqrMagnitudeを使用して平方根演算をさける。これは Unity公式マニュアル でも明記されてますね