テラシュールブログスマートフォン用の表示で見るテラシュールブログ旧テラシュールウェアブログUnity記事。UnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。Navmesh今回は、ゲームで道に迷った(哲学的な意味ではない)際の目安となる、目的地への道順を示す矢印の表示についてです。方向を示す3つの方法ゴールに至る方向だけを示すパターン中間点で方向を示すパターン経路を探索して方向を得るパターン関連ゲーム進行の矢印2Dアクションゲームでも、3DRPGでも、目的地が何処にあるのか分からなくなると簡単にクソゲーなります。いうことで、出来る限りゲームをスムーズかつ簡単に体験して貰うために、道を示すというのは中々に悪くない選択肢です。AAAなゲームではステージの配置やライティング、カットシーン等により「ユーザー自身の気づき」で移動先を見出すのが最もクールだと思いますが、ソレを見落として道に迷った末に止めたゲームを自分は何本か持っています。矢印を示す方法は幾つかありますが、今回はプレイヤーの上に矢印を表示する方法について考えてみます。目的地までの移動先を示す方法ですが、ざっと考えて3つ思いつきました。ゴールの方向だけを見るするパターン中間点の方向を示すパターン経路を探索して方向を取得するパターン実際にどんな内容か考えを詰めてみます。ゴールに至る方向だけを示すパターンまず思いついたのが、ゴールの方向を示すパターンです。ルートに関わらず矢印だけを示すので、実は回り道するようなケースでは逆に惑わされる事もありますが、逆に考えれば「気付き」を与える機会でもあります。凄くシンプルな表示ですが、無いよりは遥かに良いです。実装は非常にシンプルです。カーソルが対象を向けば良いのです。いう事で、Lookatメソッドを使って強引に向けます。gist.github.com中間点で方向を示すパターンゴールに至る方向だけを示すパターンでは、回り道のような道がある場合、道に迷うかもしれません。そこで、ゴールとスタートの間に中間点を設置し、中間点の位置へ向けて矢印を示すパターンを考えてみます。中間点に近づいたら、次の中間点を示す感じで進むので、開発者敵に進む方向を提示しやすそうです。gist.github.comこれを少し応用してるのが、StandardAssetsのUtilityに含まれるWaypointシリーズかなと思います。あっちは目標点に向けて移動ですが。tsubakit1.hateblo.jp経路を探索して方向を得るパターンもう一つが、経路探索で最短経路を得るパターンです。経路探索で行うので、道順を間違えた場合でもルート再検索を行ってくれます。経路探索AIを動かすのでゲームによっては余計な負荷を生むかもしれません。Navmeshを設定できない所には移動出来ません。これを行うには、幾つか設定する必要があります。Navmeshをベイクします。tsubakit1.hateblo.jp次に、NavmeshAgentを用意します。基本的にNavmeshAgent自身に動させる事は無いので、streeting系のパラメータは全部0に設定しておきます。後は経路探索で移動先を得て、向かうべき方向へ矢印を向けます。NavmeshAgentは経路を更新してもらうために使っていいるので、移動や向きを変更する機能は使いません。よってupdateRotationやupdatePositionにfalseを設定して移動しないようにします。後、NavmeshAgentの基本位置を移動するため、nextPositionに常に現在地を流し込んでいます。後はagent.steeringTargetで次の曲がり角の座標を取得し、ソコに向けて矢印を向けるだけです。2018.3からNavMeshのRaycastを非同期で実行することが出...2016-12-01【Unity】NavmeshAgaentの移動がOffMeshLink上で妙に加速するのを防ぐOffMeshLinkは複数のNavMeshを繋ぐ上で役に立つ機能です。...2016-11-29【Unity】Navmeshで障害物を避けて移動するルートを事前に取得する今回は経路探索AI(Navmesh)のルートだけを取得してみます。(1)月別アーカイブはてなブログをはじめよう!tsubaki_t1さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。