Desarrollador por primera vez aquí y estoy luchando con un problema. Hice una simulación del problema en Unity 3D normal, ya que la realidad virtual asusta a algunas personas talentosas para que no me ayuden. Eso se puede descargar aquí: https://gofile.io/d/qHDlUZ El archivo es un zip llamado: SoundTestTroubleShooting. Una compilación de Unity en 24,7 MB Siga el número en los botones. Botón 1 "Elegir música" Activa el Cubo. Botón 2/4 "Reproducir música" Comprueba si el cubo está activado y reproduce la canción si ese es el caso. Botón 3 "Reiniciar Escena" Detiene la música y recarga la escena. Cube tiene dontdestroyonload. Después de eso, presiono el botón 2/4 "PlayMusic" y no encuentro que el cubo esté activo. ¡¿POR QUÉ?! Volviéndose loco aquí.
Texto antiguo con todo el problema aquí:
En mi juego, tengo cuatro canciones en el menú de inicio entre las que mi jugador puede elegir. Elige uno presionando uno de los cuatro botones. Esto activa un GameObject vacío, llamémoslo SmileMusicTrigger. SmileMusicTrigger tiene un dontdestroyonload y se desactiva con los otros tres botones si el jugador quiere cambiar de canción.
El jugador presiona Comenzar, lo que lo mueve a su posición. Presiona inicio y este botón tiene:
public GameObject SmileMusicTrigger; public GameObject EpicMusicTrigger; public GameObject GodMusicTrigger; public GameObject VikingMusicTrigger; void OnTriggerEnter() { if (SmileMusicTrigger.activeSelf) { AudioManager.instance.Play("Smile"); } if (EpicMusicTrigger.activeSelf) { AudioManager.instance.Play("Epic"); } if (GodMusicTrigger.activeSelf) { AudioManager.instance.Play("God"); } if (VikingMusicTrigger.activeSelf) { AudioManager.instance.Play("Viking");y mi juego comienza y la música comienza bien. Cuando el jugador muere, reinicia la escena con el botón de reinicio que dice lo siguiente sobre la música:
void OnTriggerEnter() { AudioManager.instance.Stop("Smile"); AudioManager.instance.Stop("Viking"); AudioManager.instance.Stop("God"); AudioManager.instance.Stop("Epic");} }
después de ejecutar este código, la escena se reinicia y no parece que mi botón de Inicio pueda verificar el estado activo de SmileMusicTrigger nuevamente. Sé que SmileMusicTrigger está activo durante el reinicio de la escena porque lo veo debajo de dontdestroy en la jerarquía cuando el juego se está ejecutando y está marcado como activado en el inspector. Pero parece que no puedo volver a llamarlo. Por lo tanto, mi música solo suena una vez.
Audiomanager también está bajo Donotdestroy, así que no creo que el problema esté ahí.
Lo siento si esto es desordenado. Estoy trabajando muy duro para que esto funcione, pero estoy muy atascado en este momento. Agradecido por cualquier ayuda. ¡Mis mejores deseos!