1. Blenderとかで作成したMeshをUnityに配置します。
2. Navigation Staticに変更します。
3. Bakeします。
4. 適当なオブジェクトを配置してNavMeshAgentのコンポーネントを追加します。
5. 後は、自由にプログラミングして使ってください。
例えば、次のような感じにするとNavMeshAgentを目的地(destination
)まで移動させることができます。
public class Example : MonoBehaviour
{
void Start()
{
var agent = GetComponent<NavMeshAgent>();
agent.destination = new Vector3(4f, 0f, -4f);
}
}
障害物を設置したい時はcarving=true
にしたNavMeshObstacleを配置します。
NavMeshObstacleは実行中にも移動することができます。
いろいろ試して遊んでみてください。
リンク
Unity – Scripting API: NavMesh
https://docs.unity3d.com/ScriptReference/AI.NavMesh.html
関連記事
動的にNavMeshを生成できるUnityのアセット
UnityでNavMesh使っていますか?
とても便利なツールですが、予めBakeしておく必要があり、動的に生成するマップで使い難いという難点がありました。そこで悩んでいたところ、動的に生成したMeshでも利用可能なアセットが公開されているそうです。
GitHub - Unity-Technologies/NavMeshComponents: High Level API Compo...