週刊SleepNel新聞スマートフォン用の表示で見る週刊SleepNel新聞SleepNel所属のぽうひろが日々の個人開発で気になったことを綴ります。indiegamedevTwitterGooglePocketみなさん、こんにちは。ゲームを作成するとき、敵の動きをプログラムするのめんどくさいですよね。あ、そうでもないですかねw僕はめんどくさいので、アセットの力を借りたいと思います。Route)をうろうろパトロールする処理をやってみましょう。はじめに、大事な設定を行います。Advancedをチェックしておきます。これを行うとRAINの細かい設定ができるようになるのですが、この中に、視界センサが壁を突き抜けないようにする設定が混ざっており、デフォルトがOFFなんですよね。なんでONにしとかないの!悪意を感じます・・・では、はじめにAIを作成します。AIをつけたいキャラクタを選んで、メニューバーにあるRAIN->CreateNew->AIを選びます。するとAIコンポーネントが作成され、Inspector上でいろいろ設定を行うことができます。視覚センサーをつけましょう。ScriptがGUIで表示されます。この中の「目」のアイコンを選ぶとセンサーの設定ができます。Sensor」を選びます。視界の範囲が作成されます。Angleで90度とかに狭められるので、狭めてみましょう。次にパトロールするポイント(WayPoint)を作成します。ここではプログラムから4地点作ってみます。WaypointRigというコンポーネントにWayPointをAddしていくイメージです。Vector3(5f,0.2f,5f);tWaypointRig.WaypointSet.AddWaypoint(point1);tWaypointRig.WaypointSet.AddWaypoint(point2);tWaypointRig.WaypointSet.AddWaypoint(point3);tWaypointRig.WaypointSet.AddWaypoint(point4);}}とりあえずこれで実行してみましょう。はい、緑色の丸みたいなポイントがWayPointです。NETWORKにちゃんと4つWaypointが設定されてますね。これだけではパトロールしませんので、最後にAIを作成します。ツリーエディタがあるので、これで部品を組み合わせて作ります。Editorというボタンがあるのでクリックします。すると名前を聞かれますので、なんでもいいのですがPatrolAIとでもしておきましょうか。すると選べるようになりますので、選ぶと編集ができるようになります。右クリックで追加部品を選べます。Patrolを選びましょうWAYというのが追加されましたね。必要な項目を記述します。所に作成したWaypointRigの名前を文字列で入力します。eと書いてある部分はプログラム記法で書いてねという意味らしいので、ここでは文字列なのでダブルクォーテーションで囲まないとエラーになります。移動対象変数名を宣言します。ここにはeと書いてないので、ダブルクォーテーションで囲まなくて良いです。好きにつけて良いのでwpとしておきます。ここからwaypointpatrol部品上で右クリックして、子ノードを追加します。Create->Actions->Moveを選びます。moveが追加されたら、必要な項目を設定します。eと書いてあるのでダブルクォーテーションで囲むと思いきや、プログラム記述になるのでwpのままでOKです。Speedも設定します。ここは数値なのでダブルクォーテーションで囲まなくて良いです。1としておきましょう。はい、これで必要な設定は終わりました。AIの保存は自動でやってくれるようです。Treeで今作成したAIを選びます。PatrolAIでしたね。Treeで、mecanimでアニメーション制御とかもできるので、歩かせたりとかもできます。Sampleがなく、最初はかなりとっつきにくいですが、慣れたらサクッと敵AIを作れるようになるのではないでしょうか!!(勉強中)次回は、パトロール中にプレイヤーを発見したら、追っかけてくるようなAIを発展させて作ってみようと思います。10:30RAIN(AI)でWayPointパトロールAIを実装してみた広告を非表示にする関連記事2017-01-25FirebaseをUnityで使ってランキング機能を作ろう![導入編]みなさん、こんばんは。8/26週みなさん、こんにちは。今週もあっという間に終...2016-08-01Unityで時間経過で変わる信号機の光を作ってみるみなさん、こんにちは。DictionaryとListの使いかた(ざっくり)みなさん、こんにちは。