Tag: 反转投影

在XNA中与3D四边形相交?

所以我成功制作了一个代表鼠标未被投射到世界的光线,现在我需要检查光线是否可以与四边形物体相交,这是我用来获取光线的代码: public Ray GetMouseRay() { Vector2 mousePosition = new Vector2(cursor.getX(), cursor.getY()); Vector3 nearPoint = new Vector3(mousePosition, 0); Vector3 farPoint = new Vector3(mousePosition, 1); nearPoint = viewport.Unproject(nearPoint, projectionMatrix, viewMatrix, Matrix.Identity); farPoint = viewport.Unproject(farPoint, projectionMatrix, viewMatrix, Matrix.Identity); Vector3 direction = farPoint – nearPoint; direction.Normalize(); return new Ray(nearPoint, direction); } 同样,这是我的四元结构,我用它在3d空间中绘制一个“立方体世界”。 public struct Quad {public Vector3 Origin; public […]