| | |
| | | // renderer.useLegacyLights = false; // 旧版光源 重要 |
| | | renderer.shadowMap.enabled = true; |
| | | // this.renderer.shadowMap.type = THREE.BasicShadowMap; // 最低阴影 |
| | | // this.renderer.toneMapping = THREE.ReinhardToneMapping; |
| | | // renderer.toneMapping = THREE.ReinhardToneMapping; |
| | | renderer.toneMapping = THREE.ACESFilmicToneMapping; |
| | | renderer.setPixelRatio(window.devicePixelRatio); |
| | | renderer.setSize(this.getFullWidth(), this.getFullHeight()); |
| | |
| | | loader.load('model/04.fbx', (mesh) => { |
| | | mesh.position.set(0, 10, 0); |
| | | mesh.scale.set(5, 5, 5); |
| | | mesh.name = '1-1-1'; |
| | | // mesh.name = '1-1-1'; |
| | | // mesh.rotation.x = Utils.rotationParseNum(270); |
| | | mesh.traverse(function (child) { |
| | | if (child.isMesh) { |
| | | |
| | | if (child.name === '不规则') { |
| | | // child.visible = false; |
| | | console.log(material); |
| | | child.material.color.set(0xE8B67E); |
| | | } |
| | | if (child.name === '货架') { |
| | | // child.visible = false; |
| | | child.material.color.set(0x4680BF); |
| | | } |
| | | // if (child.name === '托盘') { |
| | | // child.material.color.set(0xBEBEBE); |
| | | // } |
| | | if (child.name === '托盘') { |
| | | // child.visible = false; |
| | | child.material.color.set(0xBEBEBE); |
| | | } |
| | | child.castShadow = true; |
| | | child.receiveShadow = true; |
| | | } |
| | |
| | | }; |
| | | |
| | | const initLight = (scene) => { |
| | | const directionalLight = new THREE.DirectionalLight(0xffffff, 8); |
| | | const directionalLight = new THREE.DirectionalLight(0xffffff, 5); |
| | | directionalLight.position.set(1, 1, 1); |
| | | scene.add(directionalLight); |
| | | |
| | | const ambientLight = new THREE.AmbientLight(0xf0f0f0, 10); |
| | | const ambientLight = new THREE.AmbientLight(0xffffff, 3); |
| | | scene.add(ambientLight); |
| | | |
| | | const spotLight = new THREE.SpotLight(0xffffff, 8); |
| | | spotLight.position.set(-300, 1000, 0); |
| | | spotLight.angle = Math.PI / 4; // 角度 |
| | | spotLight.distance = 800; // 距离 |
| | | spotLight.decay = 0; // 光衰 |
| | | // 光照阴影及其生效范围 |
| | | spotLight.castShadow = true; |
| | | spotLight.shadow.camera.near = 50; |
| | | spotLight.shadow.camera.far = 2000; |
| | | spotLight.shadow.bias = - 0.000222; |
| | | // 阴影特效高低值 |
| | | spotLight.shadow.mapSize.width = 1024; |
| | | spotLight.shadow.mapSize.height = 1024; |
| | | scene.add(spotLight); |
| | | // const spotLight = new THREE.SpotLight(0xffffff, 5); |
| | | // spotLight.position.set(-300, 1000, 0); |
| | | // spotLight.angle = Math.PI / 4; // 角度 |
| | | // spotLight.distance = 800; // 距离 |
| | | // spotLight.decay = 0; // 光衰 |
| | | // // 光照阴影及其生效范围 |
| | | // spotLight.castShadow = true; |
| | | // spotLight.shadow.camera.near = 50; |
| | | // spotLight.shadow.camera.far = 2000; |
| | | // spotLight.shadow.bias = - 0.000222; |
| | | // // 阴影特效高低值 |
| | | // spotLight.shadow.mapSize.width = 1024; |
| | | // spotLight.shadow.mapSize.height = 1024; |
| | | // scene.add(spotLight); |
| | | |
| | | if (help) { |
| | | scene.add(new THREE.SpotLightHelper(spotLight)); |
| | | } |
| | | // if (help) { |
| | | // scene.add(new THREE.SpotLightHelper(spotLight)); |
| | | // } |
| | | } |