Clear Flagsとは【Unity】
はじめに
みなさん、こんにちは。涼海と申します。
今回は、Unityのカメラコンポーネントの中や、Visual Compositorの各ノード内にあるClear Flagsとは何かについてのメモとなります。
間違っていること等ございましたら、ご連絡いただけると嬉しく思います。
では、今回もよろしくお願いいたします。
Clear Flagsとは
Clear Flags(クリアフラグ)の言葉をそのまま考えると、フラグをクリア(削除)すると読めます。
では、フラグとは何なのでしょうか。
調べてみました。
上記引用や引用元のサイトを読むと、フラグというのは、何らかの処理を実行した際に出た結果データを格納しておく領域のこと、だとわかりました。
では、この「何らかの処理」とは何になるでしょうか。
今回の場合は、Unityのカメラコンポーネントにあるため、カメラに関する処理であることがわかります。
そして、カメラが主に行うことはレンダリングとなるわけです。
そのため、今回の「何らかの処理」とはレンダリングであることが考えられます。
より具体的な内容は以下の引用からわかります。
上記引用含めて考えると、Clear Flagsとは、
各カメラが格納している色と深度に関する情報の領域(Flags)をクリア(削除)する
ことであると考えられます。
Clear Flagsで何ができるのか
次は、このClear Flagsとは何ができるものなのかについてとなります。
色や深度情報をクリアすることで、何ができるのでしょうか。
オブジェクトがない部分のレンダリングを設定できる
オブジェクトがない部分、DCCツールではAlphaで抜かれるような部分(以後、空白の部分)のレンダリング結果を変更できます。
以下オプションの内容で変更可能です。
描画順番を変更できる
複数カメラを使ってUIをオブジェクトの前に表示したいなど、以下オプションのDepth Onlyという設定を活用することで描画順番の変更が可能となります。
Clear Flagsのオプション
Clear Flagsは、以下のオプションがあります。
SkyBox
デフォルトの設定。空白の部分にカメラのSkyboxを表示します。
設定されていない場合はLightingウィンドウで選択されているSkyboxとなります。
それも設定されていない場合にはBackgroundで設定されている色となります。Solid Color
空白の部分に現在のカメラのBackground Colorが表示されます。Depth Only
カメラコンポーネント内のDepthで設定した数値を使って、描画順番を変更できます。
この設定にしたカメラは、空白の部分の描画がないため、Depth数値の大きいカメラに設定することで、Depth数値の小さいカメラの上にDepth数値の大きいカメラでレンダリングしたオブジェクトを描画することができます。
Depthについて
Clear Flagsで使用される設定として、カメラコンポーネント内にあるDepthがあります。
今回使用されているDepthとは、
レンダリングの描画順番を決めることができる設定
だと理解しております。
数値の小さい方から大きい方へ向かって、順番に描画されます。
Clear Flags > Depth OnlyやDepthの設定を使うことでできることは以下サイトを見るとよくわかるかと思います。
おまけ : Clear Flagsが見つからない
カメラのコンポーネント内に、Clear Flagsという項目が見つからないというときがありました。
そのようなことが起こるのは、URPを使用している場合です。
URPでは、Clear FlagsやDepthの代わりにカメラスタッキングというものを使うそうです。
参考
さいごに
今回はClear Flagsについてメモをしました。
いまいちわからなかったことについてわかってよかったです。
こちらはURPでは使用されないものではありますが、Visual Compositorのノード内に設定がありますため、今後使うためにも知っておいた方が良いでしょう。
ここまで読んでくださり、ありがとうございました。
では、また会う日まで。
この記事が気に入ったらサポートをしてみませんか?