@@ -41,16 +41,16 @@ THREE.FBXLoader = ( function () {
4141
4242 var self = this ;
4343
44- var resourceDirectory = THREE . LoaderUtils . extractUrlBase ( url ) ;
44+ var path = ( self . path === undefined ) ? THREE . LoaderUtils . extractUrlBase ( url ) : self . path ;
4545
4646 var loader = new THREE . FileLoader ( this . manager ) ;
4747 loader . setResponseType ( 'arraybuffer' ) ;
48+
4849 loader . load ( url , function ( buffer ) {
4950
5051 try {
5152
52- var scene = self . parse ( buffer , resourceDirectory ) ;
53- onLoad ( scene ) ;
53+ onLoad ( self . parse ( buffer , path ) ) ;
5454
5555 } catch ( error ) {
5656
@@ -68,14 +68,28 @@ THREE.FBXLoader = ( function () {
6868
6969 } ,
7070
71+ setPath : function ( value ) {
72+
73+ this . path = value ;
74+ return this ;
75+
76+ } ,
77+
78+ setResourcePath : function ( value ) {
79+
80+ this . resourcePath = value ;
81+ return this ;
82+
83+ } ,
84+
7185 setCrossOrigin : function ( value ) {
7286
7387 this . crossOrigin = value ;
7488 return this ;
7589
7690 } ,
7791
78- parse : function ( FBXBuffer , resourceDirectory ) {
92+ parse : function ( FBXBuffer , path ) {
7993
8094 if ( isFbxFormatBinary ( FBXBuffer ) ) {
8195
@@ -103,7 +117,7 @@ THREE.FBXLoader = ( function () {
103117
104118 // console.log( fbxTree );
105119
106- var textureLoader = new THREE . TextureLoader ( this . manager ) . setPath ( resourceDirectory ) . setCrossOrigin ( this . crossOrigin ) ;
120+ var textureLoader = new THREE . TextureLoader ( this . manager ) . setPath ( this . resourcePath || path ) . setCrossOrigin ( this . crossOrigin ) ;
107121
108122 return new FBXTreeParser ( textureLoader ) . parse ( fbxTree ) ;
109123
@@ -282,7 +296,10 @@ THREE.FBXLoader = ( function () {
282296
283297 if ( THREE . Loader . Handlers . get ( '.tga' ) === null ) {
284298
285- THREE . Loader . Handlers . add ( / \. t g a $ / i, new THREE . TGALoader ( ) ) ;
299+ var tgaLoader = new THREE . TGALoader ( ) ;
300+ tgaLoader . setPath ( this . textureLoader . path ) ;
301+
302+ THREE . Loader . Handlers . add ( / \. t g a $ / i, tgaLoader ) ;
286303
287304 }
288305
0 commit comments