| | |
| | | const { no, position = [0, 300, 0], rotationY = 0 } = props; |
| | | const state = useStore(); |
| | | |
| | | const { nodes, materials } = useMemo(() => { |
| | | return useGLTF('/models/shelf/row.glb'); |
| | | }, []) |
| | | // const { nodes, materials } = useMemo(() => { |
| | | // return useGLTF('/models/shelf/row.glb'); |
| | | // }, []) |
| | | |
| | | const model = useMemo(() => { |
| | | const fbx = useFBX('/models/shelf/row.fbx'); |
| | | if (!fbx.castShadow) { |
| | | Common.setShadow(fbx); |
| | | } |
| | | // Common.setColor(fbx) |
| | | fbx.scale.set(MODEL_SHELF_SCALE * 1.5, MODEL_SHELF_SCALE, MODEL_SHELF_SCALE); |
| | | // Common.setColor(fbx); |
| | | fbx.scale.set(MODEL_SHELF_SCALE.x, MODEL_SHELF_SCALE.y, MODEL_SHELF_SCALE.z); |
| | | return fbx.clone(); |
| | | }, []) |
| | | |
| | |
| | | scale={50000} |
| | | /> */} |
| | | |
| | | <primitive object={model} castShadow position={[0, 0, 0]} /> |
| | | <primitive object={model} castShadow position={[0, 1, 0]} /> |
| | | {/* <mesh position={[0, 100, 0]}> |
| | | <boxGeometry args={[150, 200, 30]} /> |
| | | <meshStandardMaterial color={'orange'} transparent={true} opacity={.5} /> |
| | |
| | | |
| | | export const MODEL_BOX_SCALE = .5; |
| | | |
| | | export const MODEL_SHELF_SCALE = .6; |
| | | export const MODEL_SHELF_SCALE = { x: 0.8, y: 0.52, z: 0.55 }; |
| | | |
| | | |
| | | // shelf scale & offset |
| | | |
| | |
| | | |
| | | export const SHELF_BAY_GROUP_COUNT = 3; |
| | | |
| | | export const SHELF_BAY_UNIT_SEPARTE_DISTANCE = 50; |
| | | export const SHELF_BAY_UNIT_SEPARTE_DISTANCE = 60; |
| | | |
| | | export const SHELF_HEIGHT_FROM_GROUND = 10; |
| | | export const SHELF_HEIGHT_FROM_GROUND = 23; |
| | | |
| | | export const SHELF_LEV_UNIT_SEPARTE_DISTANCE = 28; |
| | | export const SHELF_LEV_UNIT_SEPARTE_DISTANCE = 22; |
| | |
| | | } |
| | | }; |
| | | |
| | | export const setColor = (obj) => { |
| | | export const setColor = (obj, color = 0x4680BF) => { |
| | | if (obj.material) { |
| | | obj.material.color.set(0x4680BF); |
| | | obj.material.color.set(color); |
| | | } |
| | | if (obj.children) { |
| | | obj.children.forEach((child) => { |
| | | setColor(child); |
| | | setColor(child, color); |
| | | }); |
| | | } |
| | | }; |