原カバンは鞄のお店ではありません。

Unityを使ったゲーム制作のあれこれを綴っていきます。

【Unity】LOD Groupを使うと何ができるのか

最近の願い事

長く続くコロナ禍の中で唯一良かったことが会社の無駄な会議や飲み会が開催されないという事だったのに、ここ最近の社内で「Zoom飲み会」というワードが飛び交っていて戦々恐々としている皆さんこんにちは。IT系企業勤めの場合「家にPCがないので~」といった手口が使えないので逃げ場がない、上司が急に言い出さないことを願っています。

 

Level Of Detail

LODとはLevel Of Detailの略で、スマホゲーム等でパフォーマンスを改善する手法として用いられています。
カメラから遠く離れているオブジェクトは小さくて詳細は見にくいのでポリゴンを減らして表示させよう、という合理的な手法です。

 

Untiyでは距離によって表示させるオブジェクトをグループ化することで、カメラとの距離によって表示を自動で切り替える機能を備えています。
それがLOD Groupコンポーネントです。

 

導入は簡単

例えば下の図のようなポリゴン数の異なるオブジェクトを用意して、これを距離によって表示を切り替えるとします。

f:id:Karvan:20200623234232p:plain

 

まず、これらを束ねる空のオブジェクトを作成、3つのオブジェクトをすべて子要素にし、それらが同じ位置に重なるように配置します。

f:id:Karvan:20200623234613p:plain

 

次に親のオブジェクトにLOD Groupコンポーネントをアタッチ、LOD Groupコンポーネントでカメラがどのくらい離れたときに、どのオブジェクトを表示するかを設定します。

f:id:Karvan:20200623234809p:plain

LOD0がカメラがオブジェクトに最も近い距離、LOD2が最も遠い距離となっています。LOD2のエリアより遠くにカメラが移動した場合は非表示になります。

 

各LODをクリックすると、その下にRendersの欄が表示されるので、欄内の「Add」ボタンを押すとその距離で表示させれる子オブジェクトを選択できます。
LOD0,LOD1,LOD2で表示させるオブジェクトをそれぞれ選択すればLOD Groupの設定完了です。めっちゃ簡単

 

ちなみにカメラをドラッグして動かすことで、シーンビューにリアルタイムでLOD切り替えの距離が表示されます。
また、バーを動かすことで、シーンビューにリアルタイムでLOD切り替えの距離が表示されます。

 

実際にカメラを動かしてみると、カメラからの距離によってオブジェクトが切り替わっているのがわかると思います。

f:id:Karvan:20200623234953g:plain

 

他の使い方を考える

LODの使用例として挙げらるのは上記のように同じオブジェクトのハイポリゴンとローポリゴンを切り替える例ばかりですが、実は各LODで表示させる各オブジェクトは同じ形状である必要はありません。
つまり、まったく別のオブジェクトをLOD Groupに纏めてしまっても全然かまわない。

 

だったらちょっと面白い演出しても使えるのではないか、と思ったわけです。
こんな感じで

 

f:id:Karvan:20200623235159g:plain

パフォーマンス改善以外にもビックリ箱的な演出にも使えるかもしれません。

 

◇プライバシーポリシー

●個人情報の利用目的

当ブログでは、メールでのお問い合わせ、メールマガジンへの登録などの際に、名前(ハンドルネーム)、メールアドレス等の個人情報をご登録いただく場合がございます。

これらの個人情報は質問に対する回答や必要な情報を電子メールなどをでご連絡する場合に利用させていただくものであり、個人情報をご提供いただく際の目的以外では利用いたしません。

●個人情報の第三者への開示

当サイトでは、個人情報は適切に管理し、以下に該当する場合を除いて第三者に開示することはありません。

・本人のご了解がある場合
・法令等への協力のため、開示が必要となる場合

個人情報の開示、訂正、追加、削除、利用停止
ご本人からの個人データの開示、訂正、追加、削除、利用停止のご希望の場合には、ご本人であることを確認させていただいた上、速やかに対応させていただきます。

アクセス解析ツールについて

当サイトでは、Googleによるアクセス解析ツール「Googleアナリティクス」を利用しています。

このGoogleアナリティクスはトラフィックデータの収集のためにCookieを使用しています。このトラフィックデータは匿名で収集されており、個人を特定するものではありません。
この機能はCookieを無効にすることで収集を拒否することが出来ますので、お使いのブラウザの設定をご確認ください。

●免責事項

当サイトからリンクやバナーなどによって他のサイトに移動された場合、移動先サイトで提供される情報、サービス等について一切の責任を負いません。

当サイトのコンテンツ・情報につきまして、可能な限り正確な情報を掲載するよう努めておりますが、誤情報が入り込んだり、情報が古くなっていることもございます。

当サイトに掲載された内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。

●プライバシーポリシーの変更について

当サイトは、個人情報に関して適用される日本の法令を遵守するとともに、本ポリシーの内容を適宜見直しその改善に努めます。

修正された最新のプライバシーポリシーは常に本ページにて開示されます。