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的材质纹理烘焙到Unity_哔哩哔哩_bilibili汉堡模型:https://www.lmc4d.cn/3403.html如何把Blender纹理烘焙到Unityhttps://www.youtube.com/watch?v=x4mySebugl0https://www.bilibili.com/video/BV1rZ4y1A7Yc?spm_id_from=333.337.search-card.all.click

以上是关于Blender 导出fbx模型到 untiy的主要内容,如果未能解决你的问题,请参考以下文章

blender 和unity3D的一个问题

如何从Blender导出fbx纹理以用于Monogame

为啥从 Blender 导出到 Unity (.fbx) 后动画会这样 [关闭]

如何将blender的模型和动画数据导出为"mbac"文件,"mtra"文件?

将 Fbx 从 Blender 导出到 Unity

从 Blender 导出多个 .fbx 文件