Estoy en un momento de conectar piezas,
ir poniendo todo sobre la mesa y entonces es cuando veo que quedan
cosas por hacer aquí, allá, cosas que no están bien migradas o que
prefiero hacer de otra manera. Por eso seguramente vengan unos
artículos que den bandazos de un lado para otro, lo que
me voy encontrando al unir piezas.
En este caso vuelvo a tocar el tema de
las colisiones. Todo surge porque una vez que tenía el personaje
moviéndose y dando espadazos y al veneno ciego patrullando, era
bastante lógico querer probar si se manejaba bien, si podíamos
herir al enemigo de forma fácil, o él a nosotros... Y para eso
necesito saber cuándo el enemigo choca con nosotros o con la espada.
La solución fue crear un objeto vacío
que colgase de la espada y poner el collider a este objeto vacío,
haciendo girar el objeto vacío entero para que coincidiera con la
espada. Al final puse un collider muy sencillo, uno de tipo prisma
rectangular. Al tener collider la espada hace que se choque con las
paredes y ese brazo no atraviese cosas al salirse de la capsula del
personaje. Aunque hay veces que falla miserablemente, y no sé por
qué, pero algo mejora en global.
Teniendo todo colocado en su sitio solo
me quedaba detectar por código cada tipo de colisión. Para eso al
enemigo le puse también un collider, de tipo esfera, por su forma. Y
cree un script para el enemigo, usando la función onCollisionEnter y
preguntando por el tag del collider con el que estamos chocando
distingo entre choque con el personaje y choque con la espada (y
otros choques que ignoro).
Ahora solo me falta poder preguntar al
personaje si estaba atacando cuando hubo el choque con la espada,
porque ahora mismo si el veneno va andando a su rollo y toca la
espada del personaje quieto, salta el evento que hiere al veneno, y
es gracioso, pero no puedo dejarlo así. Pero para poder acceder al
script del personaje desde el del veneno tengo que arreglar cosas de
los scripts centrales donde se almacena todo, y me he ido por otro
lado, voy a tener que apuntarme qué quería hacer de inicio a modo
de migas de pan para no perderme.
En alguna parte de este documental sobre la "Historia de los Shoot 'em Up" hablan del área de impacto y cómo lo "trucan" para que le parezca que es mejor que lo que es y hacerlo más jugable: https://www.youtube.com/watch?v=GFNzqXFzmSQ
ResponderEliminar