2017-04-20 1 views
1

Ich habe eine Kamera vorfabrizieren, die ich 4 mal an verschiedenen Orten instanziieren, wo ich Rendertextur (als Zieltextur) hinzufügen möchte, damit ich die gleiche Textur nehmen und auf einem Flugzeug für die Überwachung in einer der Szene anwenden konnte. Bitte fragen Sie, ob es nicht klar ist. Ich versuche, eine Überwachungsüberwachung zu machen, weiß aber nicht, wie ich das machen soll, und ich stecke dabei fest. Bitte geben Sie Beispiele Danke im Voraus.Wie man eine Textur (als Zieltextur) auf eine instanziierte Kamera anwendet?

Antwort

1

Ich denke, das Einheitshandbuch erklärt es sehr gut https://docs.unity3d.com/Manual/class-RenderTexture.html.

ein bisschen genauer zu sein, hier ist eine mögliche Implementierung:

einige RenderTextures im AssetFolder erstellen, als Sie sie zu Ihrer Kamera-Skript zu verbinden, um sie gemacht zu bekommen. Fügen Sie diese Datei Ihrer TexturRender-Kamera hinzu.

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); 
} 
} 

Ich beginne eine Koroutine, das jede Sekunde, legte in den nächsten RenderTexture aus dem Array und mache das Bild meiner TextureRender-Kamera ein wenig bewegt. Am Ende deaktiviere ich die Kamera. Und das ist das Ergebnis, wenn Sie alle 4 RenderTextures auf Quads setzen: Result

+0

Danke für die Antwort. Die Kamera wird aus einem Prefab instanziiert. Wie bekomme ich die Rendertextur zur instanziierten Kamera und bewerbe mich auf einer Oberfläche zur Ansicht. – RingR89

+0

Sie können Ihr RenderTexture einfach zu Ihrem Kamera-Prefab hinzufügen (mit dem obigen Skript anhängen) im Asset-Fenster. Wenn Sie das Prefab instanziieren, enthält es die Verweise auf Ihre RenderTextur-Assets. Um die RenderTextures anzuzeigen, fügen Sie einfach ein Quad (oder etwas anderes) hinzu und ziehen Sie das RenderTexture darauf, um das Material zu ändern. Sobald Ihre Kamera gerendert ist, sehen Sie die Textur auf dem Quad. –

Verwandte Themen