ワールド内に置いたカメラの映像の投影ができる「Render Texture(レンダーテクスチャ)」の紹介

今回は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」に表示されるようになりました!
これでレンダーテクスチャの作成は完了です。

レンダーテクスチャの数を増やすと負荷が高くなってしまうので、気をつけましょう!

ドローンにつけるカメラやサブカメラなど、アイデア次第では色々なことができるので、色々試してみてください!

記事をシェアしてワールド制作を盛り上げよう!