旋转平面用于查找世界坐标

Rotate plane used to find world coordinates

我正在尝试从 Plane 上的屏幕坐标中查找世界坐标,其中 mCameraPerspectiveCamera

public Vector3 getWorldCoordinates(float x, float y) {
    // Use an imaginary plane at z=0 to intersect ray
    Plane plane = new Plane();
    plane.set(0, 0, 1, 0);
    Ray ray = mCamera.getPickRay(x, y);
    Vector3 pos = new Vector3();
    Intersector.intersectRayPlane(ray, plane, pos);
    return pos;
}

如何修改此例程以在找到坐标之前在 X 轴上旋转 Plane x 度?

是否有任何简单的内置 libgdx 例程用于旋转平面,例如 Camera 使用 Camera.rotate(Vector3.X, degrees)

将 Vector3 设置为您想要的方向,然后使用它来设置平面。所以在你的情况下

vector3.set(0, 0, 1);
vector3.rotateX(0.5f); // for example
plane.set(vector3.x, vector3.y, vector3.z, 0);

如果您在每一帧都这样做,您可能需要考虑在 class 构造函数中实例化您的矢量和平面一次并重新使用它们,这样您就不会偶尔触发 GC,这可能会导致口吃。