使用three.js插件将Blender中的一些obj模型导出为json格式,在我的网页上会导致JavaScript错误。错误通常是像这样的:
TypeError:vertices未定义
在Three.js中,该错误位于以下行:
zLength = vertices.length;
json文件似乎格式不正确,需要进行什么更改?如何创建正确的obj文件?
json文件的格式非常不同,节点“vertices”不作为根节点出现,而是出现在嵌入节点内部:
"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 );
}