Jump to content
UnitySpain
RubenV

Duda Scenes

Recommended Posts

Buenos días amigos,

Estoy haciendo un juego puzzle que tiene 3 dificultades y 6 niveles por dificultad.

Mi duda es:

¿Ocupa el mismo espacio final la aplicación si creo una escena para cada dificultad de nivel?(EJ: scene normal1, scene normal2, scene normal3...etc)

¿O ocupa menos el tener dentro de la escena de normal los 6 niveles? (EJ: scene normal )

No se si al tener que "duplicar" el contenido gráfico en cada escena afecta al espacio final.

 

Un saludo y gracias de antemano.

Share this post


Link to post
Share on other sites
3 hours ago, RubenV said:

¿O ocupa menos el tener dentro de la escena de normal los 6 niveles? (EJ: scene normal )

casi seguro que ocupa menos tener todo en 1, pero no es que te ahorras gigas de espacio, estamos hablando de bytes o kilobytes probablemente. (mirá cuanto pesa una escena, un ".unity")

Por el tema del contenido, no pasa eso que decís, el ".unity" o la escena que se serializa (todo a cadena de bytes y adentro) tiene info de todos los gameObjects de la escena, esta info es metadata, osea data de la data(la cruda, la que vés/necesitas en el momento, el recurso, sea audio, mesh, sprite, etc).

Por ejemplo: Si tenés en escena un puente flotante que pesa 1 GB que tiene un Transform T ,meshRenderer MR y un MeshFilter MF. Lo que se va a serializar en el .unity es: el objeto "PuenteFlotante" (string) no es hijo de nadie, tiene un Transform T así y asá (position, rotation, localScale, etc), tiene un mesh renderer MR con tales opciones, y un mesh Filter MF con el Recurso asignado "puenteFlotante.fbx". Esto por si solo pesa "monedas", es probable que estés generando más basura cuadro a cuadro que lo que pesa esto. Ahora, el "overhead" (por decirlo de alguna manera) de tener 1 gran escena vs 10 escenas (se suponen idénticas) va a radicar en que estás metiendo más metadata, más cantidad de archivos, quizás metiendo algún que otro script para manejar las escenas, quizás metiendo más info en las BuildSetting para construir todas las escenas y crear los índices, pero acá no se habla de contenido crudo, es metadata.

Lo que pasa luego es que si todas las escenas hacen referencia a 5 de los 27 puentes flotantes que disponés en tu proyecto, esos 5 van a la build (en teoría).

-> Osea que referenciarlos mediante una escena, o 10 escenas es "lo mismo" (salvo esa posible metadata que mencioné arriba, que no es nada realmente). La ventaja de tener varias escenas radica en el manejo y libertad que tenés, podés llegar a tal punto y descargar de forma asíncrona la escena tal para liberar espacio, o poner los elementos de la UI en una escena separada (por ej el menú de pausa), y más. Osea que si querés optimizar el espacio utilizado no comiences por aquí (ni termines por aquí tampoco).

Las cosas que te pueden ocupar espacio son los Recursos involucrados, Otra vez un ejemplo: si tenés los 27 tipos de puentes flotantes (no se por qué estoy con esto) que necesitas cargar en runtime via una llamada de Resoruces.Load (por qué no) y los tenés en una carpeta llamada "Resources" cada vez que hagas un build, estos recursos se van a llevar a la build final (Unity los lleva porque en cualquier momento podés decir Resources.Load y deben de estar ahí) , si cada puente pesa 1 GB bueno, supongo que el juego te pesará bastante, ni hablar de la memoria disponible que estás usando una vez los cargás en la escena, que ese es otro tema.

Si tenés dudas de esto probalo, hacé una gran escena vs varias, todas referenciando a los mismos recursos, dale build y fijate la diferencia. Los "sharedAssets.assets" de la build generalmente ocupan el mayor espacio.

 

Saludos.

 

 

Share this post


Link to post
Share on other sites

Muchas gracias por la respuesta!!!

Realmente me preocupaba que incrementara mucho el peso final, ya que en el fondo trabajar en escenas separadas es mucho mucho más comodo.

Y mirando lo que decias la escena del menu son 600kb y el nivel normal 426kb.

Ahora comprendo que los assets de los sprites no duplicarán el peso de las escenas.

 

Muchas gracias de nuevo.

Share this post


Link to post
Share on other sites

×
×
  • Create New...