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?
1
A
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
Verwandte Themen
- 1. OpenGL 2.0 Wie man Textur auf Dreieck anwendet?
- 2. Wie man eine JS-Variable auf eine Laravel-Formularaktion anwendet
- 3. Wie man eine Transformationsmatrix auf einen Vektor in SceneKit anwendet
- 4. Wie projiziere ich eine Kamera auf einen Würfel als Textur in jMonkeyEngine 3?
- 5. wie man eine mittelschwere Funktion parallel anwendet
- 6. QML eine Textur auf ein Mesh anwenden
- 7. Wie man mehr als eine Funktion auf eine übergebene Live-Vorlagenvariable anwendet?
- 8. Wie Singleton eine Lazy instanziierte Klasse machen?
- 9. Wie man eine Kraft auf ein Sprite anwendet?
- 10. Wie man eine Funktion auf zwei Listen von Datenrahmen anwendet?
- 11. Wie man eine Anfrage in Mongoose anwendet?
- 12. Wie man ein Design auf eine andere Bildschirmkonfiguration anwendet?
- 13. Wie man eine .pp auf einen Knoten anwendet
- 14. Wie man eine Klasse auf alle Schaltflächen anwendet?
- 15. pandas DataFrame, wie man Funktion auf eine bestimmte Spalte anwendet?
- 16. Wie man mehrere Funktionen auf eine Pandas Dataframe Spalte anwendet?
- 17. Wie man eine Funktion auf ein Tupel anwendet?
- 18. Wie man eine CSS-Klasse auf ein SVG-Textelement anwendet
- 19. Wie man eine jQuery-Animation auf ein einzelnes Objekt anwendet?
- 20. Wie man ein Thema auf eine Android Toolbar anwendet?
- 21. Wie man Stil auf eine bestimmte Reihe von Elementen anwendet
- 22. SpecFlow: Wie man eine Beispieltabelle auf mehr als auf Szenarioumriss anwendet
- 23. Three.js - Exportiere eine Textur als Bild
- 24. Wie kann ich auf eine Textur in OpenGL
- 25. Wie man eine Textur auf einem Dreiecks-Streifen rendert?
- 26. SQL Server. Wie man eine exklusive Sperre auf eine Tabelle anwendet, während eine Einfügung vorgenommen wird?
- 27. Wie man eine Funktion über eine Liste mit vorherigen Ausgaben als Argumente anwendet?
- 28. Wie man Themen auf winform Titelleiste anwendet
- 29. Übergabe einer Selbstreferenz an eine instanziierte Klasse
- 30. Verstehen, wie man anwendet und nicht anwendet
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
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. –