我想知道是否有一种方法来检查相机是否正在查看3D空间中的Vector3点,或者可能检查该点是否显示在屏幕上。
答案 0 :(得分:4)
是的,只需将您的视图和投影矩阵输入到这样的边界平截头体中:
//class scope variables
BoundingFrustum boundingFrustum;
//in the init method
boundingFrustum = new BoundingFrustum();
//In the Update method or wherever you need to run a check check
boundingFrustum.Matrix = view * projection;
bool isPointInView = boundingFrustum.Contains(Vector3ToTest);