diff --git a/src/core/Scene.js b/src/core/Scene.js index c239cbb..c53b685 100644 --- a/src/core/Scene.js +++ b/src/core/Scene.js @@ -1,4 +1,5 @@ import { Scene, Color } from 'three'; +import { watch } from 'vue'; export default { inject: ['three'], @@ -9,6 +10,7 @@ export default { setup (props) { const scene = new Scene(); if (props.background) scene.background = new Color(props.background); + watch(() => props.background, (value) => { scene.background = new Color(value); }); return { scene }; }, provide() { diff --git a/src/meshes/Mesh.js b/src/meshes/Mesh.js index 922b639..88c6efe 100644 --- a/src/meshes/Mesh.js +++ b/src/meshes/Mesh.js @@ -56,6 +56,10 @@ export default { this.geometry = geometry; if (this.mesh) this.mesh.geometry = geometry; }, + setMaterial(material) { + this.material = material; + if (this.mesh) this.mesh.material = material; + }, refreshGeometry() { const oldGeo = this.geometry; this.createGeometry();