Vamos a entrar a una parte básica en el diseño de juegos, "Los Prefabs"
Un Prefab es un componente que puede almacenar cualquier cosa, desde una partícula, bala o arma, hasta un personaje, edificio o vehículo, lo mejor es que son objetos que se pueden clonar por medio de instancias.
Cuando descargamos activos del Asset Store todo viene organizado en Prefabs, son como cajas mágicas que almacenan modelos, scripts, sprites, texturas, etc.
Para entender el concepto de Prefab vamos a crear una escena de prueba:
Agregamos un Cubo con la escala 10,0.1,10 (forma de plataforma) y posición 0,0,0.
Arriba de la plataforma creamos una esfera y le asignamos un componente Rigidbody con masa de 1 kg (ya tiene su colisionador).
Creamos el Script PrefabTest.Cs
La función del Script será crear una instancia de la esfera cada vez que se presione la barra espaciadora.
Para almacenarlo creamos un GameBrain como en los ejercicios anteriores.
También creamos un nuevo folder: My prefabs
Crear un prefab es muy sencillo, simplemente arrastre su esfera desde el panel Hierarchy a la carpeta My prefabs...
¡Listo!
La caja color azul es una copia de nuestra sphere y puede convertirse en clones infinitos por medio del script.
Ahora borre la sphere de la excena, notará que ahora se ve con un ícono de una caja azul en Hierarchy, significa que Unity ya lo tiene guardado como prefab.
El GameBrain con su script agregado nos pregunta por el prefab...
Arrastre el prefab a la casilla del script y ¡listo!
Al ejecutar y presionar la barra espaciadora se crean instancias (clones de la esfera), así precisamente se crean las balas de cualquier shooter.
Sigamos con el ejemplo, crearemos una explosión al caer la esfera...