LOD Group コンポーネントは、ゲームオブジェクトの Level of Detail (LOD) を管理するために使います。
LOD レベル間の遷移 のコントロール
LOD レベルを切り替え LOD レンダリングをプレビューする LOD グループ選択バー
Quality 設定の LOD Bias に関する情報。このメッセージは、LOD Bias プロパティが 1 以外に設定されている場合に表示されます。
選択した LOD レベルの Fade Transition Width。このプロパティは、Animate Cross-fading プロパティを無効にする場合にのみ、つまり、時間の代わりに幅で遷移ゾーンを設定を選択する場合にのみ表示されます。
選択した LOD レベルに設定された メッシュ レンダラー。
さらに、コンポーネントの下部に 2 つのボタンがあります。
LOD グループの選択バーは、異なる LOD レベルをカラーボックスで表します。
各 LOD レベルのボックスに表示されるパーセンテージは、そのレベルがアクティブになるしきい値を表します。画面全体の高さに対するゲームオブジェクトの高さの比率に基づいています。例えば、LOD 1 のしきい値が 50% に設定されている場合、ゲームオブジェクトの高さが画面内で半分になるのに十分な距離をカメラが引くと、LOD 1 はアクティブになります。
LODプレビュー の再生ヘッド。カメラのアイコンを左右に動かして、LOD レベルとその遷移をテストできます。再生ヘッドの下部に、現在のパーセンテージが表示されます。
レベルを選択するには、レベルボックスをクリックします。選択した各 LOD レベルに対して、使用するレンダラーを選択 したり 遷移ゾーンをカスタマイズ することができます。
選択バーから LOD レベルを追加、削除するには、LOD レベルボックスを右クリックし、コンテキストメニューから Insert Before か Delete を選択します。
レベル調整のコントロール。LOD レベルのパーセンテージ値を変更するには、LOD レベルボックスの境界の左端をドラッグします。
ノート: Lod Bias プロパティが 1 に設定されていない場合、カメラ位置は、各 LOD レベルが実際に遷移する位置と一致しない場合があります。この場合、選択バーの下に警告メッセージが表示されます。
LOD Group 選択バーでカメラアイコンを動かすと、LOD レベル間の遷移のプレビューが表示されます。カメラアイコンは再生ヘッドのように機能します。LOD Group 選択バーに沿って左右に動かして正確な位置に調整し、プレビューすることができます。プレビューは、各 LOD レベルでレンダリングするカメラを示します。
LOD プレビュー再生ヘッドは、LOD Group 選択バー (左端の 100% から右端の 0% まで) に沿って正確な位置をパーセンテージとして表示します。パーセンテージは、スクリーンの高さに対するゲームオブジェクトのスクリーンスペースでの高さの比率を表します。
レベルを移動していくと、シーンビューにツリーアセットのバウンディングボックスが表示され、オーバーレイはどの LOD がアクティブであるかを示します。
LOD Group 選択バーで LOD レベルボックスを選択すると、Renderers パネルが表示されます。
「レンダラー」は実際にはその LOD レベルのメッシュをもつゲームオブジェクトです。通常は、LODGroup コンポーネントを持つゲームオブジェクトの子です。
現在の LOD レベルのレンダラーメッシュを設定するには、Add ボックスをクリックし、オブジェクトピッカーからその LOD レベルのゲームオブジェクトを選択します。
レンダラーには任意のゲームオブジェクトを選択できますが、子オブジェクトではないゲームオブジェクトを選択した場合は、Unity はそのオブジェクトを LODGroup ゲームオブジェクトの親にするよう指示します。
LOD レベルを滑らかに遷移させることで、プレイヤーのゲーム体験を向上させることができます。カメラが近づいたり遠ざかるにつれて、プレイヤーが現在の LOD レベルから次のレベルへ明らかに切り替わること (ポッピング と呼ばれることもある) がないようにします。
遷移は 遷移ゾーン 内で発生し、Unity は現在の LOD レベルと次の LOD レベルの両方を別々にレンダリングし、それらをクロスフェードします。
クロスフェード は 2 つのレベルを同時にレンダリングする技法で、現在の LOD レベルでは 1 から 0、次の LOD レベルでは 0 から 1 の重み付けで行われます。
Unity は通常、スクリーンスペースのディザリングや透明度のいずれかを使用してクロスフェードを実装します。最後の LOD レベルでは、クロスフェードはありません。現在のレベルはフェードアウトするだけです。
LOD レベルで滑らかな遷移を設定するには、以下の手順を行います。
Fade Mode ドロップダウンを選択し、Cross Fade を選択します。
注意: ツリーアセットが SpeedTree で作成されている場合は、代わりに Speed Tree モードを選択してください。詳細は、SpeedTree モデルの使用 を参照してください。
デフォルトでは、Animate Cross-fading オプションが有効になっています。つまり、タイムベースの遷移が実行されます。カメラの位置に基づいて独自の遷移ゾーンを定義したい場合は、Animate Cross-fading オプションを無効にし、Fade Transition Width プロパティを設定します。
詳細は、遷移ゾーンのカスタマイズ の値を参照してください。
2 つの LOD レベル間の遷移は、モデルの高さの比率が次の LOD のしきい値を超える瞬間から始まります。例えば、LOD 1 のしきい値が 60% に設定されている場合、LOD 0 と LOD 1 のレベル間の遷移は、モデルの高さが 60% になるとすぐに開始されます。遷移は短時間持続します。
この動作は時間によってアニメーション化されるため、Animate Cross-fading プロパティを有効にしたらプロパティを設定する必要はありません。クロスフェードの正確な持続時間はすべての LOD レベルで同じです。
または、各 LOD レベル内の遷移ゾーンを位置によって手動で定義することもできます。各ゾーンは、次の LOD レベルのしきい値よりも前に開始し、終了します。遷移ゾーンに使用する各 LOD レベルの割合を定義します。つまり、次のレベルのしきい値のどれくらい前に遷移が始まるかを設定します。
Fade Transition Width プロパティを使用して、各 LOD レベルで遷移ゾーンを定義します。
Animate Cross-fading オプションを無効にします。
設定したい特定の LOD レベルボックスをクリックします。
Fade Transition Width プロパティは LOD Group 選択バーの下に表示されます。
Fade Transition Width プロパティを設定して、クロスフェード遷移ゾーンの幅を現在の LOD レベルの全体の長さに対する割合(0.0 から 1.0 の間) に設定します。例えば、ブレンディングの開始を遅らせる、より速い遷移を作成するには小さい値を指定します。
SpeedTree ジオメトリは各頂点の 次の LOD 位置を格納します。それで、すべての頂点は現在の LOD 位置と次の LOD 位置の間の補間方法を確認します。SpeedTree で作成したモデルを Unity にインポートすると、自動的に Speed Tree モードに設定されます。
Unity は、現在の LOD ジオメトリをレンダリングし、0 から 1 の値を各頂点に渡し、各頂点が次の LOD 位置に徐々に 移動 するように指示するだけです。遷移の終了時に、現在の LOD と次の LOD のジオメトリは完全に一致します。
2 つの LOD レベルのブレンドは 0 から始まり 1 で終了します。このゾーンに沿った任意のポイントはブレンド係数で、現在の LOD レベルと次の LOD レベルの間の重み付けを表します。
Speed Tree モードではブレンド係数を使用して、現在の Mesh LODレベル と次のメッシュLODレベルの頂点位置を補間し、その位置にジオメトリをレンダリングします。
ノート: Speed Tree モードは、2 つの メッシュの LOD レベル 間のブレンドにのみ使用されます。つまり、現在の LOD レベルと次の LOD レベルの両方にメッシュレンダラーがある場合に限られます。ビルボードの LOD レベル に遷移するとき、または完全にフェードアウトするとき、Unity は クロスフェード スタイルのブレンドを実行します。
Unity には、LOD ジオメトリをブレンドするためのデフォルトのビルトインの技術がありません。ゲームの種類とアセット作成パイプラインに応じて、独自のものを実装する必要があります。
Unity はゲームオブジェクトの画面サイズからブレンド係数を計算し、unity_LODFade.x uniform 変数でシェーダーに渡します。選択した Fade Mode (フェードモード) に応じて、LOD フェードでレンダリングされたゲームオブジェクトに LOD_FADE_PERCENTAGE
か LOD_FADE_CROSSFADE
キーワードのどちらかを使用してください。
時間ベースの (アニメーションの) 遷移の場合、LODGroup.crossFadeAnimationDuration メンバーを使用して、すべての LOD レベルで遷移の正確な継続時間をグローバルに設定できます。
LOD 命名規則については、Level of Detail を参照してください。
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:
Thanks for helping to make the Unity documentation better!
This website uses cookies to enhance user experience and to analyze performance and traffic on our website. We also share information about your use of our site with our social media, advertising and analytics partners.
When you visit our website, we store cookies on your browser to collect information. The information collected might relate to you, your preferences or your device, and is mostly used to make the site work as you expect it to and to provide a more personalized web experience. However, you can choose not to allow certain types of cookies, which may impact your experience of the site and the services we are able to offer. Click on the different category headings to find out more and change our default settings according to your preference. You cannot opt-out of our First Party Strictly Necessary Cookies as they are deployed in order to ensure the proper functioning of our website (such as prompting the cookie banner and remembering your settings, to log into your account, to redirect you when you log out, etc.). For more information about the First and Third Party Cookies used please follow this link.
More information
These cookies enable the website to provide enhanced functionality and personalisation. They may be set by us or by third party providers whose services we have added to our pages. If you do not allow these cookies then some or all of these services may not function properly.
These cookies may be set through our site by our advertising partners. They may be used by those companies to build a profile of your interests and show you relevant adverts on other sites. They do not store directly personal information, but are based on uniquely identifying your browser and internet device. If you do not allow these cookies, you will experience less targeted advertising. Some 3rd party video providers do not allow video views without targeting cookies. If you are experiencing difficulty viewing a video, you will need to set your cookie preferences for targeting to yes if you wish to view videos from these providers. Unity does not control this.
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site. All information these cookies collect is aggregated and therefore anonymous. If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance.
These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms. You can set your browser to block or alert you about these cookies, but some parts of the site will not then work. These cookies do not store any personally identifiable information.