| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | import {	Loader} from '../../../build/three.module.js';import { GLTFLoader } from '../loaders/GLTFLoader.js';// 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.VRMclass VRMLoader extends Loader {	constructor( manager ) {		if ( GLTFLoader === undefined ) {			throw new Error( 'THREE.VRMLoader: Import GLTFLoader.' );		}		super( manager );		this.gltfLoader = new GLTFLoader( manager );	}	load( url, onLoad, onProgress, onError ) {		const scope = this;		this.gltfLoader.load( url, function ( gltf ) {			try {				scope.parse( gltf, onLoad );			} catch ( e ) {				if ( onError ) {					onError( e );				} else {					console.error( e );				}				scope.manager.itemError( url );			}		}, onProgress, onError );	}	setDRACOLoader( dracoLoader ) {		this.gltfLoader.setDRACOLoader( dracoLoader );		return this;	}	parse( gltf, onLoad ) {		// const gltfParser = gltf.parser;		// const gltfExtensions = gltf.userData.gltfExtensions || {};		// const vrmExtension = gltfExtensions.VRM || {};		// handle VRM Extension here		onLoad( gltf );	}}export { VRMLoader };
 |