Más sobre los objetos del juego

En este post vamos a aprender cómo agrupar objetos del juego, cómo guardar objetos y como reusar objetos.

Si queremos modificar varios objetos simultáneamente deberemos seleccionar aquellos objetos que deseemos modificar. Para ellos mientras mantenemos pulsado Shift seleccionaremos con clic todos los objetos que deseemos modificar en Scene. El mismo procedimiento se aplica con Hierarchy pero manteniendo pulsada la tecla Ctrl en vez de Shift, con Shift seleccionará todos los objetos desde el primer objeto que hayamos marcado hasta el último que marquemos. Una vez seleccionados los objetos podremos observar que modificando un parámetro en Inspector modificaremos ese parámetro en todos los objetos que lo compartan. Si alguno de los parámetro no tiene el mismo valor entre los objetos aparecerá en blanco con puntos suspensivos, no obstante si lo modificamos se aplicará y sobreescribirá en todos los objetos que tengan dicho parámetro.

multiple selection

Aprendamos ahora cómo agrupar objetos. Empecemos por crear una especie de estructura con cubos. Para ello crearemos un cubo, lo reproduciremos mediante Ctrl+C y Ctrl+D (visto anteriormente cómo hacerlo aquí), seleccionamos ambos cubos y repetimos el proceso, volvemos a seleccionar los cuatro cubos y repetimos una última vez colocándolos encima. Crearemos ahora un objeto vacío (no tendría necesariamente que ser este tipo de objeto), pero previamente seleccionaremos los cubos y pulsaremos F para fijar nuestro punto focal entre ellos y así crear nuestro objeto vacío en esa posición. A continuación seleccionaremos todos los cubos en Hierarchy y los arrastraremos encima del nombre de nuestro objeto vacío. Ahora tendremos un menú desplegable en nuestro objeto vacío en el que aparecerán los cubos. Estos cubos serán cada uno un «child» (hijo) del objeto vacío que será «parent» (padre). Si movemos, rotamos o escalamos el objeto padre, los objetos hijos se verán afectados del mismo modo. Si desmarcamos la casilla del objeto padre en Inspector todos los objetos serán desactivados. Del mismo modo si cambiamos el Layer nos dará la opción de cambiar también la de sus objetos hijos. Además, los datos de posición de los cubos vendrán dados con respecto a su objeto padre (posición local) y no con respecto al nivel en el que están (posición global).

parent child

Podremos también crear objetos hijos dentro de otros objetos hijos. Pongamos por ejemplo un escenario en el que tenemos un cubo, una cápsula y una esfera. Si metemos la esfera dentro de la cápsula en Hierarchy y luego el cubo dentro de la esfera, tendremos que el cubo es un objeto hijo de la esfera que a su vez es un objeto hijo de la cápsula. Si por ejemplo desplazamos la cápsula, se moverán también el cubo y la esfera. Sin embargo, si solo movemos la esfera también se moverá el cubo por ser un objeto hijo de la esfera.

capsulespherecube

Expliquemos ahora qué es un prefab. Un prefab es un objeto prefabricado (como su nombre indica). Estará localizado en nuestra carpeta de Assets en Project. Si tenemos varios objetos de este tipo en nuestro juego y queremos modificarlos, para ello modificaremos el prefab y estos cambios afectarán a todos los objetos de este tipo. Procederemos ahora con la creación de un prefab. Para ello crearemos un objeto, un cilindro por ejemplo. Lo personalizaremos añadiéndole un material y una luz para hacerlo único. Por motivos de organización crearemos una carpeta para nuestros prefabs en Assets. Entramos en la carpeta y creamos un prefab (Create->Prefab). Para convertir nuestro cilindro personalizado en un prefab tan solo debemos arrastrarlo de Hierarchy a Project y soltarlo encima del prefab que acabamos de crear.

prefab creation

Si seleccionamos el prefab veremos sus características en Inspector. Para añadir un objeto de este tipo bastará con arrastrar el prefab y soltarlo en Hierarchy o en Scene. El nuevo objeto tendrá el mismo nombre que el prefab del que procede. Estos objetos pueden ser modificados de manera individual e independiente, pero si modificamos el prefab afectará a todos los objetos creados a partir de él. En estos objetos habrá una opción en Inspector con el nombre Prefab que dispondrá de tres botones: Select, Revert, Apply. Select seleccionará el prefab en la pestaña Project. Si modificamos uno de los objetos y le damos a Revert, retomará los valores del prefab. Si por el contrario le damos a Apply, estos cambios se aplicarán al prefab y, por tanto, a todos los objetos de este prefab. Cuando modificamos algún parámetro de uno de estos objetos las letras de este parámetro se pondrán en negrita. Si le damos a Apply, estos cambios se aplicarán al prefab y ya no estarán en negrita.

prefabs

2 comentarios en “Más sobre los objetos del juego

Deja un comentario