使用OBJLoader / Three.js时,在JavaScript中加载特定的URL

时间:2016-07-23 19:12:04

标签: javascript jquery wordpress three.js

我在使用three.js OBJloader中的一些JavaScript时遇到了问题。我必须说,我没有那么多经验,只是从我的WordPress网站开始使用JS和PHP。

通过使用setPath和load函数,我尝试设置路径OBJ和MTL文件位置。您可以在下面的代码中看到这一点。但是,此代码的输出为" http://domain.com/product/cherries/wp-content/uploads/obj"虽然我希望它是" http://domain.com/wp-content/uploads/obj"。这可能是因为脚本加载在" / product / cherries /"上。

有人知道解决方法吗?

THREE.Loader.Handlers.add( /\.dds$/i, new THREE.DDSLoader() );

                var mtlLoader = new THREE.MTLLoader();
                mtlLoader.setPath( '/wp-content/uploads/obj/' );
                mtlLoader.load( 'male02_dds.mtl', function( materials ) {

                    materials.preload();

                    var objLoader = new THREE.OBJLoader();
                    objLoader.setMaterials( materials );
                    objLoader.setPath( '/wp-content/uploads/obj/' );
                    objLoader.load( 'male02.obj', function ( object ) {

                        object.position.y = - 95;
                        scene.add( object );

                    }, onProgress, onError );

                });

刚刚发现此脚本(OBJ MTL DDS)中的所有网址都出错了。他们指向脚本打开的位置(/ products / cherries /),但我希望它们指向domain.com/wp-content/uploads/obj

1 个答案:

答案 0 :(得分:0)

试试这个:

mtlLoader.setPath( '../../wp-content/uploads/obj/' );