Skip to content

A component that dynamically changes the rendering resolution for a particular camera.

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.meta
Notifications You must be signed in to change notification settings

katsumasa/RenderTextureCamera

Repository files navigation

RenderTextureCamera

d96cf94a72c254422bbb572cace0e7ad

概要

UIなどの2Dのレンダリング解像度はそのままに、3Dのレンダリング解像度を下げることで、見た目のクオリティを維持したまま、処理負荷を軽減することが期待できます。 本コンポーネントは特定のカメラのレンダリング解像度を動的に変更する事が可能です。

Dynamic Resolutionとの比較

Unity2018以降のバージョンではDynamic Resolutionが実装されています。 Dynamic Resolutionはプラットフォーム及びグラフィックAPIに依存しますが、Dynamic Resolutionを使用出来る場合、そちらを使用した方が解像度切り替え時のオーバーヘッドが低いと思われます。 Dynamic Resolutionの使用サンプルはこちらになります。

使用環境

  • Unity2017.4以降
  • Android端末で確認を行っていますが、基本全てのプラットフォームで動作する筈です。問題のあるプラットフォームやグラフィックAPIがありましたら、フィードバックをお待ちしております。

使い方

  1. レンダリング解像度を変更する為のCameraを生成します。(既に描画対象毎にCameraが別れている場合は、新たに生成する必要はありません。)
  2. このCameraが何をレンダリングするかを明示的に指定する為にcullingMaskを設定します。
  3. このCamera ObjectへRenderTextureCamera ComponentをにADDして下さい。
  4. RenderTextureCamer ComponentのrenderTextureCamera プロパティへ1で生成したCamera Objectを設定します。
  5. 同じくblitCameraプロパティへRenderTexure Cameraでレンダリングした内容を描画したいCameraを設定します。
  6. blitCameraプロパティへ設定したCamera ComponentのcullingMaskから2で設定したレイヤーを除外して下さい。
  7. shiftプロパティやfilterModeプロパティで解像度やフィルターモードを必要に応じて指定します。

ヒント

既に3Dオブジェクトと2DオブジェクトでCameraが分かれているプロジェクトで3Dのレンダリング解像度を下げたい場合、3Dオブジェクト用のCameraにRenderTextureCamera ComponentをADDし、renderTextureCameraプロパティへ3Dオブジェクトのレンダリング用Camera、blitCameraプロパティへ2Dオブジェクトレンダリング用のCameraを設定します。

プロパティ

renderTextureCamera

レンダリング解像度を下げたいカメラを指定します。 3Dをレンダリングするカメラを想定しています。

blitCamera

renderTextureCameraの上にそのままのレンダリング解像度で描画したいカメラを指定します。 UIなど2Dをレンダリングするカメラを想定しています。

cameraEvent

renderTextureCameraでレンダリングした内容をmasterCameraへBlitするタイミングを指定します。 基本的にBefore Forward Opaqueから変更する必要はありません。

shift

RenderTextureのサイズを指定する為に使用します。 0の場合、ScreenSizeのままとなります。

RenderTextureのサイズ = Screenサイズ >> shift 

filterMode

RenderTextureのフィルターモードを指定します。

※下記のサンプル表示は全てレンダリング解像度はshift=5に設定しています、

Point

image

Bilinear

image

Trilinear

image

その他

フィードバックをお待ちしております。

以上❣

About

A component that dynamically changes the rendering resolution for a particular camera.

Topics

Resources

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.meta

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages