我遇到了从互联网上下载的obj文件的麻烦。
所有这些文件都呈现为这张照片:
Obj pic
我正在使用标准的OBJLoader。
var loader = new THREE.OBJLoader();
loader.load( objURL, function ( object ) {
scene.add( object );
} );
我无法弄清楚可能出现的问题。
编辑: 这是我的完整装载机:
loader = new THREE.OBJLoader(manager);
loader.load(filePath, function (object) {
object.traverse(function (child) {
if (child instanceof THREE.Mesh) {
if (count == 1) {
child.material = material;
var box = new THREE.Box3().setFromObject(child);
xyzSizes = box.size();
var geometry = new THREE.Geometry();
geometry = child.geometry;
var volume = myVolume(geometry);
THREE.GeometryUtils.center(geometry);
scene.add(child);
DOM.children(".loading").remove();
myObj = child;
myObj.name = 'GL' + idfile;
maxSize = Math.max(xyzSizes.x, xyzSizes.y, xyzSizes.z);
maxSize = 2 / maxSize;
DOM.parent().find('.volumeVal').html(myRound(volume, 2));
DOM.parent().find('.sizesVal').html('x: ' + myRound(xyzSizes.x, 3) + ' y: ' + myRound(xyzSizes.y, 3) + ' z: ' + myRound(xyzSizes.z, 3));
console.log('il volume è: ' + volume + ' e gli assi xyz sono: ' + xyzSizes.x, xyzSizes.y, xyzSizes.z);
if (maxSize == 0)
maxSize = 0.1;
object.scale.set(maxSize, maxSize, maxSize);
} else {
child.material = transparent;
}
} else {
}
count++;
});
});
答案 0 :(得分:0)
您的代码显示正常。
您是否在Firefox中进行测试并且您的对象设置正确吗?
目前,我在想,也许你的objUrl设置为某个地方的http://i.stack.imgur.com/26Zsk.png并且它没有改变回你想要的图像。
另一件事是,从互联网上下载的obj文件放在与使用blender创建的文件夹相同的文件夹位置吗?
我在http://tf3dm.com/download-page.php?url=high-poly-male-2014使用了你的代码,并在我的index.html旁边有了Zuccarello.obj
var loader = new THREE.OBJLoader();
loader.load( "Zuccarello.obj", function ( object ) {
scene.add( object );
} );
如果这些都没有帮助,请分享更多代码,以便我可以看到它,特别是涉及你的objURL变量的任何内容。