矩形攻击范围
/// <summary>
///
/// </summary>
/// <param name="attacker">攻击者</param>
/// <param name="attacked">被攻击者</param>
/// <returns></returns>
public bool RectAttackJudge(Transform attacker,Transform attacked,float forwardDistance, float rightDistance)
{
Vector3 deltaA = attacked.position - attacker.position;
float forwardDotA= Vector3.Dot(attacker.forward, deltaA);
if(forwardDotA>0&& forwardDotA<=forwardDistance)
{
if( Mathf.Abs(Vector3.Dot(attacker.right,deltaA))<rightDistance)
{
return true;
}
}
return false;
}
转载自:https://blog.csdn.net/luncy_yuan/article/details/82469487