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

时间:2016-01-15 07:08:48

标签: 3d libgdx

目前我正在尝试在libgdx中制作简单的3D模型查看器。我很好奇我是否可以更换相机以正确查看3D模型。

// --- 3d模型部分

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

我可以设置相机的静态位置,但我想根据下面的车型尺寸设置远离汽车的相机位置:

cam.position.set(1f, 1f, smallCar.getWidth()* 2f); //<--isn't available
cam.lookAt(0,0,0); 

相机位置应该是动态的,这样它的位置不会影响3d模型的视图。 谢谢,

1 个答案:

答案 0 :(得分:2)

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