Blender 导出fbx模型到 untiy
Posted 吴梓穆
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Blender 导出fbx模型到 untiy相关的知识,希望对你有一定的参考价值。
文章目录
导出模型的基本设置
如果效果和我说不一样,重启Blender,这个软件有很多BUG
导出模型前先 ctrl+a 应用全部变换,模型原点应该根据需要放在物体中心或底部,求求美术同学设置好原点,原点不在模型身上对Blender来说没问题,对untiy来说可能有大问题
1 路径模式:复制 ,这会把模型引用的纹理复制一份到选定的文件夹下,用这个
2 Limit to:可以只导出选中的物体
3 物体类型:只导出我们需要的类型即可
4 缩放:保持1,这样导出来的模型的缩放,在Untiy中仍然是1,1,1 如果你发现导入untiy后缩放缩小或放大了100倍,但模型本身没有缩放,重启Blender
5 应用缩放:
- 全部局部:如果 缩放 值为1,在Untiy场景里会保持正常大小,但untiy中的scale值会放大100倍
- FBX单位缩放:推荐使用这个,如果 缩放 值为1,Untiy里显示的值和blender中会保持一致
6 应用单位 : 勾选
7 应用变换: Untiy是左手坐标系,blender是右手坐标系,可以帮我们把坐标系转换为unity的坐标系,unity 中以Z轴正方向为前方(例如一个人向前方移动时,untiy中为沿Z轴正方向移动),blender的Y轴负方向为前方,这样获得的fbx的模型空间的Z轴正方向会指向前方,这对程序是友好的,如果不勾选,我们获得的模型正Y轴指向前方,正Z指向上方。
8 烘焙动画:没动画不勾
9 其余保持默认
将导出的模型放到Untiy里
如果基本设置里 路径模式 选择的是复制,除了fbx文件外,还能看到一个.fbm文件,这是纹理。把这两个文件拖到Untiy里即可
材质问题
1 blender的材质球无法导出到unity里,只能导出基本的颜色,纹理信息。金属度、光滑度等信息需要到unity里重新调整
2 导入模型到unity后,可以看到模型的预制体下有材质,但是这个材质是不可更改的
3 选择模型,在inspector面板中,选择Materials,选择Location,选择 use External Materials 外部材质,然后点击apply,即可看到模型的同级目录里多了一个Materials文件夹,这里边的材质球是可调的
Blender导出.fbx模型到Unity贴图丢失
原因:
因为Blender的混合着色器是由很多节点组成的,而目标软件获取不到这些过程shader节点的信息,所以目标软件(如Unity)无法加载正确的贴图。一般方法的导出.fbx模型只能导出一些基本的颜色信息和单一纹理贴图。而不能正确导出使用了混合着色器的shader等。
解决办法:
- 先在Blender中烘培好对应的纹理贴图(或者别的种类的贴图,如位移贴图等),也就是说,把blender中的材质节点信息全部烘焙到纹理贴图中。
- 再把烘培好的材质贴图和模型一起导出。
- 最后,把模型和对应的纹理贴图导入到目标软件,如Unity等。
具体步骤:
1. 在Blender中Layout下选择你的模型
2. Shading -> 创建一个纹理贴图节点-> 新建一个图片.png -> 确定选中了模型和和纹理贴图节点
3. 渲染模式下 -> 烘培(烘培设置看下方截图)
4. 回到Shading-> 添加原始化BSDF节点 -> 添加材质输出节点 -> 连接纹理贴图节点和这两个节点(如下图)
5. 导出你的fbx 模型 并且保存烘培好的贴图到你的目标软件,如Unity
*将Blender 场景一口气倒入Unity,可以直接将Blender文件保存到Unity文件夹路径下,并且将使用到的纹理贴图保存到Unity文件路径下。模型和纹理会自动链接。
如果出现纹理缺失的情况,1. 纹理没有在Blender中烘培好 2. 纹理贴图在Blender中和Unity的名字不统一,或者不是同一纹理。这种情况可以在Unity中新建一个Material,把Material 中的纹理贴图换成对应的就可以了。
以上是关于Blender 导出fbx模型到 untiy的主要内容,如果未能解决你的问题,请参考以下文章
为啥从 Blender 导出到 Unity (.fbx) 后动画会这样 [关闭]