0

我正在使用 jPct-ae 引擎,用于在我的 android 应用程序中打开任何 .obj 3D 模型。但是需要的时间太长了。如果我在文本编辑器中打开一个 .obj 文件,我可以完全清楚地看到所有内容。有没有办法从字符串加载 obj 。

obj 文件的示例部分:

v -0.1 -0.4 0.4
v -0.1 -0.4 0.4
v -0.2 -0.1 0.6
v -0.2 -0.4 0.4
v -0.2 -0.1 0.6
v -0.2 -0.4 0.4
v -0.3 -0.2 0.6
v -0.3 -0.2 0.6
v -0.3 -0.2 0.5
v -0.3 -0.3 0.5
v -0.3 -0.3 0.5
v -0.3 -0.4 0.5
v -0.3 -0.4 0.4
v -0.3 -0.3 0.5
v -0.3 -0.3 0.4
v -0.3 0 0.6
v -0.3 0 0.6
v -0.3 -0.1 0.6
v -0.3 -0.1 0.6
v -0.3 -0.1 0.6
v -0.3 -0.2 0.5
v -0.3 -0.2 0.5
v -0.3 -0.2 0.5
v -0.3 0.1 0

从资产加载 obj 3D 模型

try{
InputStream stream_obj = getAssets().open("car.obj");
InputStream stream_mtl = getAssets().open("car.mtl");

cube = loadModel(stream_obj, stream_mtl);
cube.build();
world.addObject(cube);

}catch(Exception e) {
}

定义负载模型

private Object3D loadModel(InputStream objstream, InputStream mtlstream) {

Object3D[] model = Loader.loadOBJ(objstream, mtlstream, (float)1);
Object3D o3d = new Object3D(0);
Object3D temp = null;
for (int i = 0; i < model.length; i++) {
temp = model[i];
temp.setCenter(SimpleVector.ORIGIN);
temp.rotateX((float)( -.5*Math.PI));
temp.rotateMesh();
temp.setRotationMatrix(new Matrix());
o3d = Object3D.mergeObjects(o3d, temp);
o3d.build();
}
return o3d;
}

或者还有另一种方法可以在 jPCT-AE 中更快地加载 3D 模型?

谢谢

4

0 回答 0