今回はRender Textureについて紹介します。
本記事は、clusterに対応しているUnityを既に導入していて一度も「Render Texture (レンダーテクスチャ)」を触ったことがないという人に向けて、基本的な使い方を紹介する記事になります。
レンダーテクスチャとは、Unityのマニュアルによれば「ランタイムに作成、更新される特殊なタイプのテクスチャ」
いろいろな使い方ができる機能ですが、今回はワールド内に置いたカメラの映像を投影する方法を紹介します!
レンダーテクスチャを作成する
それでは、レンダーテクスチャを作成していきます。
- Project欄で右クリックして「Create→Render Texture」を選択してください。

選択したら、Project欄に下記が表示されます。
これがレンダーテクスチャとなります。

表示するものの解像度はレンダーテクスチャのInspector内の「Size」から変更が可能です。
大きくすると負荷が高くなってしまうので気をつけましょう。

レンダーテクスチャのためのカメラを用意する
次にレンダーテクスチャに表示する絵を撮るカメラを新しく作成します。
- Hierarchy欄で右クリックし「Camera」を選択するか、上部の「GameObject」から「Camera」を選択してください。

- 名前は「SubCamera」としておきましょう。

- 作成が完了したら、SubCameraを選択してください。Inspectorが下記のように表示されます。
Inspectorの設定で「Clipping Planes」の「Near」の値を小さくするとカメラに近いものでも映るようになります。

次に下の方にある「Target Texture」に作成したレンダーテクスチャを設定します。
- Project欄からドラッグ&ドロップするか、右にある◉を選択して「Select RenderTexture」を表示、そこから選択してください。


これでレンダーテクスチャの設定は完了です!
映すための画面を用意する
まだ映すための画面を用意していないので、スクリーンとなるオブジェクトを用意しましょう。
映すための画面をつくるにはさまざまな方法がありますが、今回はQuadでつくります。名前は「Screen」にしておきましょう。
このとき QuadのX、Yのスケールを表示させたいRenderTextureのアスペクト比に合わせるのをお忘れなく。

そこにつくったレンダーテクスチャをドラッグ&ドロップすると…

SubCameraが映しているものが「Screen」に表示されるようになりました!
これでレンダーテクスチャの作成は完了です。
レンダーテクスチャの数を増やすと負荷が高くなってしまうので、気をつけましょう!
ドローンにつけるカメラやサブカメラなど、アイデア次第では色々なことができるので、色々試してみてください!