カメラから Render Texture にレンダリングし、それを貼り付けたオブジェクトを別の Render Texture にレンダリングし、それを貼り付けたオブジェクトをまた別の Render Texture にレンダリングし……というような、入れ子構造の Render Texture の参照があった場合、これを単一フレーム内で遅延なく解決するには、それぞれの Camera の Depth が適切に設定されている必要があります。Depth の値が低いものから順にレンダリングされますので、それを踏まえて設定を行ってください。合わせ鏡のように相互に参照する関係の場合は、残念ながらどちらかを1フレーム遅延させるしかありません。
ちょっと心配でしたので、検証用のサンプルを作ってみました。2つの Render Texture が正しく同期しているのが分かると思います。Depth 設定をずらすと遅延が発生します。
https://github.com/keijiro/CameraSyncTest
なお、フレームバッファをターゲットとする(Target Texture が None の)カメラは、Depth 設定に関わらず、すべての Render Texture よりも後に描画されます。
0 コメント