ScreenPocket - 画面の隙間

Unityエンジニアの日々の雑記。たまにpython3とDirectXも触ります

CameraEvent.Before/AfterSkyboxについて

CameraEvent.AfterEverythingで指定されたCommandBufferは全ての最後に行う…ってことは、逆に全ての最初に行うCameraEventも有るのかな??と思ったのですが対になるCameraEvent.BeforeEverythingは無い模様…。

ならば、きっと最初に描画されるSkyBoxの前、BeforeSkyboxに自前のCommandBuffer(スクリーンをクリアするメッシュを描画する)を発行するようにして、カメラのClearFlagをDon'tClearにすれば、自分で用意したメッシュでフレームバッファをクリアできるぞ!

…と思ったのですが、↑の設定(ClearFlagsをDon'tClearにして、CameraEvent.BeforeSkyboxのタイミングでCommandBufferを発行)だと全く反応がない…。

もしやと思って、AfterSkyboxにしてもやっぱり反応がない…。

 

結局ClearFlagsをSkyboxにしないとBefore/AfterSkyboxは反応しませんでした。

 

…ということは、カメラのClearFlagsに依存しないで一番最初のタイミングでCommandBufferを差し込みたかったらCameraEvent.BeforeForwardOpaqueしかないんだろうか…。(ForwardRenderingでの話。)