Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Deteccion independiente de objeto hijo

Iniciado por Arazard, Julio 23, 2015, 04:26:58 AM

Tema anterior - Siguiente tema
Buenas, ¿cómo están? espero que bien  Les paso a comentar mi problema: estoy haciendo un juego donde quiero que mi personaje se componga de 2 elementos (supongamos brazo y cuerpo) pero al momento de que (por ejemplo) una bala lo choque, si toca el brazo que el personaje reaccione de una forma y si toca el cuerpo de otra. El parenting quedaría así en el "Hierarchy":- Cuerpo
   - Brazo

El parenting lo hago para que el brazo pueda moverse y girar en relación al cuerpo sin problemas, ya que la vista de la cámara es como de arriba (tipo GTA2).

Intenté poniéndole un tag diferente al brazo pero toma el del cuerpo al momento de la colisión.

¿Alguna idea de cómo puedo hacer? La verdad que hace ya dos días intento resolver esto y aún no puedo u.u Si no me expliqué bien lo intentaré mejor nuevamente.

Julio 23, 2015, 11:43:43 AM #1 Ultima modificación: Enero 01, 1970, 01:00:00 AM por Antonio
Yo lo he hecho creando diferentes gameobjects con sus colliders para las distintas partes del cuerpo.Esos colliders están en un layer especial que sólo lo perciben los disparos y ataques. Y también afectan un poco con el rozamiento del terreno, por lo que los piés, intento que no sobresalgan a la cápsula que contiene mi personaje en general. Los colliders, tienen también un rigidbody con la opción "isKinematic" activada, y después, el script propio que cuando recibe la colisión, aplica unos efectos u otros antes de mandarle el daño final al script Manager del enemigo. (El objeto enemigo puede tener un script que controle su IA, su vida, y tal, pero cada collider, tiene un script de receptor de daños que son los que se comunican con el script principal de vida).

De esa manera pude hacer que en las extremidades reciba menos daños, más detención, en la cabeza pueda recibir extra de daño crítico, etc. Aunque cada collider tenga su propio script, estos con sus variables se pueden adaptar para que cada pieza reaccione de forma diferente.  Desconozco si hay formas mejores, pero a mi así me vale.

Los objetos que use para los colliders, son cubes de Unity, adaptados para cubrir el personaje.

Yo lo haria mandando el tag o transform colisionado al objeto padre, el cual tendra el script general de daño que va determinado por la parte del cuerpo detectada.

Etiquetas: