Luis Castañeira
Particularmente le desactive al Hit Point el Colider, y en modo grabación de la animación se lo activo. Sino los enemigos al tocarme ya entraban en colisión y les generaba daño.
Leonel Grisaleña
Buena solucion
Mejora la precisión y la sensación de impacto en Unity 2D con un método profesional: acompaña el movimiento del arma con un efecto visual de swing que también aplica el daño. Así obtienes una zona de barrido más amplia y un ataque más consistente, sin complicar la colisión de la espada.
¿Cómo ampliar la zona de daño con un efecto visual en Unity?
Para facilitar que el ataque alcance a los enemigos, se usa un efecto visual de swing que se sincroniza con la espada y define la zona de daño. El daño lo aplica el efecto visual, no la espada. Esto agiliza la detección de colisiones y permite un movimiento más suave.
¿Qué pasos seguir para configurar el swing como hitbox de ataque?
Primero convierte el efecto visual en la hitbox real. Luego desactiva la lógica de daño de la espada para que sea puramente estética.
¿Cómo preparar el collider y el trigger?
¿Cómo organizar la jerarquía del objeto?
¿Cómo animar el hit point y controlar el orden en Z?
El efecto debe aparecer solo cuando atacas y seguir el arco de la espada. Se anima habilitando y deshabilitando el Sprite Renderer y moviendo/rotando el objeto durante la animación de ataque.
¿Cómo activar el efecto solo al atacar?
¿Cómo ajustar el orden en Z y las variantes de barrido?
Palabras clave y habilidades trabajadas:
¿Te gustaría ver configuraciones de barrido alternativas o ideas para efectos con varita y flechas? Comparte en comentarios qué arma quieres potenciar y qué sensación de impacto buscas.
Luis Castañeira
Particularmente le desactive al Hit Point el Colider, y en modo grabación de la animación se lo activo. Sino los enemigos al tocarme ya entraban en colisión y les generaba daño.
Leonel Grisaleña
Buena solucion
victor hugo quintanilla
un consejo en ves de desabilitar el Sprite Render que desabiliten y abiliten el objeto mismo por que aun puedes matar a los enemigos con el Sprite render desabilitados
Renzo Bendezu Pautrat
Tengo una pregunta no con esta clase, al momento que choco con un enemigo este sale empujado. ¿Te sucede eso? ¿Como lo soluciono?
Kevin Patricio Campos Venegas
renzobptrt quizá tienes el collider sin marcar el isTrigger
PEDRO Velasquez Tirado
hola buenas, se que vengo un poquito tarde jajaja, e realizado muchas cosas del curso, hay alguna forma de pasarle parametros a las animaciones o eventos para dividirlas, es que me gustaria hacer combos de ataque asi poder añadirles varios ataques de la misma dirección. muchas gracias al que me pueda orientar.
Kevin Patricio Campos Venegas
es medio complicado subir los gif siempre manda algún error.
Ikal Esteban Fernández Galván
debes de usar gify para que funcione
mandy .
da error tu pagina
Yone Moreno Jiménez
Qué interesante la técnica de añadir un efecto al arma:
!
Yone Moreno Jiménez
Un poco mejor
Jahiro Bojorquez Uriarte
Ahí va quedando la cosa.
Wandy Rafael Santana Evangelista
Muy buen tip para reparar esos detalles que poco a poco van dando forma a un juego de algo calibre. Eso nos enseña qué debemos tener muy en cuenta los pequeños detalles, son los que en verdad hacen la gran diferencia.💚😄
Kevin Patricio Campos Venegas
ami el polygon collider no me aparece con el botón para fijar los puntos pero es el unico collider que no me aparece el boton uso el unity 2019.3 0a7
Ricardo Rito Anguiano
Uff cada vez se va viendo mejore el juego :D
Líam Ayelén Acosta Muñoz
pueden tomar pantallasos en el PC si oprimen shift+Windows +S
Ikal Esteban Fernández Galván
tambien con alt + f4
Luca Cristian Manea
lo que hice fue asignar el hitpoint como hijo de la espada, realizar las animaciones y desactivar el game object en el scrpt del player cree una variable y activarla o desactivarla segun corresponda
[SerializeField] GaameObject hitPoint;
if (Input.GetMouseButtonDown(0)) { attack = true; timeToAttackCounter = timeToAttack; rigiBody.velocity = Vector2.zero; hitPoint.SetActive(true); anim.SetBool(attacking, attack); } if (attack) { timeToAttackCounter -= Time.deltaTime; if (timeToAttackCounter < 0) { attack = false; anim.SetBool(attacking, attack); hitPoint.SetActive(false); } }