今回は3Dオブジェクトが別のオブジェクトの後ろに隠れたときにシルエットやアウトラインを出す方法についてお話しします。
本来なら専用のシェーダーを作成して対応しなければなりませんが、今回は無料アセットで「Quick Outline」というものがいい感じだったので紹介します。
無料アセットをインストールするだけですぐに使えるので、初心者の方でも簡単に3Dオブジェクトにシルエットやアウトラインを出すことが出来るようになります。
確認環境
・Unity2022.3.18f1 (URP)
Quick Outlineの使い方
Quick Outlineのインポート
Quick Outline | Particles/Effects | Unity Asset Store
Use the Quick Outline tool for your next project. Find this and more particle & effect tools on the Unity Asset Store.
上記リンクからアセットをダウンロードして、プロジェクトにインポートします。
アセットは無料でライセンスも標準Unity Asset Store EULAなので、安心して使えます。
アウトライン/シルエット用のコンポーネントをアタッチする
アウトラインやシルエットを付けたいオブジェクトに「Outline」コンポーネントをアタッチします。
このコンポーネントはランタイム時にのみ機能するので、Playモードに入るまではアウトラインやシルエットは付きません。
Outline Mode | アウトラインやシルエットの表示の仕方を変更します。 各種モードは後述します。 |
Outline Color | アウトラインやシルエットの色を指定します。 |
Outline Width | アウトラインの幅を指定します。 Outline.csスクリプトいじれば上限は簡単に変えられます。 |
Precompute Outline | 予め頂点毎の計算をエディタ上で行っておき、計算結果をシリアライズ化しておくことでランタイム時のAwake()での計算を簡略化する。※MeshFilterコンポーネントにのみ有効 |
PlayModeでアウトライン/シルエットの確認
「Outline」コンポーネントを付けたオブジェクトの前に遮蔽物を置いたら、シルエットが確認できます。
すごく簡単かつ、きれいにシルエットが表示されましたね!
Quick Outlineの各Outline Modeについて
Outline All
隠れている部分/隠れていない部分全てのアウトラインを表示します
Outline Visible
隠れていない部分のみのアウトラインを表示します
Outline Hidden
隠れている部分のみのアウトラインを表示します
Outline And Silhouette
アウトラインとシルエットを全て表示します
Silhouette Only
シルエットのみを表示します
コメント