Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Mi juego android se sale cuando cargo una nueva escena

Iniciado por Argo214, Septiembre 28, 2016, 02:13:26 PM

Tema anterior - Siguiente tema
Hola! Mi juego android se sale cuando cargo una nueva escena. Cuando lo hago en el editor de unity todo está ok y carga bien el otro nivel. Este es el error que me aparece en el Android Decide Monitor al testarlo. Me podéis echar una mano para resolverlo?
 

09-28 14:04:24.343: A/libc(31857): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x9c in tid 31879 (UnityMain)
09-28 14:04:24.486: W/ActivityManager(847):   Force finishing activity 1 com.asm.NETPOINTBOA/com.unity3d.player.UnityPlayerNativeActivity
09-28 14:04:24.575: W/InputDispatcher(847): channel '35106e3 com.asm.NETPOINTBOA/com.unity3d.player.UnityPlayerNativeActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0x9
09-28 14:04:24.575: E/InputDispatcher(847): channel '35106e3 com.asm.NETPOINTBOA/com.unity3d.player.UnityPlayerNativeActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
09-28 14:04:24.578: I/WindowState(847): WIN DEATH: Window{35106e3 u0 com.asm.NETPOINTBOA/com.unity3d.player.UnityPlayerNativeActivity}
09-28 14:04:24.579: W/InputDispatcher(847): Attempted to unregister already unregistered input channel '35106e3 com.asm.NETPOINTBOA/com.unity3d.player.UnityPlayerNativeActivity (server)'

 
 

para mi no dice mucho... q version de unity es?
 
si no puedes cargar escenas, puedes instanciar prefabs con las escenas... lleva un poco de trabajo pero es posible

Estoy intentando que la imagen de la cámara del teléfono se proyecte sobre un plano en 2 escenas de un juego (como si fuera una pantalla de cine). Estoy usando WebCamTexture. Todo funciona bien en el editor de Unity pero cuando lo hago en mi android al cargar la segunda escena el juego se sale. La script que he añadido al plano donde proyecto la cámara es:
 

using UnityEngine;
using System.Collections;
public class CameraController : MonoBehaviour
{
public WebCamTexture mCamera;
public GameObject plane;
void Start ()
{
   plane = GameObject.FindWithTag ("PlayerCam");
   mCamera = new WebCamTexture ();
   plane.GetComponent<Renderer>().material.mainTexture = mCamera;
   mCamera.Play ();
}
}

 
Agradecería mucho que alguien me echara una mano para resolverlo. Gracias!

Septiembre 28, 2016, 06:37:06 PM #3 Ultima modificación: Septiembre 28, 2016, 06:38:33 PM por Argo214
Tengo la 5.3.5f1
 
El error proviene de esta script, pero no sé la causa:
 

using UnityEngine;
using System.Collections;
public class CameraController : MonoBehaviour
{
public WebCamTexture mCamera;
public GameObject plane;
void Start ()
{
   plane = GameObject.FindWithTag ("PlayerCam");
   mCamera = new WebCamTexture ();
   plane.GetComponent<Renderer>().material.mainTexture = mCamera;
   mCamera.Play ();
}
}

 
 

Pregunta tonta, le haces el Stop() antes de cambiar de escena ?????

pero donde se inicializa la cámara? aparte cuando dices que funciona bien en el editor es a través de webcam en el pc claro.

Por favor, no repitas esta consulta en otros foros, o la borraré. Sigue las normas.

Septiembre 29, 2016, 01:32:23 AM #7 Ultima modificación: Septiembre 29, 2016, 01:44:44 AM por Argo214
Cita de: pioj date=1475088223Por favor, no repitas esta consulta en otros foros, o la borraré. Sigue las normas.
   


Lo siento. Me urge mucho dar con la solución. No lo volveré a hacer.
 
Cita de: hammer date=1475084234Pregunta tonta, le haces el Stop() antes de cambiar de escena ?????
   


No. Cambio de escena con Application.LoadLevel mediante un botón 
 
Cita de: iRobb date=1475087304pero donde se inicializa la cámara? aparte cuando dices que funciona bien en el editor es a través de webcam en el pc claro.
   


Funciona bien en el editor con la webcam del pc y en el teléfono también se ve. El problema viene al pasar a la segunda escena, que en el teléfono se sale del juego. En el pc sí carga bien la segunda escena. Testeando cosas he visto que si elimino la script "cameracontroller" el teléfono carga bien la segunda escena, por lo que deduzco que el problema debe provenir de esta script.

La cámara tiene asociada un plano como child que es en el que se proyecta la imagen, y en ese plano asigno la script anterior.
 
El error que me aparece cuando se sale del juego es el que he puesto en mi primera entrada.

Me refiero a mCamera.Stop() antes  de hacer el  Application.LoadLevel(), prueba a ver.

multiples instancias con ese script? has probado en otro aparato? mucho consumo de memoria y crear la webcamtexture sobrepasa el limite del móvil?

Septiembre 29, 2016, 09:33:27 AM #10 Ultima modificación: Septiembre 29, 2016, 10:16:41 AM por Argo214
Cita de: Braltor date=1475114388multiples instancias con ese script? has probado en otro aparato? mucho consumo de memoria y crear la webcamtexture sobrepasa el limite del móvil?
   


No, sólo está instanciado en el plano donde se proyecta la cámara. En el móvil se ve bien hasta que pulso en el botón para ir a otro nivel y ahí es donde se congela y se sale del juego.

Cita de: hammer date=1475106935Me refiero a mCamera.Stop() antes  de hacer el  Application.LoadLevel(), prueba a ver.
   


Pues parece que puede ser la solución. Es un poco raro pero parece que funciona. Voy a probarlo en varios dispositivos y os cuento.

No es tan raro eso que ha dicho @hammer. Antes de la carga de scene se elimina todo lo que no esté marcado y puede ser un procedimiento demasiado brusco para la cámara que la deje en un estado indeterminado.

Etiquetas: