我在加载我在3d studio max中创建的对象时遇到了问题!我将其导出为.obj (它给出了两个文件,.obj和.mtl)。我曾经使用过OBJMTLLOADET()不起作用,我使用过MTLLOADER()和OBJLOADER(),但它们都没有起作用。我使用了其他对象,他们工作,我认为问题是当我导出的对象在3d最大。
以下是我在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');当我使用其他对象时,这些代码可以很好地工作,但当我使用我的对象时,它就不能工作了!谁能告诉我如何从3dmax studio中导出对象以便在THree.js中使用??
新编辑:这是对象的下载链接:Download .obj file
发布于 2013-05-14 18:55:40
是的,问题是您的导出文件是由多边形组成的,而当前的OBJMTLLoader实现需要三角形。作为一种解决方法,在使用三角剖分标志导出时创建三角形,我确信3dsmax具有该标志。
https://stackoverflow.com/questions/16541054
复制相似问题