簡體   English   中英

加載obj文件時,Threejs錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM