From 5ff1f4b91096410ca4a4b405fc3be1c76dbfe112 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 24 四月 2024 16:06:06 +0800
Subject: [PATCH] #

---
 src/components/shelf.jsx |   38 ++++++++++++++++++++++----------------
 1 files changed, 22 insertions(+), 16 deletions(-)

diff --git a/src/components/shelf.jsx b/src/components/shelf.jsx
index aa2bfa3..90d7e8f 100644
--- a/src/components/shelf.jsx
+++ b/src/components/shelf.jsx
@@ -1,30 +1,36 @@
-import { useMemo } from 'react';
-import { useGLTF } from '@react-three/drei';
+import { useMemo, useState, useEffect } from 'react';
+import { useGLTF, useFBX } from '@react-three/drei';
 import * as THREE from 'three';
 import { MODEL_SHELF_SCALE } from '@/config/setting'
+import { DRACOLoader } from 'three/examples/jsm/loaders/DRACOLoader';
+import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader';
+import Box from './box';
+import * as Common from '../utils/common';
 
 const Shelf = (props) => {
     const { position = [0, 300, 0], rotationY = 0 } = props;
 
-    const { scene } = useGLTF('/models/shelf/row.glb');
-    console.log(scene);
-
-    const model = useMemo(() => scene.clone(), [scene]);
+    const { nodes, materials } = useMemo(() => {
+        return useGLTF('/models/shelf/row.glb');
+    }, [])
 
     return (
         <>
-            <mesh position={position}>
-                <boxGeometry args={[50, 50, 50]} />
-                <meshStandardMaterial color={'hotpink'} />
-            </mesh>
-            {/* <group rotation-y={rotationY} position={position}>
-                <primitive
-                    object={model}
+            <group rotation-y={rotationY} position={position}>
+                {/* <primitive
                     castShadow
                     receiveShadow
-                    scale={[MODEL_SHELF_SCALE, MODEL_SHELF_SCALE, MODEL_SHELF_SCALE]}
-                />
-            </group> */}
+                    object={nodes.鐗╀欢_1001}
+                    material={materials['鏉愯川_1.002']}
+                    position={[0, 99, 0]}
+                    scale={50000}
+                /> */}
+                <mesh position={[0, 100, 0]}>
+                    <boxGeometry args={[150, 200, 30]} />
+                    <meshStandardMaterial color={'orange'} transparent={true} opacity={.5} />
+                </mesh>
+                {/* <Box rotationY={0} position={[0, 0, 0]} /> */}
+            </group>
         </>
     )
 }

--
Gitblit v1.9.1