| | |
| | | import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls' |
| | | import TWEEN from '@tweenjs/tween.js'; |
| | | |
| | | const help = false; |
| | | const help = true; |
| | | |
| | | export default class ShelfThree { |
| | | |
| | |
| | | initLight(this.scene); |
| | | |
| | | this.animate(); |
| | | this.build(); |
| | | } |
| | | |
| | | animate = () => { |
| | |
| | | }, false); |
| | | } |
| | | |
| | | build = () => { |
| | | buildDemo(this.scene); |
| | | generateMesh = (fn) => { |
| | | fn(this.scene); |
| | | } |
| | | |
| | | handleClick = () => { |
| | |
| | | if (help) { |
| | | scene.add(new THREE.SpotLightHelper(spotLight)); |
| | | } |
| | | } |
| | | |
| | | const buildDemo = (scene) => { |
| | | const boxGeometry = new THREE.BoxGeometry(100, 100, 100); |
| | | const boxMaterial = new THREE.MeshStandardMaterial({ |
| | | color: '#222f3e', |
| | | }); |
| | | const boxMesh = new THREE.Mesh(boxGeometry, boxMaterial); |
| | | boxMesh.position.set(0, 0, 0); |
| | | scene.add(boxMesh) |
| | | return boxMesh; |
| | | } |