2017-04-20 13 views
1

レンダリングテクスチャとしてレンダリングテクスチャを追加したい別の場所で4回インスタンス化するカメラのプレハブを用意しています。そのため、同じテクスチャを使用して、シーンの1つでモニタするためにプレーンに適用できます。明らかでないかどうか尋ねてください。私は監視監視をしようとしているが、これを行う方法がわからず、私はこれに固執している。あらかじめありがとうございます。インスタントカメラでレンダリングテクスチャをターゲットテクスチャとして適用する方法は?

答えて

1

ユニタリー・マニュアルがとてもうまく説明すると思います。https://docs.unity3d.com/Manual/class-RenderTexture.html

少し具体的には、ここで可能な実装があります:

あなたがそれらをレンダリング得るためにあなたのカメラスクリプトにリンクするために持っているよりも、AssetFolderでいくつかのRenderTexturesを作成します。このファイルをTextureRender-Cameraに追加します。

using System.Collections; 
using UnityEngine; 

public class Camera2Texture : MonoBehaviour { 

public RenderTexture[] renderTextures; 
private Camera cam; 

private void Awake() 
{ 
    cam = GetComponent<Camera>(); 
} 

private void Start() 
{ 
    StartCoroutine(RenderTexturesCoroutine()); 
} 

IEnumerator RenderTexturesCoroutine() 
{ 
    for (int i = 0; i < renderTextures.Length; i++) 
    { 
     // just move the camera a little bit and focus the center of the scene 
     this.transform.position += Vector3.left * 2 * i; 
     cam.transform.LookAt(Vector3.zero); 

     cam.targetTexture = renderTextures[i]; 
     yield return new WaitForSeconds(1f); 
     cam.Render(); 
    } 

    cam.targetTexture = null; 
    this.gameObject.SetActive(false); 
} 
} 

は私がarrayから次RenderTextureに入れて、私のTextureRender-カメラ毎秒少し移動コルーチンを開始し、画像をレンダリングします。最後にカメラを無効にします。これは四つのレンダリングテクスチャをすべてクワッドに置いたときの結果です。Result

+0

お返事ありがとうございます。カメラはプレハブからインスタンス化されます。インスタンス化されたカメラにレンダリングテクスチャを取得し、ビューのサーフェスに適用するにはどうすればよいですか。 – RingR89

+0

アセットウィンドウにカメラのプレハブ(上のスクリプトが添付されている)にRenderTextureを追加するだけでよいのです。プレハブをインスタンス化すると、RenderTexturアセットへの参照があります。レンダリングテクスチャを表示するには、クワッド(または他のもの)を追加し、レンダーテクスチャをドラッグしてその素材を変更します。カメラがレンダリングされると、クワッドのテクスチャが表示されます。 –

関連する問題