From 354ed76a40a54cf8d83b8bbd06ce642b3934905c Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 29 四月 2024 14:09:41 +0800 Subject: [PATCH] # --- src/components/shelf.jsx | 12 ++++++++---- 1 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/components/shelf.jsx b/src/components/shelf.jsx index 4c39a50..5347d8a 100644 --- a/src/components/shelf.jsx +++ b/src/components/shelf.jsx @@ -2,17 +2,23 @@ import { useGLTF, useFBX } from '@react-three/drei'; import * as THREE from 'three'; import { MODEL_SHELF_SCALE } from '@/config/setting' +import { useStore } from '@/store'; 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 { no, position = [0, 300, 0], rotationY = 0 } = props; + const state = useStore(); const { nodes, materials } = useMemo(() => { return useGLTF('/models/shelf/row.glb'); }, []) + + useEffect(() => { + state.shelfList[no] = position; + }, [props]); return ( <> @@ -29,10 +35,8 @@ <boxGeometry args={[150, 200, 30]} /> <meshStandardMaterial color={'orange'} transparent={true} opacity={.5} /> </mesh> + {/* <Box rotationY={0} position={[0, 0, 0]} /> */} </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