| | |
| | | import {OBJLoader} from './lib/OBJLoader.js'; |
| | | import {StoreShelf} from './object/StoreShelf.js'; |
| | | import {StoreCrn} from './object/StoreCrn.js'; |
| | | import {StoreConvey} from './object/StoreConvey.js'; |
| | | import { Sky } from './object/Sky.js'; |
| | | |
| | | |
| | |
| | | this.direction = new THREE.Vector3(); |
| | | this.raycaster = null; |
| | | this.prevTime = performance.now();//上一次render的时间 |
| | | this.backgroundType = false; |
| | | this.backgroundType = true; |
| | | |
| | | this.start = function () { |
| | | this.initMain(); |
| | |
| | | this.initPointLockControl(this); |
| | | this.initFloor(); |
| | | this.initBuilding(); |
| | | this.initTransporter(this); |
| | | this.initConvey(); |
| | | } |
| | | this.animate = function () { |
| | | requestAnimationFrame(this.animate.bind(this)); |
| | |
| | | // this.camera.position.z = 600; |
| | | // //相机的朝向 |
| | | // this.camera.lookAt(0, 0, 0); |
| | | this.camera.position.set( - 350, 1070, 1550 ); |
| | | this.camera.position.set( -350, 600, 1100 ); |
| | | this.camera.lookAt( this.scene.position ); |
| | | //将相机放到场景中 |
| | | this.scene.add(this.camera); |
| | | } else { |
| | | this.camera.position.set( - 350, 1070, 1550 ); |
| | | this.camera.position.set( -350, 600, 1100 ); |
| | | this.camera.lookAt( this.scene.position ); |
| | | } |
| | | } |
| | |
| | | } |
| | | this.initPointLockControl = function(object){ |
| | | this.controls = new PointerLockControls( this.camera, document.body ); |
| | | this.raycaster = new THREE.Raycaster( new THREE.Vector3(), new THREE.Vector3( 0, - 1, 0 ), 0, 10 ); |
| | | this.raycaster = new THREE.Raycaster( new THREE.Vector3(), new THREE.Vector3( 0, - 1, 0 ), 0, 50 ); |
| | | |
| | | const onKeyDown = function ( event ) { |
| | | switch ( event.code ) { |
| | |
| | | } |
| | | } |
| | | } |
| | | this.initTransporter = function (object) { |
| | | // const manager = new THREE.LoadingManager(); |
| | | // new MTLLoader(manager) |
| | | // .setPath( '../static/model/obj/' ) |
| | | // .load( '13213.mtl', function ( materials ) { |
| | | // materials.preload(); |
| | | // new OBJLoader( manager ) |
| | | // .setMaterials( materials ) |
| | | // .setPath( '../static/model/obj/' ) |
| | | // .load( '13213.obj', function ( obj ) { |
| | | // obj.traverse (function (child) { |
| | | // if (child instanceof THREE.Mesh) { |
| | | // child.material = new THREE.MeshLambertMaterial({ |
| | | // color: 0xCD6839 |
| | | // }); |
| | | // } |
| | | // }); |
| | | // |
| | | // obj.scale.set(0.03, 0.03, 0.03); |
| | | // obj.rotateY(- Math.PI / 2); |
| | | // // obj.name = option.crnNo + "-body"; |
| | | // obj.position.x = 0; |
| | | // obj.position.y = 0; |
| | | // obj.position.z = 0; |
| | | // object.addObject( obj ); |
| | | // }, null, null ); |
| | | // }); |
| | | |
| | | this.initConvey = function () { |
| | | let storeConvey = new StoreConvey(this, conveyObjects.objects) |
| | | storeConvey.load(); |
| | | } |
| | | this.initStoreObjects = function (object) { |
| | | if (this.firstTime === 1) { |
| | |
| | | this.crnTasks.push(new CrnTask(crnData, this)); |
| | | } else { |
| | | if(!crnTask.run) { |
| | | // console.log(2) |
| | | crnTask.modify(crnData); |
| | | } |
| | | } |
| | |
| | | this.lockControl = function () { |
| | | this.camera.position.y = 100; |
| | | this.camera.lookAt(900,1100,0); |
| | | this.controls.getObject().position.x = 0; |
| | | this.controls.getObject().position.x = -200; |
| | | this.controls.getObject().position.y = 200; |
| | | this.controls.getObject().position.z = 180; |
| | | this.controls.getObject().position.z = 200; |
| | | this.controls.lock(); |
| | | } |
| | | this.mainView = function () { |
| | | this.camera.position.set( 1400, 400, 2000 ); |
| | | this.camera.lookAt( 1400, 500, 0 ); |
| | | } |
| | | this.leftView = function () { |
| | | this.camera.position.set( -3000, 300, -2000 ); |
| | | this.camera.lookAt(0, 500, -2000); |
| | | } |
| | | this.verticalView = function () { |
| | | this.camera.position.set( 1400, 6000, -1800 ); |
| | | this.camera.lookAt( 1400, 0, -1800 ); |
| | | } |
| | | this.backlView = function () { |
| | | this.initCamera(); |
| | | } |
| | | }, |
| | | |
| | | }; |