上一篇写了OBB vs OBB,这一篇就把OBB vs AABB放出来吧 废话不多说 直接上代码 需要的朋友直接拿走
//OBB vs AABB
public static bool IsOBBIntersectionWithAABB(ref Vector2 blOBB, ref Vector2 tlOBB, ref Vector2 trOBB, ref Vector2 brOBB,
ref Vector2 blAABB, ref Vector2 tlAABB, ref Vector2 trAABB, ref Vector2 brAABB)
{
float minOBBx = Mathf.Min(blOBB.x, tlOBB.x);
minOBBx = Mathf.Min(minOBBx, trOBB.x);
minOBBx = Mathf.Min(minOBBx, brOBB.x);
if (minOBBx > trAABB.x) return false;
float maxOBBx = Mathf.Max(blOBB.x, tlOBB.x);
maxOBBx = Mathf.Max(maxOBBx, trOBB.x);
maxOBBx = Mathf.Max(maxOBBx, brOBB.x);
if (maxOBBx < blAABB.x) return false;
float minOBBy = Mathf.Min(blOBB.y, tlOBB.y);
minOBBy = Mathf.Min(minOBBy, trOBB.y);
minOBBy = Mathf.Min(minOBBy, brOBB.y);
if (minOBBy > trAABB.y) return false;
float maxOBBy = Mathf.Max(blOBB.y, tlOBB.y);
maxOBBy = Mathf.Max(maxOBBy, trOBB.y);
maxO