在此例中實現對外部模型的加載: 用jme再現虎式坦克。下了幾個模型發現不能用,打開jar包,plugins目錄下,發現jme支持的有fbx,gltf,obj等3d格式,以後纔可能會增加對dae等格式的支持的插件,作爲一個開源項目,我們也可以爲之貢獻加載器插件代碼。
public class model extends SimpleApplication {
public static void main(String[] args) {
//啓動程序
model app=new model();
app.start();
}
@Override
public void simpleInitApp() {
// TODO Auto-generated method stub
cam.setLocation(new Vector3f(0.41600543f,3.2057908f,6.6927643f));
cam.setRotation(new Quaternion(-0.00414816f,0.9817784f,-0.18875499f,-0.021575727f));
flyCam.setMoveSpeed(10);
viewPort.setBackgroundColor(ColorRGBA.LightGray);
//#1 導入模型
Spatial model=assetManager.loadModel("Models/Tank/scene.gltf");
model.scale(0.3f);//按比例縮小
model.center();//將模型的中心移到原點
//#2創造光源
//定向光
DirectionalLight sun=new DirectionalLight();
sun.setDirection(new Vector3f(-1,-2,-3));
//環境光
AmbientLight ambientLight=new AmbientLight();
//調整光照亮度
ColorRGBA lightColor=new ColorRGBA();
sun.setColor(lightColor.mult(0.6f));
ambientLight.setColor(lightColor.mult(0.4f));
//#3 將模型和光源添加到場景圖中
rootNode.attachChild(model);
rootNode.addLight(sun);
rootNode.addLight(ambientLight);
}
}
下一步的打算自然是讓它跑起來啊,後序更新!!