#
luxiaotao1123
2024-04-26 73e5e4f17c23a7f4832ea2bb36e1bd3799ab9ad9
#
3个文件已修改
19 ■■■■ 已修改文件
src/components/shelf.jsx 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/core/warehouse.jsx 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/index.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/shelf.jsx
@@ -2,18 +2,25 @@
import { useGLTF, useFBX } from '@react-three/drei';
import * as THREE from 'three';
import { MODEL_SHELF_SCALE } from '@/config/setting'
import { snapshot } from 'valtio';
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(() => {
        snapshot(state).models[no] = position;
    }, [props]);
    return (
        <>
            <group rotation-y={rotationY} position={position}>
src/core/warehouse.jsx
@@ -57,13 +57,14 @@
        return shelfData.slice(0, 1).map((data, index) => <Shelf key={index} {...data} />)
    }, []);
    const boxEl = useMemo(() => {
        return boxData.map((data, idx) => <Box key={idx} {...data} />)
    }, [boxData]);
    const agvEl = useMemo(() => {
        return agvData.map((data, idx) => <Agv key={idx} {...data} />)
    }, [agvData]);
    const boxEl = useMemo(() => {
        return boxData.map((data, idx) => <Box key={idx} {...data} />)
    }, [boxData]);
    useFrame((state, delta) => {
src/store/index.js
@@ -3,7 +3,8 @@
const store = proxy(
    {
        text: 'Hello World'
        text: 'Hello World',
        shelf: {},
    }
);