添加自己的模型

前言,在该项目中加自己的模型,及问题解决;

先sketchfab上下载模型,在unity里调整位置、贴图、材质、动画,形成prefab;

利用插件,导出为gltf;”E:\PersonalCV\models\v1.142.0-unity.unitypackage”

在vite.config.ts里加入assetsInclude: ['**/*.glb','**/*.gltf'],

import { useGLTF } from "@react-three/drei"
import word2D from '../assets/3d/world_2d/world_2d.gltf'

const Map2D = ({ ...props }) => {
const gltf = useGLTF(word2D);
const scene = gltf.scene;

return (
<mesh {...props}>
<primitive object={scene} />
</mesh>
)
}

export default Map2D

法线模型里的顶点,x的坐标都是正确数值的相反数,例如这个模型下下来就这样问题:

  1. blender里,右上角切换object Mode为Edit Mode
  2. A全选所有物体
  3. Mesh ->Mirror->X Global
  4. Ctrl + A 并选择 All Transforms,应用变换

image.png

补充,针对法线反了的,1.2.4不变,3 mesh->Normals->Flip

针对贴图反了的,例如这个作者的很多模型,PS里 图像->图像旋转->垂直旋转画布/水平翻转画布

此外,在项目中打包的时候,只会打包gltf这一个文件,其附属的bin和png文件会落单;
这个时候我采用的是把gltf相关的都放在gltfModels文件夹,将gltfModels文件夹放到了public目录下。