Nanashi-soft○プログラマ専用○Unityでゲーム開発○
◇Unityでゲーム開発 -Mecanimを使ってキャラを動かしてみる(7-
Unity3Dには,ナビゲーションメッシュ(ナビメッシュ)と言うオブジェクトを自動的に移動させる仕組みがあります
以前はpro版のみでしたが,Ver 4.2からベイキング機能のみが無料ユーザにも解放されました
○ナビゲーションメッシュ設定方法
1.対象オブジェクト全てに Navigation Staticを設定する
Hierarchy上のオブジェクトをクリックして,Inspectorの右上にある Staticの右にある▼をクリック→Navigation Staticチェックする
Planeだけにセットしました
※移動させるオブジェクトにはセットしません
2.ベイキングする
メニューの Window→Navigationを選択
Bakeタブをクリック
Radius:移動可能範囲の余白をセット
Height:移動するオブジェクトの地面からの高さをセット
Max Slope:どれぐらいの傾斜まで移動対象にするかをセット
Step Height:どのぐらいの高さまでのオブジェクトを乗り越えるかをセット
以下の設定にしました
Radius:1
Height:0.1
Max Slope:45
Step Height:0.4
右下の Bakeボタンをクリック
すると,シーン上に青い枠が表示されます
この枠内が移動範囲とみなされます
3.移動させる側のオブジェクトの設定
Hierarchy上のオブジェクトをクリックして,メニューの Component→Navigation→Nav Mesh Agentを選択して追加
Projectの下の Create→C# Scriptで,スクリプトを追加
void Start()
{
//移動先の座標を設定
GetComponent<NavMeshAgent>().SetDestination(new Vector3(-4.0f, 0.0f, 4.0f));
}
最初の位置はオブジェクトを配置している場所です
そこから,NavMeshAgentに指定した位置まで自動的に移動します
この状態で実行してみると,オブジェクトが真っ直ぐ移動していくはずです
○TOP○プログラマ専用○Unityでゲーム開発○



