【发布时间】:2013-09-28 02:12:32
【问题描述】:
使用 three.js 插件将一些 obj 模型从 Blender 导出到 json 会导致我的网页出现 javascript 错误。 错误总是像
TypeError: 顶点未定义
在 Three.js 的行
zLength = vertices.length;
json 文件格式似乎不正确,要更改什么? 如何创建正确的 obj 文件?
json文件的格式确实不一样,节点“vertices”不是作为根节点出现而是在embeds节点内部:
"embeds" :
{
"emb___9903__30_1 __9903__30_1_8.002": { "scale" : 1.000000,
"materials" : [],
"vertices" : [...]}
这种格式似乎不正确,但我不知道在导出 json 或创建 obj 文件期间要做什么。
html/js 网页似乎可以正常工作,因为某些文件已在浏览器中正确打开
基本上我会这样做:
function init()
{
...
var jsonLoader = new THREE.JSONLoader();
jsonLoader.load( "models/model.js", addModelToScene );
...
}
function addModelToScene( geometry, materials )
{
var material = new THREE.MeshFaceMaterial( materials );
modeltd = new THREE.Mesh( geometry, material );
modeltd.scale.set(1,1,1);
scene.add( modeltd );
}
【问题讨论】:
-
部分解决:问题来自导出过程中的“嵌入网格”标志,我已取消选择,格式现在恢复正确。无论如何,我已经看到人们在“嵌入”节点中使用这种格式,从哪里获取有关它的信息?
标签: json export three.js blender