【发布时间】:2016-02-22 10:00:34
【问题描述】:
不太确定问题出在哪里。我在 Blender 中有一个看起来像这样的模型:
我已经将它全部映射到 UV 等 - 蓝色突出显示的边缘来自透明的 .png 纹理。这是节点编辑器:
现在,当我按照 LibGDX 建议导出到 .fbx 时,我使用以下设置:
但是当我通过 fbx-convert 运行它并生成我的 g3dj 文件时,材料显示如下:
"materials": [
{
"id": "blue_wireframe_glow",
"ambient": [ 0.200000, 0.200000, 0.200000],
"diffuse": [ 0.800000, 0.800000, 0.800000],
"emissive": [ 0.000000, 0.000000, 0.000000],
"opacity": 0.000000,
"specular": [ 0.200000, 0.200000, 0.200000],
"shininess": 20.000000
}
],
看不到图像纹理(即使将不透明度更改为 1.0)。还有什么我应该做的事情可以使图像纹理出现在g3dj文件中吗?我是在 Blender 中附加错误还是什么?如果这很重要,我正在使用 Blender Cycles。我还将图像文件放在与我项目中的 g3dj 文件相同的文件夹中。这是我用来加载它的代码:
modelBatch = new ModelBatch();
modelLoader = new G3dModelLoader(new JsonReader());
heatExchangerModel = modelLoader.loadModel(Gdx.files.internal("models/heat_exchanger.g3dj"));
modelInstance = new ModelInstance(heatExchangerModel);
当我在桌面 Java 应用程序中查看它时,在我手动将 g3dj 文件中的不透明度设置为 1.0 后,它只是显示为没有纹理的黑色模型。不知道我哪里出了问题——有什么想法吗?
编辑:我一直在阅读更多内容,发现 Blender Cycles 无法将其材质导出到 FBX(不确定是否正确?或者至少只有非常基本的材质)并尝试使用Blender 渲染并能够加载要加载的纹理,但模型看起来仍然不像 Blender 应该的那样。
有人能指出在 libGDX 中制作材料的正确方法吗?我应该从头开始编写自己的吗?我觉得这一切都在 Blender 中完成,然后导出可能不是我应该这样做的方式。
【问题讨论】: