Apuntas y disparas.
Comenzamos con la bala, debido a la amplia variedad de funciones que puede cumplir, mostramos como hacer una bala con los 3 nodos: "RigidBody", "Area" y "KinematicBody".
Bala "RigidBody"
Es la bala que estamos usando en la imagen de portada, ya que esta constantemente cayendo no alcanza a llegar al centro de la mira, ademas debe cumplir con la tarea de mover las cajas (debe tener masa y por ende gravedad).
Bala "Area"
Esta bala no mueve a las cajas, las atraviesa, es bueno registrando las cosas que toca.
Bala "KinematicBody"
Esta bala si mueve a las cajas pero llegando al suelo se desliza, lo cual puedes corregir con código extra no mostrado aquí.
Aveces debido a lo rápido que es una bala ni siquiera se molestan en hacerla, simplemente:
Si se presiona el gatillo y hay a que darle, a ese objetivo directamente le activan la función de bajar vida sin esperar la colisión de un objeto, ya que se asume que al ser tan rápido este objetivo es tocado inmediatamente.
Antes de seguir nos hacen falta teclas.
Ahora sigue el arma, es la encargada de poner y alinear la bala hacia el objetivo con ayuda de la cámara, el gatillo se aprieta con la tecla "Q".
Originalmente este es nuestro personaje:
https://nodosgodot.blogspot.com/2019/08/godot-3d-un-personaje-simple_14.html?view=sidebar
Le agregamos los nodos:
"Camera", como hijo de nuestro personaje
"RayCast", como hijo de "Camera"
Enlazamos la pistola anteriormente creada, como hijo de camera
"TextureRect", como hijo de nuestro personaje, le ponemos el nombre de: "Mira" y ponemos su textura
Ahora el personaje luce así:
Normalmente la mira se mueve con el mouse cuando juegas en pc, con el joystick cuando juegas en consola, arrastrando el dedo cuando juegas en un dispositivo táctil, para hacer esto mas corto la mira se mueve con las teclas: "W", "A", "S", "D", plasmamos eso en el script
En la cámara van las instrucciones:
Activamos el nodo "RayCast" marcando la casilla de "Activado" en "Enabled", después determinamos el tamaño, en este "Cast to" puse un alcance de "z: -20".
Las cajas son simples, un nodo "RigidBody", su malla, su colisión y ya:
Enlazamos a nuestro personaje y a las cajas, las ordenamos y listo.
Ver para creer.
https://www.mediafire.com/file/0554o9buqo5c5w6/Disparar.zip/file
Nota:
Godot 3.x
Comenzamos con la bala, debido a la amplia variedad de funciones que puede cumplir, mostramos como hacer una bala con los 3 nodos: "RigidBody", "Area" y "KinematicBody".
Bala "RigidBody"
Es la bala que estamos usando en la imagen de portada, ya que esta constantemente cayendo no alcanza a llegar al centro de la mira, ademas debe cumplir con la tarea de mover las cajas (debe tener masa y por ende gravedad).
Bala "Area"
Esta bala no mueve a las cajas, las atraviesa, es bueno registrando las cosas que toca.
Bala "KinematicBody"
Esta bala si mueve a las cajas pero llegando al suelo se desliza, lo cual puedes corregir con código extra no mostrado aquí.
Aveces debido a lo rápido que es una bala ni siquiera se molestan en hacerla, simplemente:
Si se presiona el gatillo y hay a que darle, a ese objetivo directamente le activan la función de bajar vida sin esperar la colisión de un objeto, ya que se asume que al ser tan rápido este objetivo es tocado inmediatamente.
Antes de seguir nos hacen falta teclas.
Ahora sigue el arma, es la encargada de poner y alinear la bala hacia el objetivo con ayuda de la cámara, el gatillo se aprieta con la tecla "Q".
Originalmente este es nuestro personaje:
https://nodosgodot.blogspot.com/2019/08/godot-3d-un-personaje-simple_14.html?view=sidebar
Le agregamos los nodos:
"Camera", como hijo de nuestro personaje
"RayCast", como hijo de "Camera"
Enlazamos la pistola anteriormente creada, como hijo de camera
"TextureRect", como hijo de nuestro personaje, le ponemos el nombre de: "Mira" y ponemos su textura
Ahora el personaje luce así:
Normalmente la mira se mueve con el mouse cuando juegas en pc, con el joystick cuando juegas en consola, arrastrando el dedo cuando juegas en un dispositivo táctil, para hacer esto mas corto la mira se mueve con las teclas: "W", "A", "S", "D", plasmamos eso en el script
En la cámara van las instrucciones:
Activamos el nodo "RayCast" marcando la casilla de "Activado" en "Enabled", después determinamos el tamaño, en este "Cast to" puse un alcance de "z: -20".
Las cajas son simples, un nodo "RigidBody", su malla, su colisión y ya:
Enlazamos a nuestro personaje y a las cajas, las ordenamos y listo.
Ver para creer.
https://www.mediafire.com/file/0554o9buqo5c5w6/Disparar.zip/file
Nota:
Godot 3.x
Comentarios
Publicar un comentario