[英]threejs error when obj file are loaded
我從網上下載的obj文件有麻煩。 所有這些文件都呈現為此圖片: Obj圖片
我正在使用標准的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++;
});
});
您的代碼看起來不錯。
您是否正在Firefox中進行測試,並且objUrl是否設置正確?
目前,我在想,您的objUrl可能已設置為http://i.stack.imgur.com/26Zsk.png ,並且並沒有變回所需的圖像。
另外,從互聯網下載的obj文件是否與使用Blender創建的obj文件放在相同的文件夾位置?
我將您的代碼與http://tf3dm.com/download-page.php?url=high-poly-male-2014一起使用,並將Zuccarello.obj放在了我的index.html旁邊
var loader = new THREE.OBJLoader();
loader.load( "Zuccarello.obj", function ( object ) {
scene.add( object );
} );
如果以上方法均無濟於事,請共享更多代碼,以便我能看到它,尤其是涉及您的objURL變量的任何內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.