テラシュールブログスマートフォン用の表示で見るテラシュールブログ旧テラシュールウェアブログUnity記事。UnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。スクリプトゲームを作成している内に、村人や敵兵を特定のルート巡廻させたり、障害物を特定ルートで動かしたり、レーシングゲームでカートを周回させたり等々、そういったギミックを作りたくなります。この「Unityで特定のルートを巡回する」方法は、パっと思いつく限り、以下の3つの方法が考えられます。一つがAnimationで巡回アニメーションを作成してしまう方法、二つ目がTweenで時間指定でオブジェクトを移動させてしまう方法です。この二つは非常に簡単に巡回システムを構築することが出来ます。3つ目が、Navmeshを利用した巡回です。アニメーションが汎用的ならばAnimation、汎用的で無いならTween、地形が複雑ならNavmeshを選択すると良さそうです。アニメーションを使用した巡回アニメーションを使用した巡回は巡回の中でもっともシンプルです。特定のオブジェクトの周りを巡回するアニメーションを作ってしまえば、それで済みます。アニメーションで巡回を行うコツは、最初と最後を先に作成してしまう事です。アニメーションを行うオブジェクトの親オブジェクトを作成します。z:0)がお勧めです。Curve」で追加します。Key」で終了秒にキーを打ちます。巡回ルートにキーを打ちますこれでオブジェクトが巡回するようになります。単純な障害物回避ゲームでは、下手にTweenやNavmeshを行うより手軽に障害物を設定できて便利です。Animationの座標は「相対座標」である事に注意して下さい。使用するときは「アニメーションを行う子オブジェクト、座標を設定する親オブジェクト」のような関係で構築します。これはAnimationが取る座標が親オブジェクトとの相対座標であるため、ルート直下に作成してしまうと、アニメーションが汎用的に使えなくなる為です。Tweenを使用するTweenを使用する場合はアニメーションと似ており、アニメーションと比較してもっと面倒かつ柔軟に設定します。Editor等のTweenでパスを生成し、そこを巡回させる感じで作成します。LABNavmeshを利用した巡回Navmeshを利用した巡回は、ある程度座標から外れてもリカバーできる事と、障害物をある程度自動的に回避できる事が特徴です。カーブのようなTween制御では若干面倒な所も、そこそこスムーズに移動する事ができます。この実装イメージはとても簡単で、すなわち「目標地点に到達したら次の座標」を考えればよいです。単純に全オブジェクトが距離換算しているととても高い負荷になってしまうため、そのあたりは工夫が必要かもしれません。下のコードでは、wayPointに巡廻ポジションを設定することで、巡廻を行うようにしています。(1)月別アーカイブはてなブログをはじめよう!tsubaki_t1さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。