From dd1602c1a8722206bf9df0c1b78c34926bd121df Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 23 四月 2024 11:10:24 +0800
Subject: [PATCH] #

---
 src/assets/data/agv.js |    8 ++++----
 src/components/agv.jsx |   24 ++++++++++++++++++++----
 2 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/src/assets/data/agv.js b/src/assets/data/agv.js
index e0f7d60..6d3a899 100644
--- a/src/assets/data/agv.js
+++ b/src/assets/data/agv.js
@@ -40,7 +40,7 @@
             no: 1,
             position: [100, 0, 200],
             theta: 90,
-            height: 100,
+            height: 200,
             loaderTheta: 180,
             forkLength: 0,
             trayList: [],
@@ -52,7 +52,7 @@
             no: 1,
             position: [100, 0, 300],
             theta: 90,
-            height: 100,
+            height: 300,
             loaderTheta: 180,
             forkLength: 0,
             trayList: [],
@@ -62,9 +62,9 @@
     [
         {
             no: 1,
-            position: [100, 0, 300],
+            position: [100, 0, 400],
             theta: 90,
-            height: 100,
+            height: 400,
             loaderTheta: 180,
             forkLength: 0,
             trayList: [],
diff --git a/src/components/agv.jsx b/src/components/agv.jsx
index ebe1451..cf713ed 100644
--- a/src/components/agv.jsx
+++ b/src/components/agv.jsx
@@ -12,6 +12,7 @@
 
     const [groupPos, setGroupPos] = useState({ x: 0, y: 0, z: 0 });
     const [groupTheta, setGroupTheta] = useState(0);
+    const [loaderHeight, setLoaderHeight] = useState(0);
 
     useEffect(() => {
         if (!props || Object.keys(props).length === 0) {
@@ -52,7 +53,18 @@
                 }).start();
         }
 
-
+        // loader height
+        if (loaderHeight !== height) {
+            new TWEEN.Tween({ value: loaderHeight })
+                .to({ value: height }, INTERVAL_TIME)
+                .easing(TWEEN.Easing.Linear.None)
+                .onUpdate((e) => {
+                    setLoaderHeight(e.value)
+                })
+                .onComplete((e) => {
+                    setLoaderHeight(e.value)
+                }).start();
+        }
 
     }, [props]);
 
@@ -92,9 +104,13 @@
                 position={[groupPos.x, groupPos.y, groupPos.z]}
             >
                 <primitive object={bodyModel} castShadow />
-                <primitive object={loaderModel} castShadow position={[0, 100, 0]} />
-                <primitive object={forkModel} castShadow position={[0, 120, 0]} />
-                <Box position={[100, 100, 300]} />
+                <group
+                    position-y={loaderHeight}
+                >
+                    <primitive object={loaderModel} castShadow position={[0, 50, 0]} />
+                    <primitive object={forkModel} castShadow position={[0, 61, 0]} />
+                    <Box position={[100, 100, 300]} />
+                </group>
             </group>
         </>
     )

--
Gitblit v1.9.1