| | |
| | | import { OutlinePass } from 'three/examples/jsm/postprocessing/OutlinePass'; |
| | | import { ShaderPass } from 'three/examples/jsm/postprocessing/ShaderPass'; |
| | | import { FXAAShader } from 'three/examples/jsm/shaders/FXAAShader'; |
| | | import { FBXLoader } from 'three/examples/jsm/loaders/FBXLoader' |
| | | import * as Utils from '../../utils' |
| | | |
| | | |
| | | const help = false; |
| | | const help = true; |
| | | |
| | | export default class ShelfThree { |
| | | |
| | |
| | | } |
| | | |
| | | generateMesh = (fn) => { |
| | | fn(this.addObject); |
| | | // fn(this.addObject); |
| | | const loader = new FBXLoader(); |
| | | loader.load('model/001-1.fbx', (mesh) => { |
| | | console.log(mesh); |
| | | mesh.position.set(0, 10, 0); |
| | | mesh.scale.set(5, 5, 5); |
| | | mesh.rotation.x = Utils.rotationParseNum(270); |
| | | mesh.traverse(function (child) { |
| | | if (child.isMesh) { |
| | | child.castShadow = true; |
| | | child.receiveShadow = true; |
| | | } |
| | | }); |
| | | this.addObject(mesh); |
| | | |
| | | const clone = mesh.clone(); |
| | | clone.position.set(0, 195, 0); |
| | | clone.scale.set(5, 5, 5); |
| | | clone.rotation.x = Utils.rotationParseNum(270); |
| | | this.addObject(clone); |
| | | }) |
| | | } |
| | | |
| | | setNewSelectedMesh = (objName) => { |
| | | for(const mesh of this.objects) { |
| | | for (const mesh of this.objects) { |
| | | if (mesh.name === objName) { |
| | | this.outlinePass.selectedObjects = [mesh]; |
| | | break; |