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 | 37 ++++++++++++++++++++++--------------- 1 files changed, 22 insertions(+), 15 deletions(-) diff --git a/src/components/shelf.jsx b/src/components/shelf.jsx index c084e7c..90d7e8f 100644 --- a/src/components/shelf.jsx +++ b/src/components/shelf.jsx @@ -1,28 +1,35 @@ -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> + {/* <Box rotationY={0} position={[0, 0, 0]} /> */} </group> </> ) -- Gitblit v1.9.1