我在加载我在 3d studio max 中创建的对象时遇到问题!我像 .obj 一样导出它(它给了我两个文件,.obj 和 .mtl)。我用过 OBJMTLLOADET() 没用,我用过 MTLLOADER() 和 OBJLOADER() 都没有用。我使用了其他对象并且他们工作,我认为问题是当我以 3d max 导出对象时。
这是我在 webgl 中用于加载对象的代码:
var loader = new THREE.OBJLoader();
loader.addEventListener ('load', function(event)
{
objModel = event.content;
objModel.traverse(function(child)
{
if (child instanceof THREE.Mesh)
{
child.material = new THREE.MeshBasicMaterial
({
color:0xffffff, wireframe: true
});
}
});
objModel.position.y -80;
scene.add(objModel);
});
loader.load('asteroid.obj');
下一个代码:
var loader = new THREE.OBJMTLLoader();
loader.addEventListener ('load', function(event){
objModel = event.content;
objModel.position.x = 80;
objModel.position.y = -80;
objModel.position.z = 0;
objModel.scale.y = 1;
objModel.scale.x = 1;
objModel.scale.z = 1;
scene.add(objModel);
});
loader.load('asteroid.obj','asteroid.mtl');
当我使用其他对象时,这些代码可以完美运行,但是当我使用我的对象时它不起作用!有人可以告诉我如何从 3d max studio 中导出对象以在 THree.js 中使用它吗?
新编辑:这是对象的下载链接: 下载 .obj 文件