2
我使用Blender創建m3g文件,然後將它們加載到java程序中。
這是在World
中查找對象的最佳途徑(Mesh
)? (我應該如何「建立」一個世界?)在J2ME中查找對象M3G
我應該爲每個對象創建單獨的類,然後將它們添加到一個World
對象中,還是應該將ID分配給Blender中的對象並通過ID在程序中找到它們?
或者將每個對象導出到單獨的M3G文件?
(或其他方式?)
我使用Blender創建m3g文件,然後將它們加載到java程序中。
這是在World
中查找對象的最佳途徑(Mesh
)? (我應該如何「建立」一個世界?)在J2ME中查找對象M3G
我應該爲每個對象創建單獨的類,然後將它們添加到一個World
對象中,還是應該將ID分配給Blender中的對象並通過ID在程序中找到它們?
或者將每個對象導出到單獨的M3G文件?
(或其他方式?)
Q1。如果您知道Mesh
(MESH_ID
)的ID,那麼:
try {
Object3D[] roots = Loader.load("http://www.example.com/scene.m3g");
World world = roots[0];
Mesh mesh = world.find(MESH_ID);
}
catch(Exception e) {
// Handle it
}
Q2。加載基本World
:
:深入
public class MyCanvas extends Canvas
Graphics3D g3d;
World world;
int currentTime = 0;
public MyCanvas() {
g3d = Graphics3D.create();
Object root[] = Loader.load("world.m3g");
world = root[0];
}
protected void paint(Graphics g) {
g3d.bindTarget(g);
world.animate(currentTime);
currentTime += 50;
g3d.render(world);
g3d.releaseTarget();
}
}
然後使用API來創建並添加更多的物體進入世界API文檔涵蓋了這Q3。將它們分配到Blender中,然後使用find
方法獲得您需要的Object3D
的確切實例。
Q4。如果您計劃重新使用網格(針對不同的應用程序),請將它們組織爲單獨的文件,在應用程序的初始化期間單獨加載它們,然後將它們插入到世界中。