首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >三个JS OBJloader - obj未正确导入

三个JS OBJloader - obj未正确导入
EN

Stack Overflow用户
提问于 2018-08-22 11:29:15
回答 1查看 550关注 0票数 0

我试图用OBJLoader导入一个obj,但它没有正确导入

obj是这样的- Obj img

它在三个js中导入了这个- Obj

所发生的是,整个obj没有很好地导入。

我能做些什么?

我正在做的代码是

代码语言:javascript
复制
var objLoader = new THREE.OBJLoader();
        var mtlLoader = new THREE.MTLLoader();
            mtlLoader.setTexturePath("obj2/");
            mtlLoader.setPath(  "obj2/"  );
            mtlLoader.load( "Mules/Base_10.mtl", function( materials ) {
                materials.preload();
                objLoader.setMaterials( materials );
                objLoader.load( 'obj2/Mules/Base_10.obj', function ( object ) {

                        object.traverse( function ( child )
                        {
                            if ( child instanceof THREE.Mesh )
                            {
                                meshes.push(child);
                            }
                        });
                        var object = meshes[meshes.length-1];
                        object.position.y = -0.05;
                        object.position.x = 0;
                        object.position.z = 0;

                        object.name = "salto";
                        scene.add(object);
                    }, onProgress, onError );
            }); 

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-22 13:52:51

问题是:

代码语言:javascript
复制
                object.traverse(...);
                var object = meshes[meshes.length-1]; //<-- you overriding the object, with the last mesh. 
                object.position.y = -0.05;
                object.position.x = 0;
                object.position.z = 0;

                object.name = "salto";
                scene.add(object); //<-- than you add the object to your scene.

不要覆盖对象。此外,您也不需要遍历对象,因为您将添加整个事情到您的场景。不管怎么说,你对你的网格什么都不做:)

所以试试这个:

代码语言:javascript
复制
                object.position.y = -0.05;
                object.position.x = 0;
                object.position.z = 0;

                object.name = "salto";
                scene.add(object);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51965869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档