3d 如何设置在libgdx中查看三维模型的动态相机位置?

3d 如何设置在libgdx中查看三维模型的动态相机位置?,3d,libgdx,3d,Libgdx,目前,我正在尝试在libgdx中创建简单的三维模型查看器。我只是好奇,如果我可以改变相机,以查看三维模型正确 //---三维模型零件 Model smallCar= assets.get("data/small_car.obj", Model.class);//<--dynamic model ModelInstance smallCarInstance = new ModelInstance(smallCar); Model smallCar=assets.get(“data/sm

目前,我正在尝试在libgdx中创建简单的三维模型查看器。我只是好奇,如果我可以改变相机,以查看三维模型正确

//---三维模型零件

 Model smallCar= assets.get("data/small_car.obj", Model.class);//<--dynamic model
 ModelInstance smallCarInstance = new ModelInstance(smallCar);

Model smallCar=assets.get(“data/smallCar.obj”,Model.class)//谢谢你的帮助,兄弟。上面的代码给了我黑屏。打印边界框值时。如果我缩小相机以正确显示汽车,则在不使用上述代码的情况下获得宽度:209.93173高度:154.37787深度:360.4398。然后在理想位置,相机的z值为-94。我不需要位置正好是3d模型宽度的两倍。我只需要照相机来正确地显示模型。那么,你知道为什么上面的代码不起作用吗?好的,我终于让它起作用了。来自@Kappa的上述代码工作正常。问题是剪裁平面设置为100,而三维模型的尺寸更大。我只需要在cam.update之前重置裁剪平面,以查看更大的三维模型。cam.far=最大距离*5;谢谢你的帮助,兄弟。上面的代码给了我黑屏。打印边界框值时。如果我缩小相机以正确显示汽车,则在不使用上述代码的情况下获得宽度:209.93173高度:154.37787深度:360.4398。然后在理想位置,相机的z值为-94。我不需要位置正好是3d模型宽度的两倍。我只需要照相机来正确地显示模型。那么,你知道为什么上面的代码不起作用吗?好的,我终于让它起作用了。来自@Kappa的上述代码工作正常。问题是剪裁平面设置为100,而三维模型的尺寸更大。我只需要在cam.update之前重置裁剪平面,以查看更大的三维模型。cam.far=最大距离*5;
cam.position.set(1f, 1f, smallCar.getWidth()* 2f); //<--isn't available
cam.lookAt(0,0,0); 
BoundingBox boundingBox = smallCarInstance.calculateBoundingBox(new BoundingBox());
float maxDistance = Float.max(Float.max(boundingBox.getWidth(), boundingBox.getHeight()), boundingBox.getDepth());
cam.position.set(0f, 0f, maxDistance * 2f);
cam.lookAt(0f, 0f, 0f);
cam.rotateAround(Vector3.Zero, Vector3.X, -30f);
cam.update();