From f57db66f7c1ead69b0772132330edb30411e6373 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期二, 23 四月 2024 15:30:32 +0800 Subject: [PATCH] # --- src/assets/data/shelf.js | 18 +++++++----------- src/components/shelf.jsx | 29 ++++++++++++++--------------- 2 files changed, 21 insertions(+), 26 deletions(-) diff --git a/src/assets/data/shelf.js b/src/assets/data/shelf.js index 3b944b5..a187cf2 100644 --- a/src/assets/data/shelf.js +++ b/src/assets/data/shelf.js @@ -1,18 +1,14 @@ const shelfData = [ { - x: 200, - y: -1000, - width: 200, - height: 2000, - tunnelNumber: 'T1', + no: '1-1-1', + position: [0, 0, 0], + rotationY: Math.PI / 2, }, { - x: 200, - y: -50, - width: 1300, - height: 100, - tunnelNumber: 'T2', - }, + no: '2-1-1', + position: [100, 0, 0], + rotationY: Math.PI / 2, + } ]; export default shelfData; diff --git a/src/components/shelf.jsx b/src/components/shelf.jsx index c084e7c..b9cd11d 100644 --- a/src/components/shelf.jsx +++ b/src/components/shelf.jsx @@ -1,28 +1,27 @@ -import { useState, useMemo, useRef, useEffect } from 'react'; +import { useMemo } from 'react'; import { useGLTF } from '@react-three/drei'; -import { MODEL_SHELF_SCALE } from '@/config/setting'; -import * as Common from '../utils/common'; +import * as THREE from 'three'; +import { MODEL_SHELF_SCALE } from '@/config/setting' 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 { scene } = useGLTF('/models/shelf/row.glb'); + console.log(scene); - useEffect(() => { - - }, []); + // 鍦╱seMemo鍐呴儴鍏嬮殕妯″瀷锛屼互閬垮厤褰卞搷鍒板師濮嬫ā鍨� + const model = useMemo(() => scene.clone(), [scene]); return ( <> <group rotation-y={rotationY} position={position}> - <primitive object={model} castShadow /> + {/* 鍦╬rimitives鍐呰缃ā鍨嬬殑姣斾緥鍜岄槾褰卞睘鎬� */} + <primitive + object={model} + castShadow + receiveShadow + scale={[MODEL_SHELF_SCALE, MODEL_SHELF_SCALE, MODEL_SHELF_SCALE]} + /> </group> </> ) -- Gitblit v1.9.1