From 1c367ba22bb5ba35b3a2de45f23af675d50eeff4 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 23 四月 2024 17:19:36 +0800
Subject: [PATCH] #
---
/dev/null | 0
src/pages/base.jsx | 1 -
src/components/shelf.jsx | 41 +++++------------------------------------
3 files changed, 5 insertions(+), 37 deletions(-)
diff --git a/public/models/shelf/Horse.glb b/public/models/shelf/Horse.glb
deleted file mode 100644
index 66fb302..0000000
--- a/public/models/shelf/Horse.glb
+++ /dev/null
Binary files differ
diff --git a/public/models/shelf/row.fbx b/public/models/shelf/row.fbx
deleted file mode 100644
index 3b331a6..0000000
--- a/public/models/shelf/row.fbx
+++ /dev/null
Binary files differ
diff --git a/src/components/shelf.jsx b/src/components/shelf.jsx
index 1edf4b9..b71e193 100644
--- a/src/components/shelf.jsx
+++ b/src/components/shelf.jsx
@@ -1,58 +1,27 @@
-import { useMemo } from 'react';
+import { useMemo, useState, useEffect } from 'react';
import { useGLTF } 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';
-const generateScene = async () => {
- const loader = new GLTFLoader();
- const dracoLoader = new DRACOLoader();
- dracoLoader.setDecoderPath('/draco/');
- loader.setDRACOLoader(dracoLoader);
-
- return await new Promise((resolve, reject) => {
- loader.load('/models/shelf/row.glb', function (mesh) {
- console.log(mesh);
- resolve(mesh.scene)
- })
- })
-}
const Shelf = (props) => {
const { position = [0, 300, 0], rotationY = 0 } = props;
- const dracoLoader = new DRACOLoader();
- dracoLoader.setDecoderPath('draco/');
- useGLTF.setDecoderPath('/draco/');
- // const { scene } = useGLTF('/models/shelf/row.glb', '/draco/');
const { nodes, materials } = useGLTF('/models/shelf/row.glb');
- console.log(nodes);
-
-
- const { nodes: nodes1, materials1, animations } = useGLTF('/models/shelf/Horse.glb');
return (
<>
<group rotation-y={rotationY} position={position}>
- <primitive object={generateScene()} />
- <mesh
+ <primitive
castShadow
receiveShadow
- geometry={nodes.鐗╀欢_1001.geometry}
+ object={nodes.鐗╀欢_1001}
material={materials['鏉愯川_1.002']}
- position={[0, 2, 0.3]}
- rotation={[Math.PI / 2, 0, Math.PI / 2]}
- scale={70}
- />
- <mesh
- castShadow
- receiveShadow
- geometry={nodes1.mesh_0.geometry}
- material={nodes1.mesh_0.material}
- morphTargetDictionary={nodes1.mesh_0.morphTargetDictionary}
- morphTargetInfluences={nodes1.mesh_0.morphTargetInfluences}
+ position={[0, 0, 0]}
+ scale={10000}
/>
</group>
</>
diff --git a/src/pages/base.jsx b/src/pages/base.jsx
index c8595f2..ce6ec8c 100644
--- a/src/pages/base.jsx
+++ b/src/pages/base.jsx
@@ -26,7 +26,6 @@
<TreeGroup />
<House />
<Warehouse />
- <Demo position={[0, 0, 0]} />
<OrbitControls />
<Environment background preset="night" />
<Help />
--
Gitblit v1.9.1