void Update() { Quaternion r = this.transform.rotation; Vector3 f0 = transform.position + (r * Vector3.forward) * distance; //Debug.DrawLine(transform.position, f0, Color.red);//正前方 Quaternion r0 = Quaternion.Euler(transform.rotation.eulerAngles.x, transform.rotation.eulerAngles.y - angle, transform.rotation.eulerAngles.z); Vector3 f1 = transform.position + (r0 * Vector3.forward) * distance; Debug.DrawLine(transform.position, f1, Color.red);//左30度方向 Quaternion r1 = Quaternion.Euler(transform.rotation.eulerAngles.x, transform.rotation.eulerAngles.y + angle, transform.rotation.eulerAngles.z); Vector3 f2 = transform.position + (r1 * Vector3.forward) * distance;//右30度方向 Debug.DrawLine(transform.position, f2, Color.red); Debug.DrawLine(f1, f2, Color.red);//连接成一个三角形 Vector3 point = PointTrans.position; //点是否在一个三角形内 if (MyTool.isINTriangle(point, transform.position, f1, f2)) { Debug.Log("in"); } else { Debug.Log("not in"); } }