我在使用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
答案 0 :(得分:0)
试试这个:
mtlLoader.setPath( '../../wp-content/uploads/obj/' );