- Home /
2D melee Combat with SphereCastAll Problem
Hey so
im using a spherecastall to detect hits when my 2d enemy ai attacks the player
im setting the direction for the ray to cast then im Invoking the sphere cast after 1 second. the sphere casting is casted in that direction . then if it gets a hit it apply damage to the hit (that's basically how my script works)
now the problem im having is that if my ai is to close to the player when it casts the sphere cast and the sphere radius is more that 0.1 it doesn't detect the hit of the player because its is created around the player and his collider is inside it(this is why my ai doesnt hit the player). is there any way i can fix this. OR is there a better system i could use i had a couple of ideas
1: attach a spherecollider(trigger) to a gameobject and enable it when the attack animation is playing and then i could animate the collider to match swing patterns of the different types of enemy's.
2: the other idea was to make some sort of field and see if the player is within the area/field and then apply damage to them
Thanks for Reading ~Scott
Answer by SkaredCreations · Dec 19, 2014 at 06:20 PM
Why are you using SphereCastAll for the attack trigger? It should be ideally used for example if you want to know if the player can move towards a point without colliding. In your case I think it's better OverlapSphere (eventually adding a Raycast later if you want to check the line of sight, for example if there's a wall between them)
Your answer
Follow this Question
Related Questions
Physics2D Raycast, check if my raycasthit2D.collider is the same as my gameObject 1 Answer
Detecting if the object is hit by LineRenderer 1 Answer
Raycast ignore itself 5 Answers
Raycast2D Layermasks and incomplete docs 1 Answer
Questions about movement on uneven/slopped terrain and terrain coliders 0 Answers