Q1. Если вам известен идентификатор Mesh
(MESH_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. Если вы планируете повторно использовать сетки (для разных приложений), организуйте их в отдельные файлы, загружайте их отдельно во время инициализации приложения и затем вставляйте их в мир.