My Model in Blender是由许多组对象组成的。该模型作为.obj从C4D导出到Blender。每一组物体都放置在搅拌机的空壳下。当我在three.js中导出时,只有Blender中最后选定的对象将作为.json文件导出。
我试着选择了几个不同的对象,而且同样只有一个对象会导出。我在编辑器中看到了生成的.json文件,从而验证了这一点。实际上,它只显示正在导出的单个对象。
我把每个物体分开,我可以很容易地做出选择,并将不同的材料应用到每个物体上。过去,在从.obj导出C4D之前,我将所有对象合并到一个网格中,所有事情都可以很好地处理Blender和生成的.json文件。
在搅拌机中,我所做的就是尝试将所有的对象链接到一个单亲父母,希望整个模型能够导出。这是行不通的。
我的问题是这是正常的行为吗?
我如何将所有的独立的部分转换成一个单一的网格后,我已经申请材料的每一个搅拌机?
或者,在处理多个对象时,是否存在某种导出设置错误,每个对象都有自己的空值?
发布于 2015-01-28 23:04:46
在Blender中,要小心将对象分组在空(空)下。不久前,我尝试用我的轻量级设置作为正常的逻辑工作流程,但发现在用three构建场景时存在转换问题。
当我在three.js中导出时,只有Blender中最后选定的对象将作为.json文件导出。
这里的关键词是“最后选择”,这告诉我您可能没有单击导出的Scene选项。默认情况下,导出只生成具有单个几何形状的.json,这是Blender中当前的选择。
发布日志文件的输出有助于查看您的选项。您不需要对整个程序进行粘贴,只需找到一行(指向日志顶部),如下所示:
Three.Export - DEBUG:
Scene().__init__(G:\cleanflight_json_test\cfc_gui_def_green_a.json,
{'animation': False, 'cameras': False, 'embedGeometry': True,
'faces': True, 'colors': False, 'influencesPerVertex': 2,
'scene': True, 'faceMaterials': False, 'precision': 6, 'embedAnimation': True, 'lights': False, 'logging': 'debug',
'scale': 1.0, 'frameStep': 1, 'bones': False, 'vertices': True,
'uvs': False, 'copyTextures': True, 'geometryType':
'geometry', 'mixColors': False, 'maps': False, 'compression':
'None', 'normals': False, 'enablePrecision': False, 'materials': False,
'skinning': False, 'morphTargets': False})至少可以告诉我你有什么选择
发布于 2016-09-09 16:14:04
正如Repsac所说,在Three.js json出口商设置中检查Scene选项非常重要。但是重要的是要知道导出的json文件不再仅仅是一个几何学了。它现在被标记为场景类型,它必须以不同的方式处理。
您可以遵循从Blender导出整个场景的完整过程,以及在我的answer to this post上处理导出网格的正确方法。
此外,正如两位所说的,所有网格都可以合并成一个网格,并使用THREE.MeshFaceMaterial处理它的多个材料,如下面的代码所示:
var mat1 = new THREE.MeshLambertMaterial( { map: texture1 } );
var mat2 = new THREE.MeshLambertMaterial( { map: texture2 } );
var materials = [mat1, mat2];
var faceMat = new THREE.MeshFaceMaterial(materials);
mesh = new THREE.Mesh( geometry, faceMat );
scene.add( mesh );希望这能让我们的步骤更清晰一点。谢谢你的帮助,各位:)
https://stackoverflow.com/questions/28203846
复制相似问题