From ffd39ddf6fc9b0280af4f2f5810212cf23072c6c Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期六, 25 十二月 2021 11:05:31 +0800
Subject: [PATCH] #
---
static/js/object/StoreCrn.js | 159 +++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 129 insertions(+), 30 deletions(-)
diff --git a/static/js/object/StoreCrn.js b/static/js/object/StoreCrn.js
index fd6f0c3..17c4c22 100644
--- a/static/js/object/StoreCrn.js
+++ b/static/js/object/StoreCrn.js
@@ -1,44 +1,143 @@
+import {MTLLoader} from "../lib/MTLLoader.js";
+import {OBJLoader} from "../lib/OBJLoader.js";
+import {Color} from "../three.module.js";
+
+const xOffset = -1735;
+const yOffset = -289;
+const zOffset = -480;
+
+const xOffset0 = -1735;
+const yOffset0 = -108;
+const zOffset0 = -480;
+
+const xOffset1 = -1735;
+const yOffset1 = -107;
+const zOffset1 = -475;
+
function StoreCrn(option, object) {
- console.log(option);
- this.crnBodyLength = option.crnBody.length||30;//搴撲綅闀垮害
+ let that = this;
+ this.crnBodyLength = option.crnBody.length||50;//搴撲綅闀垮害
this.crnBodyWidth = option.crnBody.width||50;//搴撲綅瀹�
this.crnBodyHeight = option.crnBody.height||500;//搴撲綅楂�
this.crnLoadLength = option.crnLoad.length||60;//搴撲綅闀垮害
this.crnLoadWidth = option.crnLoad.width||60;//搴撲綅瀹�
this.crnLoadHeight = option.crnLoad.height||40;//搴撲綅楂�
- this.crnForkLength = option.crnFork.length||80;//搴撲綅闀垮害
+ this.crnForkLength = option.crnFork.length||50;//搴撲綅闀垮害
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.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 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.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 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.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);
+ // 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/' )
+ .load( '鍫嗗灈鏈烘湰浣�.mtl', function ( materials ) {
+ materials.preload();
+ new OBJLoader( manager )
+ .setMaterials( materials )
+ .setPath( '../static/model/obj/' )
+ .load( '鍫嗗灈鏈烘湰浣�.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 = 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;
+ object.addObject( obj );
+ }, null, null );
+ });
+ new MTLLoader(manager)
+ .setPath( '../static/model/obj/' )
+ .load( '杞借揣鍙�.mtl', function ( materials ) {
+ materials.preload();
+ new OBJLoader( manager )
+ .setMaterials( materials )
+ .setPath( '../static/model/obj/' )
+ .load( '杞借揣鍙�.obj', function ( obj ) {
+ obj.traverse (function (child) {
+ if (child instanceof THREE.Mesh) {
+ 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;
+ object.addObject( obj );
+ }, null, null );
+ });
+ new MTLLoader(manager)
+ .setPath( '../static/model/obj/' )
+ .load( '璐у弶.mtl', function ( materials ) {
+ materials.preload();
+ new OBJLoader( manager )
+ .setMaterials( materials )
+ .setPath( '../static/model/obj/' )
+ .load( '璐у弶.obj', function ( obj ) {
+ obj.traverse (function (child) {
+ if (child instanceof THREE.Mesh) {
+ 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;
+ object.addObject( obj );
+ }, null, null );
+ });
}
+
+export {StoreCrn}
--
Gitblit v1.9.1