#
luxiaotao1123
2024-04-24 5e39d5aaf44d377a91c135576a0c22b15790e7c7
src/components/shelf.jsx
@@ -1,25 +1,35 @@
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 (
        <>
            <group rotation-y={rotationY} position={position}>
                <primitive
                    object={model}
                {/* <primitive
                    castShadow
                    receiveShadow
                    scale={[MODEL_SHELF_SCALE, MODEL_SHELF_SCALE, MODEL_SHELF_SCALE]}
                />
                    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>
        </>
    )