RenderTextureとは?
RenderTextureは、Unityの機能の1つで、カメラの映像をテクスチャとして扱うことができます。これにより、リアルタイムでのリフレクション(反射)表現や、スクリーンショットの取得など、様々な表現が可能になります。
RenderTextureを作成するには?
Projectビュー上で右クリックし、メニューから
Create→Render TextureからRenderTextureを作ることが出来ます。

作成したRenderTextureを選択するとインスペクタ上で内容を確認できます。
必要に応じてSizeなどを変更しましょう。

カメラと紐付ける
CameraコンポーネントのTarget Textureに用意したRenderTextureを設定します。
これにより、カメラに映る内容がRenderTextureに直接描画されるようになります。
Target TextureにRenderTextureを設定してしまうとGameViewには表示されなくなります。
そのためRenderTextureに描画する場合は、別のカメラを用意する必要があります。

RenderTextureを表示する
UIに表示する
UI上でRenderTextureを表示するには、CanvasにRawImageを追加し、TextureにRenderTextureを設定します。

適当にパーティクルを表示してみると以下の様になります。
カメラに映る内容が左上のRawImageに表示されているのが確認できます。
監視カメラに映る映像のように使えそうですね。

マテリアルで表示する
マテリアルを用意してオブジェクトに設定してやれば、
以下の様にモデル上に表示することも出来ます。

スクリプトからRenderTextureを作成する
ここまで、事前に用意したRenderTextureアセットを使っていましたが、
スクリプトから作成することも出来ます。
以下のようなスクリプトを用意し、
描画用カメラと表示先のRawImageを設定しておくと
実行時にRenderTextureを生成して描画できるようになります。
using UnityEngine;
using UnityEngine.UI;
public class RenderCamera : MonoBehaviour
{
[SerializeField] private Camera _renderCamera;
[SerializeField] private RawImage _rawImage;
private RenderTexture _renderTexture;
private void Awake()
{
_renderTexture = new RenderTexture(1980, 1080, 0);
_renderCamera.targetTexture = _renderTexture;
_rawImage.texture = _renderTexture;
}
private void OnDestroy()
{
Destroy(_renderTexture);
}
}
RenderTextureを使ったアイデア
白と赤のスフィアを用意して、赤だけLayerを変更しました。
以下の動画では、MainCameraにはCullingMaskで白のスフィアだけを描画し、
RenderTexture用のカメラには赤のスフィアも描画しています。
ホラーゲームなどで、直接見えないけど、写真に撮ると見える、といった演出に使えるかもしれません。

まとめ
RenderTextureの基本的な使い方を説明しました。
RenderTextureを利用すると、リアルタイムにシーンの変化を反映したテクスチャを生成することが可能になります。
さらに、ゲーム内の特定のエリアをクローズアップしたり、特定の視点からシーンを表示したりするためにも使用できます。
うまく使いこなすとゲームがちょっとリッチになるかもしれません。