From 162eca31378c749b8f70c32ce2ed988b1101e881 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期五, 19 八月 2022 09:15:09 +0800
Subject: [PATCH] #
---
static/js/object/StoreConvey.js | 89 +++++++++++++++++++++++++++++++++++++++-----
1 files changed, 78 insertions(+), 11 deletions(-)
diff --git a/static/js/object/StoreConvey.js b/static/js/object/StoreConvey.js
index 4674b0c..e844b24 100644
--- a/static/js/object/StoreConvey.js
+++ b/static/js/object/StoreConvey.js
@@ -34,24 +34,91 @@
init();
this.load = function () {
- new THREE.ObjectLoader().load( "../static/model/json/閾炬潯杈撻�佹満.json", function (obj) {
+ new THREE.ObjectLoader().load( "../static/model/json/chainConvey.json", function (obj) {
obj.traverse (function (child) {
if (child instanceof THREE.Mesh) {
- child.scale.set(1, 1, 1.8);
- child.material = new THREE.MeshLambertMaterial({
- color: 0xAAAAAA
+ child.scale.set(1, 1, 1.6);
+ child.material = new THREE.MeshPhysicalMaterial({
+ color: 0x444444
+ });
+ if (child.name === "Box034" || child.name === "Box035") {
+ child.material = new THREE.MeshPhysicalMaterial({
+ color: 0x1C1C1C
+ });
+ }
+ child.castShadow = true;
+ // child.receiveShadow = true;
+ }
+ });
+
+ chainList.map(item => {
+ that.object.addObject(customize(obj.clone(), item));
+ })
+ });
+ new THREE.ObjectLoader().load( "../static/model/json/rollerConvey.json", function (obj) {
+ obj.traverse (function (child) {
+ if (child instanceof THREE.Mesh) {
+ child.scale.set(0.5, 1, 1);
+ child.material = new THREE.MeshPhysicalMaterial({
+ color: 0x444444
+ });
+ child.castShadow = true;
+ // child.receiveShadow = true;
+ }
+ });
+ rollerList.map(item => {
+ that.object.addObject(customize(obj.clone(), item));
+ })
+ });
+ new THREE.ObjectLoader().load( "../static/model/json/transportConvey.json", function (obj) {
+ obj.traverse (function (child) {
+ if (child instanceof THREE.Mesh) {
+ child.scale.set(1, 1, 1);
+ child.material = new THREE.MeshPhysicalMaterial({
+ color: 0x444444
});
}
});
- for (let k=0;k<chainList.length;k++) {
- let clone = obj.clone();
- clone.position.x = 0 + chainList[k].position.x;
- clone.position.y = 0 + chainList[k].position.y;
- clone.position.z = 0 + chainList[k].position.z;
- that.object.addObject( clone );
- }
+ transportList.map(item => {
+ that.object.addObject(customize(obj.clone(), item));
+ })
});
}
+
+ function customize(clone, info) {
+ let positionX = info.position.x || 0;
+ let positionY = info.position.y || 0;
+ let positionZ = info.position.z || 0;
+ let rotateY = info.rotateY || 0;
+
+ clone.name = info.no + "-sta";
+ clone.position.x = 0 + positionX;
+ clone.position.y = 0 + positionY;
+ clone.position.z = 0 + positionZ;
+ clone.rotateY(rotateY);
+ if (info.traverse !== undefined) {
+ let traverse = info.traverse;
+ clone.traverse (function (child) {
+ if (child instanceof THREE.Mesh) {
+ // 鎷変几
+ if (traverse.scale !== undefined) {
+ let scaleX = traverse.scale.x || 1;
+ let scaleY = traverse.scale.y || 1;
+ let scaleZ = traverse.scale.z || 1;
+ child.scale.set(scaleX, scaleY, scaleZ);
+ }
+ // 棰滆壊
+ if (traverse.color !== undefined) {
+ child.material = new THREE.MeshLambertMaterial({
+ color: traverse.color
+ });
+ }
+ }
+ });
+ }
+ return clone;
+ }
+
}
export {StoreConvey}
--
Gitblit v1.9.1