未验证 提交 c501d0fc 编写于 作者: M Mr.doob 提交者: GitHub

Merge pull request #15041 from Mugen87/dev2

XLoader: Added setCrossOrigin(), setPath() and setResourcePath()
......@@ -216,7 +216,6 @@
this.manager = manager !== undefined ? manager : new THREE.DefaultLoadingManager();
this.texloader = new THREE.TextureLoader( this.manager );
this.url = "";
this.baseDir = "";
this._putMatLength = 0;
this._nowMat = null;
this._nowFrameName = "";
......@@ -238,6 +237,9 @@
}
createClass( XLoader, [ {
key: 'crossOrigin',
value: 'anonymous'
}, {
key: '_setArgOption',
value: function _setArgOption( _arg ) {
......@@ -277,6 +279,7 @@
this._setArgOption( _arg );
var loader = new THREE.FileLoader( this.manager );
loader.setPath( this.path );
loader.setResponseType( 'arraybuffer' );
loader.load( this.url, function ( response ) {
......@@ -284,6 +287,30 @@
}, onProgress, onError );
}
}, {
key: 'setCrossOrigin',
value: function setCrossOrigin( value ) {
this.crossOrigin = value;
return this;
}
}, {
key: 'setPath',
value: function setPath( value ) {
this.path = value;
return this;
}
}, {
key: 'setResourcePath',
value: function setResourcePath( value ) {
this.resourcePath = value;
return this;
}
}, {
key: 'fromResponsedData',
......@@ -470,11 +497,24 @@
key: '_parseASCII',
value: function _parseASCII() {
if ( this.url.lastIndexOf( "/" ) > 0 ) {
var path;
if ( this.resourcePath !== undefined ) {
path = this.resourcePath;
} else if ( this.path !== undefined ) {
this.baseDir = this.url.substr( 0, this.url.lastIndexOf( "/" ) + 1 );
path = this.path;
} else {
path = THREE.LoaderUtils.extractUrlBase( this.url );
}
this.texloader.setPath( path ).setCrossOrigin( this.crossOrigin );
var endRead = 16;
this.Hierarchies.children = [];
this._hierarchieParse( this.Hierarchies, endRead );
......@@ -1180,21 +1220,21 @@
switch ( localObject.type ) {
case "TextureFilename":
_nowMat.map = this.texloader.load( this.baseDir + fileName );
_nowMat.map = this.texloader.load( fileName );
break;
case "BumpMapFilename":
_nowMat.bumpMap = this.texloader.load( this.baseDir + fileName );
_nowMat.bumpMap = this.texloader.load( fileName );
_nowMat.bumpScale = 0.05;
break;
case "NormalMapFilename":
_nowMat.normalMap = this.texloader.load( this.baseDir + fileName );
_nowMat.normalMap = this.texloader.load( fileName );
_nowMat.normalScale = new THREE.Vector2( 2, 2 );
break;
case "EmissiveMapFilename":
_nowMat.emissiveMap = this.texloader.load( this.baseDir + fileName );
_nowMat.emissiveMap = this.texloader.load( fileName );
break;
case "LightMapFilename":
_nowMat.lightMap = this.texloader.load( this.baseDir + fileName );
_nowMat.lightMap = this.texloader.load( fileName );
break;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册