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

---
 src/components/agv.jsx |   24 ++++++++++++++++++++----
 1 files changed, 20 insertions(+), 4 deletions(-)

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