我想知道是否有一种方法可以检查相机是否正在查看3D空间中的Vector3点,或者是否可以检查该点是否在屏幕上显示。

最佳答案

是的,只需将您的视图和投影矩阵放入这样的边界视锥中即可:

//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);

10-07 12:40