NavMesh Surface コンポーネントは特定の NavMesh エージェント タイプが歩くことのできる領域を示し、NavMesh を作成するシーン部分を定義します。
NavMesh Surface コンポーネントは Unity の標準インストールに含まれていません。NavMesh Surface へのアクセス方法は、ドキュメントのNavMesh ビルドコンポーネント を参照してください。
NavMesh Surface コンポーネントを利用するには、GameObject > AI > NavMesh Surface へ移動します。これにより、NavMesh Surface コンポーネントがアタッチされた空のゲームオブジェクトが作成されます。1 つのシーンに複数の NavMesh Surface を加えることができます。
NavMesh Surface コンポーネントは任意のゲームオブジェクトに加えることができます。これは、ゲームオブジェクトの親子関係を設定するHierarchy を使って、NavMesh にどのゲームオブジェクトを使うかを定義するのに便利です。
プロパティー | 機能 |
---|---|
Agent Type | NavMesh Surface を使う NavMesh エージェント のタイプ。ベイクの設定と、経路探索中に NavMesh エージェントを適当なサーフェスと合わせるために使用します。 - Humanoid - Ogre |
Collect Objects | ベイクに使用するゲームオブジェクトを決めます。 - All – すべてのアクティブなゲームオブジェクトを使用します (デフォルト) - Volume – バウンディングボリュームと重なるすべてのアクティブなゲームオブジェクトを使用します - Children – NavMesh Surface コンポーネントの子であるすべてのアクティブなゲームオブジェクトを使用します |
Include Layers | ゲームオブジェクトが ベイク に含まれるレイヤーを定義します。Collect Objects に加えて、これでさらに、特定のゲームオブジェクト (エフェクトやアニメーション化したキャラクターなど) をベイクから除外することを可能にします。 デフォルトでは Everything に設定されていますが、以下のオプションを選んだり、個別にオフにすることができます。 - Nothing (自動的に他のすべてのオプションのチェックを外し無効にします) - Everything (自動的に他のすべてのオプションをチェックし有効にします) - Default - TransparentFX - Ignore Raycast - Water - UI |
Use Geometry | ベイクにどのジオメトリを使うかを選択します。 - Render Meshes – レンダーメッシュと テレイン のジオメトリを使います - Physics Colliders – コライダーとテレインのジオメトリを使います。このオプションを使うと、 Render Meshes オプションを使うときに比べ、エージェントは環境の物理的境界により近く移動できます。 |
入力ジオメトリを大まかににフィルタリングするには、NavMesh Surface コンポーネントの主な設定を使用します。ゲームオブジェクトベースで入力ジオメトリを処理する方法を微調整するには NavMesh Modifier コンポーネントを使用します。
ベイクのプロセスでは、NavMesh Agent または NavMesh Obstacle を持つゲームオブジェクトは自動的に除外されます。それらは NavMesh の動的なユーザーで、NavMesh の構築には貢献しません。
Advanced 設定セクションで、以下の追加パラメーターをカスタマイズできます。
プロパティー | 機能 |
---|---|
Default Area | NavMesh を構築するときに生成されるエリアタイプを定義します - Walkable (デフォルト) - Not Walkable - Jump エリアタイプをもっと詳細に変更するには、NavMesh Modifier コンポーネントを使用します。 |
Override Voxel Size | NavMesh のベイクの入力ジオメトリをどれだけ正確に処理するかを制御します (これは速度と精度のトレードオフです)。チェックボックスをチェックすると有効になります。デフォルトではチェックされていません (無効)。エージェントの半径ごとに 3 つ (直径ごとに 6 つ) のボクセルは、迅速にベイクしながらドアのような狭い通路を捉えることが可能です。大きなオープンエリアでは、半径ごとに 1 つまたは 2 つのボクセルを使用してベイクをスピードアップします。密な屋内スポットは、半径ごとに 4〜6 ボクセルなどのより小さいボクセルに適しています。半径ごとに 8 以上のボクセルを使っても、通常は、それ以上あまり利点はありません。 |
Override Tile Size | ベイク処理を並行して、かつ、メモリ上効率的に行うために、ベイクのためにシーンをタイルに分割します。NavMesh 上に表示される白い線は、タイルの境界です。デフォルトのタイルサイズは 256 ボクセルで、メモリ使用量と NavMesh フラグメンテーションのトレードオフのバランスが取れています。 デフォルトのタイルサイズを変更するには、このチェックボックスをチェックし、 Tile Size フィールドに、タイルサイズを設定するボクセル値を入力します。タイルが小さければ小さいほど、NavMesh は断片化されます。このようにすると、最適でないパスが発生することがあります。 NavMesh カービングはタイル上でも動作します。多くの障害物がある場合は、タイルサイズを小さく (たとえば、64 から 128 ボクセル) することで、カービングを短時間で行うことができます。ランタイムに NavMesh をベイク処理する予定がある場合は、小さいタイルサイズを使用して最大メモリ使用量を低く抑えます。 |
Build Height Mesh | サポートされていません。 |
Debug Visualization セクションの設定を使用して、NavMesh を作成する間に発生した問題を検証します。様々なチェックボックスは NavMesh の作成処理の各ステップを示しています。それには、入力シーンのボクセル化 (Input Geometry)、領域の分割 (Regions)、形状の生成 (Contours)、NavMesh のポリゴン (Polygon Meshes) が含まれます。
2017–09–14 限られた 編集レビュー でパブリッシュされたページ
5.6 の新機能
新しい Advanced セクションの Debug Visualization は2017.2 で追加NewIn20172
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.