UNPKG

three-stdlib

Version:

stand-alone library of threejs examples

1 lines 1.91 kB
{"version":3,"file":"VRMLoader.cjs","sources":["../../src/loaders/VRMLoader.js"],"sourcesContent":["import { Loader } from 'three'\nimport { GLTFLoader } from '../loaders/GLTFLoader.js'\n\n// VRM Specification: https://dwango.github.io/vrm/vrm_spec/\n//\n// VRM is based on glTF 2.0 and VRM extension is defined\n// in top-level json.extensions.VRM\n\nclass VRMLoader extends Loader {\n constructor(manager) {\n super(manager)\n this.gltfLoader = new GLTFLoader(manager)\n }\n\n load(url, onLoad, onProgress, onError) {\n const scope = this\n\n this.gltfLoader.load(\n url,\n function (gltf) {\n try {\n scope.parse(gltf, onLoad)\n } catch (e) {\n if (onError) {\n onError(e)\n } else {\n console.error(e)\n }\n\n scope.manager.itemError(url)\n }\n },\n onProgress,\n onError,\n )\n }\n\n setDRACOLoader(dracoLoader) {\n this.gltfLoader.setDRACOLoader(dracoLoader)\n return this\n }\n\n parse(gltf, onLoad) {\n // const gltfParser = gltf.parser;\n // const gltfExtensions = gltf.userData.gltfExtensions || {};\n // const vrmExtension = gltfExtensions.VRM || {};\n\n // handle VRM Extension here\n\n onLoad(gltf)\n }\n}\n\nexport { VRMLoader }\n"],"names":["Loader","GLTFLoader"],"mappings":";;;;AAQA,MAAM,kBAAkBA,MAAAA,OAAO;AAAA,EAC7B,YAAY,SAAS;AACnB,UAAM,OAAO;AACb,SAAK,aAAa,IAAIC,WAAU,WAAC,OAAO;AAAA,EACzC;AAAA,EAED,KAAK,KAAK,QAAQ,YAAY,SAAS;AACrC,UAAM,QAAQ;AAEd,SAAK,WAAW;AAAA,MACd;AAAA,MACA,SAAU,MAAM;AACd,YAAI;AACF,gBAAM,MAAM,MAAM,MAAM;AAAA,QACzB,SAAQ,GAAP;AACA,cAAI,SAAS;AACX,oBAAQ,CAAC;AAAA,UACrB,OAAiB;AACL,oBAAQ,MAAM,CAAC;AAAA,UAChB;AAED,gBAAM,QAAQ,UAAU,GAAG;AAAA,QAC5B;AAAA,MACF;AAAA,MACD;AAAA,MACA;AAAA,IACD;AAAA,EACF;AAAA,EAED,eAAe,aAAa;AAC1B,SAAK,WAAW,eAAe,WAAW;AAC1C,WAAO;AAAA,EACR;AAAA,EAED,MAAM,MAAM,QAAQ;AAOlB,WAAO,IAAI;AAAA,EACZ;AACH;;"}