From 03421f49b51b92f675d0bd0cae9d0ba341001b92 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期三, 22 六月 2022 10:50:03 +0800 Subject: [PATCH] # --- static/js/object/StoreCrn.js | 78 ++++++++++++++++++++------------------ 1 files changed, 41 insertions(+), 37 deletions(-) diff --git a/static/js/object/StoreCrn.js b/static/js/object/StoreCrn.js index f7751a3..e0d70f9 100644 --- a/static/js/object/StoreCrn.js +++ b/static/js/object/StoreCrn.js @@ -6,11 +6,11 @@ const zOffset = -480; const xOffset0 = -1735; -const yOffset0 = -108; +const yOffset0 = -117; const zOffset0 = -480; const xOffset1 = -1735; -const yOffset1 = -107; +const yOffset1 = -116; const zOffset1 = -475; function StoreCrn(option, object) { @@ -25,41 +25,6 @@ this.crnForkWidth = option.crnFork.width||20;//搴撲綅瀹� this.crnForkHeight = option.crnFork.height||30;//搴撲綅楂� - // 绔嬫煴 - // var a = new THREE.Mesh(new THREE.BoxBufferGeometry(this.crnBodyLength, this.crnBodyHeight, this.crnBodyWidth), new THREE.MeshBasicMaterial({ - // color: 0xff0000, - // transparent: true, - // opacity: .3 - // })) - // a.name = option.crnNo + "-body"; - // a.position.x = option.crnBody.position.x; - // a.position.y = option.crnBody.position.y + this.crnBodyHeight/2; - // a.position.z = option.crnBody.position.z - this.crnBodyWidth/2; - // object.addObject(a); - // 杞借揣鍙� - // var b = new THREE.Mesh(new THREE.BoxBufferGeometry(this.crnLoadLength, this.crnLoadHeight, this.crnLoadWidth), new THREE.MeshBasicMaterial({ - // color: 0x00ff00, - // transparent: true, - // opacity: .5 - // })) - // b.name = option.crnNo + "-load"; - // b.position.x = option.crnLoad.position.x; - // b.position.y = option.crnLoad.position.y + this.crnLoadHeight/2; - // b.position.z = option.crnLoad.position.z - this.crnLoadWidth/2 + 5; - // object.addObject(b); - // 鍙夌墮 - // var c = new THREE.Mesh(new THREE.BoxBufferGeometry(this.crnForkLength, this.crnForkWidth, this.crnForkHeight), new THREE.MeshBasicMaterial({ - // color: 0xff00ff, - // transparent: true, - // opacity: 1 - // })) - // c.name = option.crnNo + "-fork"; - // c.position.x = option.crnFork.position.x; - // c.position.y = option.crnFork.position.y + this.crnLoadHeight/2; - // c.position.z = option.crnFork.position.z - this.crnLoadWidth/2; - // object.addObject(c); - - const manager = new THREE.LoadingManager(); new MTLLoader(manager) .setPath( '../static/model/obj/' ) @@ -69,12 +34,25 @@ .setMaterials( materials ) .setPath( '../static/model/obj/' ) .load( '鍫嗗灈鏈烘湰浣�.obj', function ( obj ) { + obj.traverse (function (child) { + child.castShadow = true; + // child.receiveShadow = true; + 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 = option.crnBody.position.x + xOffset; obj.position.y = option.crnBody.position.y + that.crnBodyHeight/2 + yOffset; obj.position.z = option.crnBody.position.z - that.crnBodyWidth/2 + zOffset; + obj.userData['crnBodyLength'] = that.crnBodyLength; + obj.userData['crnBodyWidth'] = that.crnBodyWidth; + obj.userData['crnBodyHeight'] = that.crnBodyHeight; object.addObject( obj ); }, null, null ); }); @@ -86,12 +64,25 @@ .setMaterials( materials ) .setPath( '../static/model/obj/' ) .load( '杞借揣鍙�.obj', function ( obj ) { + obj.traverse (function (child) { + if (child instanceof THREE.Mesh) { + child.castShadow = true; + // child.receiveShadow = true; + child.material = new THREE.MeshLambertMaterial({ + color: 0xD2691E + }); + } + }); + obj.scale.set(0.03, 0.03, 0.03); obj.rotateY(- Math.PI / 2); obj.name = option.crnNo + "-load"; obj.position.x = option.crnLoad.position.x + xOffset0; obj.position.y = option.crnLoad.position.y + that.crnLoadHeight/2 + yOffset0; obj.position.z = option.crnLoad.position.z - that.crnLoadWidth/2 + 5 + zOffset0; + obj.userData['crnLoadLength'] = that.crnLoadLength; + obj.userData['crnLoadWidth'] = that.crnLoadWidth; + obj.userData['crnLoadHeight'] = that.crnLoadHeight; object.addObject( obj ); }, null, null ); }); @@ -103,12 +94,25 @@ .setMaterials( materials ) .setPath( '../static/model/obj/' ) .load( '璐у弶.obj', function ( obj ) { + obj.traverse (function (child) { + if (child instanceof THREE.Mesh) { + child.castShadow = true; + // child.receiveShadow = true; + child.material = new THREE.MeshLambertMaterial({ + color: 0x363636 + }); + } + }); + obj.scale.set(0.03, 0.03, 0.03); obj.rotateY(- Math.PI / 2); obj.name = option.crnNo + "-fork"; obj.position.x = option.crnFork.position.x + xOffset1; obj.position.y = option.crnFork.position.y + that.crnLoadHeight/2 + yOffset1; obj.position.z = option.crnFork.position.z - that.crnLoadWidth/2 + zOffset1; + obj.userData['crnForkLength'] = that.crnForkLength; + obj.userData['crnForkWidth'] = that.crnForkWidth; + obj.userData['crnForkHeight'] = that.crnForkHeight; object.addObject( obj ); }, null, null ); }); -- Gitblit v1.9.1