【发布时间】:2019-12-15 08:13:40
【问题描述】:
我使用搅拌机创建了一个 3d 对象。我将它导出为 g3db 和 gsdj 类型并与 libgdx 一起使用。一切正常,但对象的颜色未按预期呈现。
我尝试使用各种方法来创建对象并使用搅拌机导出。并且在过去,我曾尝试使用 libgdx-fbx-conv 将 fbx 转换为 g3db。它也不起作用。
public class experiments extends ApplicationAdapter {
private ModelBatch modelBatch;
private Environment environment;
private PerspectiveCamera cam;
private Model model;
private ModelInstance instance;
private CameraInputController camController;
@Override
public void create() {
modelBatch = new ModelBatch();
environment = new Environment();
environment.set(new ColorAttribute(ColorAttribute.AmbientLight, 0.4f, 0.4f, 0.4f, 1f));
float color = 0.0001f;
environment.add(new DirectionalLight().set(color, color, color, -1f, -0.8f, -0.2f));
cam = new PerspectiveCamera(67, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
cam.position.set(3f, 3f, 3f);
cam.lookAt(0, 0, 0);
cam.near = 1f;
cam.far = 300f;
cam.update();
G3dModelLoader loader = new G3dModelLoader(new UBJsonReader());
model = loader.loadModel(Gdx.files.internal("test.g3db"));
instance = new ModelInstance(model);
camController = new CameraInputController(cam);
Gdx.input.setInputProcessor(camController);
}
@Override
public void render() {
camController.update();
Gdx.gl.glViewport(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);
modelBatch.begin(cam);
modelBatch.render(instance, environment);
modelBatch.end();
}
@Override
public void dispose() {
}
}
这是搅拌机显示的 https://drive.google.com/open?id=1WAjrP_Z4IVjohk-CZSFeLk5st8PNOQGz
这就是我所拥有的
https://drive.google.com/open?id=1AbRGLathCuESesTpcTFvKue49V1k533Z
【问题讨论】:
-
请将您的所有图片上传到您的 SO 问题中。场外资源的链接只能作为补充材料。
标签: java opengl libgdx blender