使用Three.js加载模型。

4

我有一个3ds格式的三维模型。我将其转换为obj格式,然后再转换为js格式。现在我想在另一个js文件中加载它。这是我的加载代码:

var loader = new THREE.JSONLoader();
loader.load( { model: "untitled.js", callback: createScene } );



function createScene( geometry ) {

geometry.materials[0][0].shading = THREE.FlatShading;
geometry.materials[0][0].morphTargets = true;

var material = new THREE.MeshFaceMaterial();

var mesh = new THREE.Mesh( geometry, material );
mesh.scale.set(50, 50, 50);

scene.addObject( mesh );
}

网页开发者控制台显示错误:TypeError: a.split不是一个函数 Three.js:119

我该如何修复这个问题呢? 谢谢。


你用什么工具制作了这个JS文件?(它是使用JSON 3模型格式吗?)参考:https://github.com/mrdoob/three.js/wiki/JSON-Model-format-3.0 - EliSherer
我使用了Blender与不同的Python插件文件,并将其导出为一个JS文件。 - Applecow
我无法通过查看您的代码来确定,但似乎与解析有关,请尝试注释createScene的内容,看看是否仍然出现错误。如果仍然有问题,则json创建可能是错误的...您可以尝试手动修复它... - EliSherer
即使将createScene内容注释掉,错误仍然存在。 - Applecow
1个回答

3
应该是这样的:
loader.load( "untitled.js", createScene );

现在它说几何[0][0].materials未定义。我认为untitled.js文件不正常。 - Applecow

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接