▶
【Unity連載】プレハブの使い方①(作成・複製)
▶
【Unity連載】プレハブの使い方②(編集)
▶
【Unity連載】BGM・SE(効果音)の付け方
▶
【Unity連載】uGUI(Scrollbar)の使い方を詳しく解説
▶
【Unity連載】uGUI(InputField)の使い方を詳しく解説
▶
【Unity連載】uGUIのCanvasとRenderModeについて詳しく解説
▶
【Unity連載】GetComponentを具体例付きで解説
▶
【Unity連載】GameObject.Findを具体例付きで解説
▶
【Unity連載】Instantiateを具体例付きで解説
UnityでサクッとNavmeshを実装する手順
応用とか置いといて、Navmeshのスタートアップ(経路生成して、ゴールまでエージェントが自動で移動する)までの手順(よく忘れるので…。)
1.ステージを作ります
適当でOK
2.Navigationウィンドウを開きます
Window → AI → Navigation (バージョンによって違うかも)
3.ステージのオブジェクトをNavigation Staticに
子要素もまとめて変更できるようにゲームオブジェクトを階層化しておくと◎
離れてる足場があるならOff Mesh Link Generation も選択(むかしは無かった気がする…)
4.Bakeします
Navigationウィンドウの Bakeタブの「Bakeボタン」をポチー
これで経路情報の生成は完了(青と赤が生成された経路情報)
5.エージェントの作成その1
エージェントとは、経路情報を頼りに目的地まで移動するオブジェクト
作り方は適当なゲームオブジェクトを用意して Nav Mesh Agent コンポーネントを入れるだけ!(簡単)
※ エージェントは焼きこまれた経路情報しか信用してないので、コライダーとかガン無視して移動するから注意!
6.エージェントの作成その2
エージェントをゴールに向かって進ませるには、スクリプト(名前は適当)をアタッチして以下を記述。
using UnityEngine; using UnityEngine.AI; public class PlayerController : MonoBehaviour { public Transform goal; void Update() { NavMeshAgent agent = GetComponent<NavMeshAgent>(); agent.destination = goal.position; } }
goal変数には目的地にしたい任意のゲームオブジェクトをD&Dで紐づければOK
7.シーンを再生してみよう
エージェントは経路上に配置してシーンを再生してみよう。
目的地に向かって自動で進んでいけば成功だ!
8.(ちょっとだけ応用)Navmesh的障害物を置こう
エージェントは通常のコライダーとかガン無視しちゃうので、経路上に普通のCubeとか置いても意味なし!
エージェントを邪魔したければ Nav Mesh Obstacle コンポーネントを入れよう!
▶
【Unity連載】プレハブの使い方①(作成・複製)
▶
【Unity連載】プレハブの使い方②(編集)
▶
【Unity連載】BGM・SE(効果音)の付け方
▶
【Unity連載】uGUI(Scrollbar)の使い方を詳しく解説
▶
【Unity連載】uGUI(InputField)の使い方を詳しく解説
▶
【Unity連載】uGUIのCanvasとRenderModeについて詳しく解説
▶
【Unity連載】GetComponentを具体例付きで解説
▶
【Unity連載】GameObject.Findを具体例付きで解説
▶
【Unity連載】Instantiateを具体例付きで解説