Jump to content
UnitySpain

Aceptamos donaciones vía Paypal.

UnitySpain.com es un servicio gratuito, pero mantener la Comunidad conlleva una serie de gastos.

Fondo Anual Unityspain: Donados 15,00€ de 150,00€

  • Servidor: Dominio.com y Hosting Web
  • Mantenimiento de los Foros
  • Contenido y Servicios Extras
  • Mantenimiento para Redes Sociales
Sign in to follow this  
nomoregames

Como detectar si colisiona por completo

Recommended Posts

Hola de nuevo

Tengo un objeto punta de flecha que tiene su propio collider, y quiero hacer, que cuando esta (la puna de flecha) se introduzca de el todo en el objeto enemigo, le haga un KO...

lo tengo todo programado, pero lo que no logro hacer es, detectar si el collider de la  punta esta tocando, parcial o completamente el objeto...

Para hacer esto se me ha ocurrido dividir el gameObject en pequeños fragmentos y a cada uno de estos aplicar un collider, si todos están colisionando ,la flecha se ha incrustado, y si solo una parte pues solo esta clavada...  pero si e entendido bien, esto no resulta muy eficiente y ademas no sabria como gestionar y colocar tantos colliders juntos ... alguna otra forma de hacerlo??

Gracias por la ayuda :1_grinning:

Share this post


Link to post
Share on other sites

Hola, se me ocurren dos bien fáciles:

  1. Poner el collider en una posición tal que, en cuanto haga contacto signifique que la punta ya ingresó. Por ej, ponerlo en la base de la punta. Esto si directamente te interesa saber si ingresó 0% o 100%
  2. (mejor) Hacer un lineCast desde la base de la punta, hasta el final de la punta. Si le pasas un RaycastHit de argumento, el resultado del "hit.distance" te va a dar X cm (distancia del origen de la línea hasta el punto de colisión) de un total de Y cm (total del linecast = largo de la punta). Haciendo ( X / Y ) * 100 te va a dar el procentaje de penetración.
3 hours ago, nomoregames said:

pero si e entendido bien, esto no resulta muy eficiente y ademas no sabria como gestionar y colocar tantos colliders juntos ... alguna otra forma de hacerlo??

Problemas serios no te va a traer, realmente las físicas de hoy en día tienen todo esto super resuelto, y usar 1, 3 o 5 no va a ser la diferencia. También dependerá de cuantas flechas estemos hablando. El tema es que hay opciones muucho mejores (el linecast por ej) que te permiten conocer exactamente la penetración (para este caso super fácil).

Existe otra funcionalidad que se llama "closest point", que te permite calcular el punto más cercano desde la punta de la punta, hasta la superficie del collider. El problema es que si la flecha entra inclinada la medición te va a dar mal.

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...