LibGDX BoundingBox + pickRay问题

sha*_*han 7 java libgdx

我一直在关注教程,试图能够检测我是否点击了3D模型,但遇到了一些问题.

这是我的 -

public GameObject getObject (int screenX, int screenY) {
    Ray ray = perspectiveCamera.getPickRay(screenX, screenY);
    GameObject result = null;

    for (int i = 0; i < modelInstanceArray.size; ++i) {
        final GameObject selectedModelInstance = modelInstanceArray.get(i);

        if (Intersector.intersectRayBounds(ray, selectedModelInstance.boundingBox, null)) {
            result = selectedModelInstance;
        }
    }

    return result;
}

@Override
public boolean touchDown (int screenX, int screenY, int pointer, int button) {
    getObject(screenX, screenY);
    return true;
}
Run Code Online (Sandbox Code Playgroud)

..在哪里GameObject扩展ModelInstance,以获得calculateBoundingBox(new BoundingBox()).mul(this.transform)modelInstance,因为它是..错误.. 实例.

当我打印时,ray我得到了一些东西 -

ray [(1.7015453E-4,8.619284E-4,1.0):(1.8586617E-4,-1.0,0.0)]
Run Code Online (Sandbox Code Playgroud)

哪个看起来很小..小?我不确定这看起来是否正确..

我的边界框是正确的,打印为 -

[(-120.62405,-197.27795,-57.81021)|(147.17102,202.70493,42.185677)]
Run Code Online (Sandbox Code Playgroud)

但getObject 始终返回Array中的(仅用于现在)对象,因此出现了问题.我觉得这是我的问题Ray,但我不确定它应该是什么样的.

有什么建议?