Noticias

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

Que es mejor? cargar los assets desde editor o desde codigo?

Iniciado por biztor, Enero 21, 2016, 11:10:16 PM

Tema anterior - Siguiente tema
Buenas, me preguntaba que es mejor, si cargar los sprites por ejemplo desde código con el resource.load o creando por ejemplo un array de sprites, y desde el editor arrastro los sprites y así ya los tengo referenciados en el codigo. Así a primeras me parece mejor la 2º opcion, que es la que uso, pero estoy viendo que hay gente que carga los assets metiendolos en una carpeta llamada resources y luego cargándolos. Un saludo.

Creo que los resources es útil para cargar un objeto que no está en la escena o en mitad de un nivel, por ejemplo: tu jugador puede escoger entre 10 objetos diferentes, entonces haces un switch y cargas el objeto X en tu variable en vez de tener 10 variables 'prefabs' o un array de prefabs, al principio no creo que se note la diferencia, entre menos lo compliques creo yo que es mejor

Es que para eso yo hago con arrays publicas. Por ejemplo en un sistema de inventario. Creo un array con todos los sprites de los objetos. y luego accedo al sprite correspondiente de ese array. Para mi es mas facil arrastrar en el editor 100 sprites, y ver que una manzana esta en la posición 0, luego en código si el objeto que cojo tiene el ID 0, pues busco ese indice en el array. Pero vamos no se si es lo mismo, o com***cionalmente es mejor todo desde código, seria cargar al principio todos los sprites en una variable, luego si quieres acceder a uno especifico, mirar la carpeta por separado, no se.

No se puede saber cual es la mejor opcion de entrada, porque dependera de tus necesidades ...
  • Tienes 100 sprites posibles y vas a acceder a muchos de ellos continuamente ? Sin duda la mejor opcion es el array y añadirlos directamente desde el editor, con esto consigues que queden cargados en memoria y despues consumas menos recursos al acceder a ellos.
  • Tienes 100 sprites posibles y vas a acceder a algunos ocasionalmente ? Sin duda la mejor opcion es acceder a ellos mediante codigo (resources) para evitar tener un monton de sprites cargados y asi liberar memoria.

Tienes otra opción intermedia. Como los sprites van en paquetes y cada paquete lo consumirás en momentos distintos, puedes crear un prefab e instanciarlos. Esto te permitirá usarlos desde el editor y probarlos sin consumir recursos en el app cuando no los utilices.


Etiquetas: