「ナビゲーションと探査経路」の編集履歴(バックアップ)一覧はこちら

ナビゲーションと探査経路」(2016/08/15 (月) 14:10:10) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

<ul><li>Nav Mesh設定</li> </ul><hr /><ul><li> <h2>Nav Mesh設定</h2> </li> </ul><p style="line-height:20.8px;"><span style="line-height:20.8px;">■AIの経路を事前計算する</span><br /><span style="line-height:1.6em;">http://tsubakit1.hateblo.jp/entry/2014/09/28/233000</span><br /><br /><span style="line-height:1.6em;">・ステージを作る(Box ColliderとかMesh Collider入り)</span><br /><span style="line-height:1.6em;">・地形となるGameObjectをstatic属性に変更</span><br /><span style="line-height:1.6em;">親オブジェクトをStaticにすると子供もStaticになる</span></p> <p>・NavMeshの設定<br /> Window>NavigationでNavmeshウィンドウ→Object→Bake(そしてRadiusで調整)</p> <p>■マップから落ちないようにステージ上を歩かせる楽な方法<br /> http://tsubakit1.hateblo.jp/entry/20131104/1383573538</p> <p>・動かしたいオブジェクトにNac Mesh Agentコンポーネントを追加する</p> <p>★ポイント★Targetの位置に向かって自動的に動く<br /> public var target : Transform;<br /> var agent : NavMeshAgent;<br /> function Start () {<br />     agent = GetComponent(NavMeshAgent);<br />     target.position = Vector3(0,0.6,-8);<br /> }<br /> function Update () {<br />     GetComponent(Animator).SetFloat("Speed", agent.velocity.sqrMagnitude);<br />     agent.SetDestination(target.position);<br /> }</p> <p>移動するだけならこれだけでOK</p> <p>■NavmeshのAI経路探索とAnimatorのアニメーションを連動させる #Unity<br /> http://tsubakit1.hateblo.jp/entry/2015/07/02/233000</p> <p>・オブジェクトについてるAnimator→Apply Root Motionのチェックを外す<br /> ・Parametersに切替える要素(Speedとか)を作成(数値は5.0で)<br /> ・AnimatorでCreate State&gt;From New Blend Treeを作る<br /> ・Blend Treeを<span style="line-height:20.8px;">★</span>ダブルクリック★して中身を覗く<br /> ・Motion→[+]→Add Motion Fieldでモーション追加(x3)<br /> ・IDLE,WAL,RUNのモーションを登録<br /> ・Automate thresholdsのチェックを外す<br /> ・モーションの閾値登録(0;0.3;5)<br /> ・Parameterを指定(Speed)<br /> ・AnimationConrollerにBlend Treeを登録</p> <p><span style="line-height:20.8px;">■</span>終了距離が近づいてきたら、動かないアニメーションに切り替える</p> <p>・AnimatorにBoolのIsStopを作る<br /> ・Blend TreeからIDLEにつなげる(IsStop が true)<br /> GetComponent(Animator).SetBool("IsStop", agent.remainingDistance &lt; agent.stoppingDistance);<br /><br /> ・StoppingDistanceはNav Mesh Agentで設定可能(初期値0なので1とかにする)</p> <p style="line-height:20.8px;"><br /><br /><br /><br /><br /><br /><br />  </p> <p> </p> <p> </p> <p> </p>
<ul><li>Nav Mesh設定</li> </ul><hr /><ul><li> <h2>Nav Mesh設定</h2> </li> </ul><p style="line-height:20.8px;"><span style="line-height:20.8px;">■AIの経路を事前計算する</span><br /><span style="line-height:1.6em;">http://tsubakit1.hateblo.jp/entry/2014/09/28/233000</span><br /><br /><span style="line-height:1.6em;">・ステージを作る(Box ColliderとかMesh Collider入り)</span><br /><span style="line-height:1.6em;">・地形となるGameObjectをstatic属性に変更</span><br /><span style="line-height:1.6em;">親オブジェクトをStaticにすると子供もStaticになる</span></p> <p>・NavMeshの設定<br /> Window>NavigationでNavmeshウィンドウ→Object→Bake(そしてRadiusで調整)</p> <p>■マップから落ちないようにステージ上を歩かせる楽な方法<br /> http://tsubakit1.hateblo.jp/entry/20131104/1383573538</p> <p>・動かしたいオブジェクトにNac Mesh Agentコンポーネントを追加する</p> <p>★ポイント★Targetの位置に向かって自動的に動く<br /> public var target : Transform;<br /> var agent : NavMeshAgent;<br /> function Start () {<br />     agent = GetComponent(NavMeshAgent);<br />     target.position = Vector3(0,0.6,-8);<br /> }<br /> function Update () {<br />     GetComponent(Animator).SetFloat("Speed", agent.velocity.sqrMagnitude);//速度-アニメ連動<br />     agent.SetDestination(target.position);<br /> }</p> <p>移動するだけならこれだけでOK</p> <p>■NavmeshのAI経路探索とAnimatorのアニメーションを連動させる #Unity<br /> http://tsubakit1.hateblo.jp/entry/2015/07/02/233000</p> <p>・オブジェクトについてるAnimator→Apply Root Motionのチェックを外す<br /> ・Parametersに切替える要素(Speedとか)を作成(数値は5.0で)<br /> ・AnimatorでCreate State&gt;From New Blend Treeを作る<br /> ・Blend Treeを<span style="line-height:20.8px;">★</span>ダブルクリック★して中身を覗く<br /> ・Motion→[+]→Add Motion Fieldでモーション追加(x3)<br /> ・IDLE,WAL,RUNのモーションを登録<br /> ・Automate thresholdsのチェックを外す<br /> ・モーションの閾値登録(0;0.3;5)<br /> ・Parameterを指定(Speed)<br /> ・AnimationConrollerにBlend Treeを登録</p> <p><span style="line-height:20.8px;">■</span>終了距離が近づいてきたら、動かないアニメーションに切り替える</p> <p>・AnimatorにBoolのIsStopを作る<br /> ・Blend TreeからIDLEにつなげる(IsStop が true)<br /> GetComponent(Animator).SetBool("IsStop", agent.remainingDistance &lt; agent.stoppingDistance);<br /><br /> ・StoppingDistanceはNav Mesh Agentで設定可能(初期値0なので1とかにする)</p> <p style="line-height:20.8px;"><br /><br /><br /><br /><br /><br /><br />  </p> <p> </p> <p> </p> <p> </p>

表示オプション

横に並べて表示:
変化行の前後のみ表示: