▲前のページへ
次のページへ▼

NPCのAIスクリプトの作成


【目次】
AIエディタを開く
アクションの作成
思考パターン「Approach」を編集する
思考パターン「Attack」を編集する
NPCのAIスクリプトを出力する


AIエディタを開く

 プレイヤーの場合には、思考した内容をマウスで操作することでキャラクタを動かすことが出来ますが、
 NPCキャラクタの場合には「思考した内容」や「マウスでの操作」といった部分がありません。
 全てコンピュータに考えてもらわなければなりません。

 よって、NPCキャラクタの場合には「キャラクタエディタによるアクション制御」を作成する前に
 「どういう考えでキャラクタを動かすのか、といったAI思考制御」の記述が必要になります。
 その記述を行なうのが「AIエディタ」になります。

■ AIエディタを開く
  Unity のメニューから MoEngine > AIEditor を選択して、AIエディタを起動させます。
  

  起動すると、以下のような画面が開きますので、メニューから [保存] を選びます。
  

  保存する場所とファイル名は以下を指定してください。
    保存先の場所: C:/MOE_CEDEC_DEMO/MOE_CEDEC/Master
    保存ファイル名 :dragon_ai.xml
  


アクションの作成

 AIスクリプトは「アクション」という単位で思考アルゴリズムを実装します。まずはその「アクション」を作成しましょう。

■ アクションを追加する
  AIEditor のメニュー項目に[アクション追加]がありますので、これをまず2回クリックします。
  

  すると以下のように、新規アクションのレコードが2件追加されます。
  

■ 新規アクションの名称と、行動開始距離を設定する
  続けて、作成した新規アクションに名前を付け、その行動開始距離(対象物がその半径以内に存在するならば、行動を開始するというフラグ設定)を行ないましょう。
  それぞれ新規に作成された2件のレコードに対し、以下のように設定します。

    1) 「Action0」 を 「Approach」(接近)に変更し、距離を「999」に設定する。
    2) 「Action1」 を 「Attack」(攻撃)に変更し、距離を「2」に設定する。

  上記操作によって、以下のような状態にしてください。(確率の部分はともに 100 のままにしてください)
  


思考パターン「Approach」を編集する

 今度は、上述で生成した「Approach」の思考パターンを編集しましょう。

■ Approach を編集する
  まずは Approach を編集します。Approach の行の右端にある[編集]をクリックしてください。
  

  すると CharacterEditor と同じような画面が現れますので、以下の手順で思考パターンを編集してください。
    ※ 内容として端的に説明すると、対象物に接近し、ユニット割り込み2を発生させる(後述のキャラクタエディタで移動モーションをさせる)という処理になります。

    ① 右クリックメニューから [共通処理] > [ユニット座標取得] を選択し、[開始] の Out 端子と自身の In 端子を繋ぐ。
    ② 右クリックメニューから [変数・定数] > [システム変数] を選択し、名前を「Target Unit Id」に設定し、① の UnitID 端子と自身の Out 端子を繋ぐ。
    ③ 右クリックメニューから [AI] > [接近移動] を選択し、移動速度を「1.7」、範囲を「2」に設定し、① の Out 側 Value 端子と自身の In 端子を繋ぐ。
    ④ 右クリックメニューから [変数・定数] > [戻り値] を選択し、③ の position 端子と自身の Out 端子を繋ぐ。
    ⑤ 右クリックメニューから [AI] > [ユニット割り込み発生] を選択し、割り込みタイプを「2」に設定し、④ の Out 端子と自身の In 端子を繋ぐ。

  上記工程の結果、Approach の思考パターンが以下のようになっていれば問題ありません。
  

■ Approach ウィンドウを閉じる
  Approach の編集が終わったら、右上の×ボタンを押して閉じてください。
    ※ まだ AIEditor ウィンドウは閉じないでください。
  

■ AIEditor の内容を上書き保存しておく
  ここまでの操作で、AIEditor の内容を上書き保存しておきましょう。
    ※ まだ AIEditor ウィンドウは閉じないでください。
  


思考パターン「Attack」を編集する

 同様に、今度は「Attack」の思考パターンを編集しましょう。

■ Attack を編集する
  まずは Attack を編集します。Attack の行の右端にある[編集]をクリックしてください。
  

  Attack ウィンドウ内について、以下の手順で思考パターンを編集してください。
    ※ 内容として端的に説明すると、ユニット割り込み3を発生させる(後述のキャラクタエディタにて攻撃モーションをさせる)という処理になります。

    ① 右クリックメニューから [AI] > [ユニット割り込み発生] を選択し、割り込みタイプを「3」に設定し、[開始] の Out 端子と自身の In 端子を繋ぐ。
    ② 右クリックメニューから [システム処理] > [待機] を選択し、待機時間を「2000」に設定し、① の Out 端子と自身の In 端子を繋ぐ。

  上記工程の結果、Attack の思考パターンが以下のようになっていれば問題ありません。
  

■ Attack ウィンドウを閉じる
  Attack の編集が終わったら、右上の×ボタンを押して閉じてください。
    ※ まだ AIEditor ウィンドウは閉じないでください。
  

■ AIEditor の内容を上書き保存しておく
  ここまでの操作で、AIEditor の内容を上書き保存しておきましょう。
    ※ まだ AIEditor ウィンドウは閉じないでください。
  


NPCのAIスクリプトを出力する

 AIEditor で編集したNPCのAIをスクリプトに出力します。

■ スクリプトを出力する
  AIEditor のメニューから [スクリプトを出力] ボタンをクリックします。
  

  保存する場所とファイル名は以下を指定してください。
    保存先の場所: C:/MOE_CEDEC_DEMO/MOE_CEDEC/Master
    保存ファイル名 :dragon_ai.mos
  

  所定の場所(Master)にdragon_ai.mos および dragon_ai_param.h が作成され、
  以下のダイアログが表示されますので [OK] ボタンをクリックします。
  

■ AIEditor を閉じる
  スクリプトが出力されたら、AIEditor ウィンドウの右上の×ボタンをクリックして終了します。
  

  以下のダイアログが表示されたら[YES]ボタンをクリックしてください。
  


▲前のページへ
次のページへ▼