原因:
因为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