【发布时间】:2016-09-23 03:48:58
【问题描述】:
我正在尝试将我在搅拌机中制作的喷气机导出到 three.js。该模型正确显示,但它缺少一些面并且没有应用任何材料,即使它们清楚地存在于 json 中。这是它在搅拌机中的外观:
如您所见,大部分机盖、机身和进气口的一部分都不见了。任何部分都没有应用任何材料,颜色仅来自环境光。它是这样称呼的:
var x29;
function createFighter() {
var loader = new THREE.JSONLoader();
loader.load('x29.json', function(geometry, materials) {
x29 = new THREE.Mesh(geometry, new THREE.MeshFaceMaterial(materials));
x29.castShadow = true;
x29.receiveShadow = true;
scene.add(x29);
});
}
导出器中的更改、对模型进行三角剖分或其他任何操作都不会产生任何结果。我做错了什么?
【问题讨论】:
-
我认为你有一些向内的法线,试着让你的材料双面去除孔或修复搅拌机。至于应用材质,你是用纹理贴图吗?纹理图像是异步加载的,必须先加载。基色看起来不正确,您是否在调用 THREE.Mesh() 之前确认材质纹理贴图实际上已加载并准备就绪?
-
我没有使用任何纹理贴图,我实际上并没有在这里使用任何纹理,因为我想将复杂性和大小保持在最低限度。搅拌机屏幕截图中的所有颜色都来自材料本身。然而,双面材料确实修复了缺失的面,所以谢谢你