Asignar textura de renderizado a la cámara – Unity
– UnityAssets3Free
bienvenido , soy Daniel y para hoy os traigo
esta pregunta
Hola, estoy aprendiendo a hacer un visor de audio en Unity. El problema al que me enfrento es que tengo un botón, cuando se hace clic en él, se carga programáticamente otra escena en tiempo de ejecución (llámela escena Phyllo) Phyllo tiene una cámara. Ahora también hay una escena «principal», llámela UI_v15. Puse la vista de la cámara de Phyllo en una textura renderizada. En el interior UI_v15Yo tengo uno Cube
GameObject
Quiero asignar la textura de renderizado de Phyllo al cube
de modo que cuando se presiona el botón mencionado anteriormente, el Cube
puede mostrar la vista de la cámara de Phyllo. Pero ahí es donde me equivoqué…
Lo que sucedió en cambio es que solo estoy captando la visión de Phyllo como un este (Solo obtengo la vista completa de Phyllo). Lo que debería suceder es que la vista debería representarse en el Cubo del que hablé anteriormente.
Cuando se ejecuta el programa, el targetTexture
por Phyllo
La cámara no obtiene una textura, como debería. como muestra aqui en la parte roja
Este es el método que se llama cuando se presiona el botón (dentro de UI_v15).
public void SelectVisualiser()
string sceneName = GetComponent<Button>().GetComponentInChildren<Text>().text;
print("scene name " + sceneName);
SceneManager.LoadScene(sceneName, LoadSceneMode.Additive);
VisualiserManager.instance.LoadVisualiser(sceneName);
public void LoadVisualiser(string name)
//the script PhylloCamera is attached to PhylloCamera in the Phyllo scene.
Camera cam = PhylloCameraRef.instance.phylloCam;
Material mat = new Material(Shader.Find("Standard"));
RenderTexture rt = CreateTexture();
mat.SetTexture("_MainTex", rt);
cam.targetTexture = rt;
display.GetComponent<MeshRenderer>().materials[0] = mat;
la clase PhylloCameraRef se adjunta a la escena Phyllo, que se puede cargar en tiempo de ejecución.
public class PhylloCameraRef : MonoBehaviour
public Camera phylloCam;
public static PhylloCameraRef instance;
void Start()
if (instance is null)
instance = this;
//getting camera
phylloCam = gameObject.GetComponent<Camera>();
¿Alguien sabe por qué la cámara de Phyllo no se renderiza en Cube? Gracias.
EDITAR: A continuación se muestra el código para CreateTexture()
public RenderTexture CreateTexture()
RenderTexture rt = new RenderTexture(256, 256, 16, RenderTextureFormat.ARGB32);
rt.Create();
return rt;
Olvidé agregar, por alguna razón desconocida, la textura de destino de la cámara en UIv_15 está asignada a la textura de renderizado. El cubo es un gameObject 3D real.
0
nota: si aun no se resuelve tu pregunta por favor dejar un comentario y pronto lo podremos de nuevo , muchas gracias
sin mas,hasta la proxima