From 1930a52581c2189e0a929985d14bd67ec96f7988 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 24 四月 2024 15:25:57 +0800
Subject: [PATCH] #
---
src/components/shelf.jsx | 39 ++++++++++++++++++++++++---------------
1 files changed, 24 insertions(+), 15 deletions(-)
diff --git a/src/components/shelf.jsx b/src/components/shelf.jsx
index c084e7c..4c39a50 100644
--- a/src/components/shelf.jsx
+++ b/src/components/shelf.jsx
@@ -1,29 +1,38 @@
-import { useState, useMemo, useRef, useEffect } from 'react';
-import { useGLTF } from '@react-three/drei';
-import { MODEL_SHELF_SCALE } from '@/config/setting';
+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 model = useMemo(() => {
- const fbx = useGLTF('/models/shelf/row.glb');
- if (!fbx.castShadow) {
- Common.setShadow(fbx);
- }
- fbx.scale.set(MODEL_SHELF_SCALE, MODEL_SHELF_SCALE, MODEL_SHELF_SCALE);
- return fbx.clone();
+ const { nodes, materials } = useMemo(() => {
+ return useGLTF('/models/shelf/row.glb');
}, [])
-
- useEffect(() => {
-
- }, []);
return (
<>
<group rotation-y={rotationY} position={position}>
- <primitive object={model} castShadow />
+ {/* <primitive
+ castShadow
+ receiveShadow
+ 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>
</group>
+ {/* <Box rotationY={Math.PI / 2} position={[0, 100, -50]} />
+ <Box rotationY={Math.PI / 2} position={[0, 100, 0]} />
+ <Box rotationY={Math.PI / 2} position={[0, 100, 30]} /> */}
</>
)
}
--
Gitblit v1.9.1