diff --git a/src/models/GLTF.ts b/src/models/GLTF.ts index 3bca863..c4d7b0b 100644 --- a/src/models/GLTF.ts +++ b/src/models/GLTF.ts @@ -1,11 +1,20 @@ import { defineComponent } from 'vue' import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js' +import { DRACOLoader } from 'three/examples/jsm/loaders/DRACOLoader.js' import Model from './Model' export default defineComponent({ extends: Model, + props: { + dracoPath: { type: String, required: true }, + }, created() { const loader = new GLTFLoader() + if (this.dracoPath) { + const dracoLoader = new DRACOLoader() + dracoLoader.setDecoderPath(this.dracoPath) + loader.setDRACOLoader(dracoLoader) + } this.$emit('before-load', loader) loader.load(this.src, (gltf) => { this.onLoad(gltf)