Unity 判断一个点是否在三角形内
p点如果在三角形内则它在每条边的左侧
public static bool IsPointInTriangle(this Vector3 p, Vector3 a, Vector3 b, Vector3 c)
{
Vector3 ap = p-a;
Vector3 ab = b - a;
Vector3 bp = p-b;
Vector3 bc = c - b;
Vector3 cp = p-c;
Vector3 ca = a - c;
var npab = Vector3.Cross(ap,ab).y;
var npbc = Vector3.Cross(bp,bc).y;
var npca = Vector3.Cross(cp,ca).y;
return (npab * npbc) > 0 && (npab * npca) > 0;
}