Disparar o arrojar objetos : Unity + GameCreator

albin [rdz]
unity-gamecreator
Published in
4 min readMay 9, 2018

Es necesario tener el plugin Game Creator instalado.

Se añade el modelado u objeto a utilizar como “Bala”

En este ejemplo se tiene un objeto que incluye el modelado y un sistema de particulas:

A este objeto se le debe añadir un Collider y unRigidbody desactivando la gravedad:

El objeto se convierte en prefab:

La bala debe avanzar “hacia adelante” constantemente, para eso se agregará un Trigger de tipo On Start directamente en la bala, luego se creará una Action y a esta se le asignará el módulo Physiscs, configurando en el rigidbody al mismo objeto (la bala) y en la fuerza Z el valor de 20.

Esto provocará que la bala “avance”:

¡Importante!

Cada vez que se modifique la bala que esta en el escenario se debe presionar el botón “Apply” para que se guarden los cambios en el prefab.L

Las balas se deben autodestruírdespués de X tiempo si no colisionaron con ningún objeto. Para lograrlo se puede integrar una nueva acción en el mismo trigger que espere 3 segundos y luego la destruya:

Y por último destruír la bala si colisiona con algún objeto. Creamos un nuevo Trigger como componente de tipo On Trigger Enter con la acción de destruir:

Al finalizar con los cambios dar click en Apply para que se almacene en el Prefab.

Para crear la función de disparo, en el Player : Create > Game Creator > Trigger:

El Trigger deberá ser de tipo On Key Down añadiendo la tecla que se quiera presionar. Agregar una acción con el módulo de “Instantiate”. Cambiar el “Prefab” por GameObject:

Arrastrar el prefab de la bala hacia el campo. Cambiar “Init Location” por Invoker para que la generación de la bala ocurra en la posición del trigger:

Por último hay que ajustar la posición del Trigger hacia adelante del player o en la punta del “disparador”:

Para que las balas no choquen con el mismo Trigger, hay que eliminar su Collider.

Presionando “P” se dispara la bala.

Se puede integrar una segunda explosión (con partículas) en la misma bala al momento de la colisión para que no sólo desaparezca la bala:

  1. Se crea la particula de explosión y se convierte en prefab.

2. En el prefab de explosión se agrega un trigger con la acción de destrucción tras 2 segundos.

3. En la acción de destrucción por colisión de la bala se añade (antes del “Destroy”) un Instantiate y en el gameobject se agrega el prefab de la explosión.

Game Creator Versión 0.5.2

--

--