Java libGDX移动三维模型
我正在尝试移动使用libGDX加载的模型的一些节点。 代码如下:Java libGDX移动三维模型,java,android,libgdx,Java,Android,Libgdx,我正在尝试移动使用libGDX加载的模型的一些节点。 代码如下: public void render() { ... if (loading && assets.update()) //done when app starts doneLoading(); if(!loading) moveModel(); modelBatch.begin(cam); modelBatch.render(
public void render() {
...
if (loading && assets.update()) //done when app starts
doneLoading();
if(!loading)
moveModel();
modelBatch.begin(cam);
modelBatch.render(instances, environment);
modelBatch.end();
}
private void doneLoading() {
I_model = assets.get("data/model.g3db", Model.class);
I_instance = new ModelInstance(I_model);
instances.add(I_instance);
loading = false;
}
private void moveModel(){
for(int i=0;i<MAX_VALUE;i++){
Node bone = I_instance.getNode(names[i]);
if(bone != null){
bone.rotation.set(new Vector3(1, 1, 0), values[i]);
}
}
I_instance.calculateTransforms();
instances.add(I_instance);
}
public void render(){
...
if(加载&&assets.update())//在应用程序启动时完成
doneLoading();
如果(!加载)
moveModel();
modelBatch.begin(cam);
render(实例、环境);
modelBatch.end();
}
私有void doneLoading(){
I_model=assets.get(“data/model.g3db”,model.class);
I_实例=新模型实例(I_模型);
实例。添加(I_实例);
加载=假;
}
私有模型(){
对于(int i=0;i您应该只修改ModelInstance的转换。
在您的例子中,这将是I\u instance.transform.translate(…)
我只需要移动模型的一些节点,而不是所有的模型。