Saltar al contenido principal

Prefabs e instanciación

Ambos te dan muchos de algo. Resuelven problemas completamente distintos, y elegir el equivocado es una fuente habitual de tedio o de escenas lentas.

PrefabInstanciación
Copiaun árbol de objetosla geometría de un objeto
Cada copiatotalmente independiente, editablesolo se dibuja, no se edita
Bueno parauna silla usada en doce salasdiez mil briznas de hierba
Editar una vez, actualizar en todas partesno aplica: todas son el mismo objeto

Prefabs

Un prefab es un árbol de objetos guardado que puedes soltar en escenas una y otra vez: una lámpara con su luz y su brillo, una puerta con su marco y su sonido, un personaje totalmente montado.

Cambia el prefab y todas sus instancias se actualizan. De eso se trata: arreglas el pomo de la puerta una vez, no en doce salas.

Cada instancia es una parte real de tu escena: puedes moverla y cambiar en ella lo que sea específico del sitio donde está.

Haz el prefab con el segundo, no con el quinto

En cuanto te pilles copiando un pequeño grupo de objetos por segunda vez, conviértelo en prefab. Hacerlo después, cuando ya tienes doce copias dispersas, significa reconciliar doce juegos de pequeñas diferencias.

Instanciación

La instanciación dibuja la geometría de un objeto muchas veces en una sola llamada. Mil copias cuestan más o menos lo que cuesta una, que es lo que hace posibles siquiera los campos de hierba, las multitudes, los cinturones de asteroides y los bosques.

Tres formas de disponer las copias:

FuenteLas dispone
griden una retícula regular, con desorden opcional para romper la regularidad
scattersueltas dentro de una caja o una esfera
childrenuna copia por objeto hijo, en la posición de cada uno

La fuente children es la opción «haz esto rápido»: coloca las cosas a mano donde las quieras, luego actívala y se colapsan en un único dibujado. Mientras está activa, los hijos dejan de dibujarse por su cuenta.

Hacer que las copias se vean distintas

Las copias son la misma geometría, así que sin ayuda se ven idénticas y se leen como papel pintado. Tres ajustes rompen eso:

AjusteEfecto
scaleMin · scaleMaxcada copia toma un tamaño aleatorio entre ambos
rotationJittercada copia recibe un giro aleatorio
colorA · colorBcada copia toma un tinte entre los dos

Para más que eso, un grafo de material puede leer qué copia se está dibujando y variar a partir de ahí lo que quieras: mecerse con otra fase, otro grado de desgaste, otro patrón.

La disposición se genera, nunca se guarda

Un recuento, una forma y un seed producen la misma disposición en todas partes: en el editor, en un móvil, para cada participante de una sala multijugador. Nada se sincroniza, así que diez mil copias no cuestan nada en la red.

Cambia el seed para obtener otra disposición con los mismos ajustes.

maxCount es una barandilla de seguridad: las copias que pasen de ahí no se dibujan, así que un dígito de más no puede intentar reservar una cantidad imposible de memoria.


Siguiente: Carga y pantalla de lanzamiento