Spaces:
Running
Running
File size: 1,530 Bytes
6cd9596 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
/**
* @author Takahiro / https://github.com/takahirox
*/
// VRM Specification: https://dwango.github.io/vrm/vrm_spec/
//
// VRM is based on glTF 2.0 and VRM extension is defined
// in top-level json.extensions.VRM
THREE.VRMLoader = ( function () {
function VRMLoader( manager ) {
if ( THREE.GLTFLoader === undefined ) {
throw new Error( 'THREE.VRMLoader: Import THREE.GLTFLoader.' );
}
this.manager = ( manager !== undefined ) ? manager : THREE.DefaultLoadingManager;
this.gltfLoader = new THREE.GLTFLoader( this.manager );
}
VRMLoader.prototype = {
constructor: VRMLoader,
crossOrigin: 'anonymous',
load: function ( url, onLoad, onProgress, onError ) {
var scope = this;
this.gltfLoader.load( url, function ( gltf ) {
scope.parse( gltf, onLoad );
}, onProgress, onError );
},
setCrossOrigin: function ( value ) {
this.glTFLoader.setCrossOrigin( value );
return this;
},
setPath: function ( value ) {
this.glTFLoader.setPath( value );
return this;
},
setResourcePath: function ( value ) {
this.glTFLoader.setResourcePath( value );
return this;
},
setDRACOLoader: function ( dracoLoader ) {
this.glTFLoader.setDRACOLoader( dracoLoader );
return this;
},
parse: function ( gltf, onLoad ) {
var gltfParser = gltf.parser;
var gltfExtensions = gltf.userData.gltfExtensions || {};
var vrmExtension = gltfExtensions.VRM || {};
// handle VRM Extension here
onLoad( gltf );
}
};
return VRMLoader;
} )();
|