Version: Unity 6.0 (6000.0)
言語 : 日本語
動的解像度でのスケーリングのコントロール
レンダーターゲットの動的解像度の有効化/無効化

動的スケーリングが発生するタイミングをコントロール

ScalableBufferManager.ResizeBuffers 関数は、呼び出されると直ちにレンダーテクスチャをスケールします。ただし、DynamicallyScalableExplicit フラグを使用してこの動作を変更できます。DynamicallyScalableExplicit でマークされたレンダーテクスチャは、ScalableBufferManager.ResizeBuffers の呼び出し時に自動的にスケールされる代わりに、RenderTexture.ApplyDynamicScale の呼び出し時にスケールされます。スケーリングによりレンダーテクスチャのコンテンツが無効になるため、スケールファクターが変わってもレンダーテクスチャデータが保持されるように、DynamicallyScalableExplicitRenderTexture.ApplyDynamicScale を使用する必要があります。

例えば、Temporal Anti-aliasing は、前のフレームのデータを再利用することで、現在のフレームのビジュアルの質を向上させます。動的解像度スケールファクターがフレーム間で変更される場合、前のフレームのデータを保持する必要があります。それを実現するには、このデータを含むレンダーテクスチャに DynamicallyScalableExplicit マークを付けます。これにより、ScalableBufferManager.ResizeBuffers を呼び出した後もそれが有効なままになります。RenderTexture.ApplyDynamicScale を使用して現在のフレームのレンダーテクスチャのサイズ変更を行うだけで、前のフレームのレンダーテクスチャはサンプリングのために有効性が維持されます。

動的解像度でのスケーリングのコントロール
レンダーターゲットの動的解像度の有効化/無効化