无法使用objloader.js渲染obj

时间:2017-04-25 21:15:38

标签: three.js render objloader

我无法加载我的对象。屏幕空白。要加载的代码是:

        var mtlLoader = new THREE.MTLLoader();
        mtlLoader.setBaseUrl('assets/');
        mtlLoader.setPath('assets/');
        mtlLoader.load('Gita.mtl', function (materials) {

            materials.preload();

            materials.materials.default.map.magFilter = THREE.NearestFilter;
            materials.materials.default.map.minFilter = THREE.LinearFilter;

            var objLoader = new THREE.OBJLoader();
            objLoader.setMaterials(materials);
            objLoader.setPath('assets/');
            objLoader.load('Gita.obj', function (object) {

                scene.add(object);

            });

        });

这是我的对象:https://drive.google.com/drive/folders/0B71ivPfsz82mYzVxYU1TZkt5ekk?usp=sharing

希望你能帮助我。 谢谢你的关注。

1 个答案:

答案 0 :(得分:0)

这是我加载Obj文件的代码。我在我的代码中尝试了你的对象并且它有效,也许它也适用于你。

                var manager = new THREE.LoadingManager();
                var loader = new THREE.OBJLoader(manager);     
                var fileloader = new THREE.FileLoader();
                fileloader.load('Gita.obj', function(data){

                    var object = loader.parse(data);
                    object.scale.set(0.5, 0.5, 0.5);
                    scene.add(object);
                },
                    function (xhr) {

                        console.log((xhr.loaded / xhr.total * 100) + '% loaded');
                    },
                      //if download fails
                    function (xhr) {

                        //console.error('An error happened : ' + xhr);
                    }
                );