blender烘焙与unity导入(bake multiple into one)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了blender烘焙与unity导入(bake multiple into one)相关的知识,希望对你有一定的参考价值。

参考技术A

这里小白一个,首先可以先看一下视频,如果做不出来再看本文,因为本文只是指出了要注意的细节,此外如有错误也欢迎指出和讨论..
https://www.youtube.com/watch?v=9airvjDaVh4&list=PLj6G-3M0NXNXGGPSPXBTC1H04NPxk96Eo&index=18&t=0s

blender烘焙需要用到shader、UV editor以及3dviewport界面,将界面布置好更有利于操作

烘焙需要准备三点

首先要创建一个新的图像,要注意的是这个 图像要进行save as和save两步操作 ,让其保存在电脑的硬盘上,否则最后的烘焙会报"circular depandancy..."的信息,这个信息就是没找到需要导出的图像而导致图像载入到自己身上。原因大概是因为,不这样做,blender会无法检测到新图像。

进行UV展开前,先新建一个UV贴图,并将该新贴图选定。

然后进入edit模式,按u键进行UV展开。

之后在每个材质的shader界面里,新增一个image texture节点,该节点的图片就指向你要导出的那个图片。
注意

烘焙必须在cycle下进行

比较常用的烘焙模式为combined,diffuse,normal模式。
combined模式就是讲光影效果、阴影效果等等全部烘焙到贴图上。
diffuse可以选择只烘焙材质的颜色。
normal是法线贴图,可以给贴图丰富细节的同时又不消耗性能。
这里要导出到unity中,所以选择diffuse和normal模式

按下面的选项勾选,margin在贴图烘焙重叠时,可以改的小一些。此外如果是多个物体烘焙需要勾选selected to active,我这里用ctrl+j合并了物体,所以不能勾选。

因为要新建个图片烘焙,所以这里用另一个脚本更改节点的图片名称

最后烘焙结束后,要记住点击save保存,烘焙才会生效

复制刚才的模型,并且删除所有模型,将刚刚的贴图制作成材质来测试一下烘焙效果。发现hair、eyelash、eyeball都全黑了。

再看贴图,这是因为本该透明的部分被黑色填充的结果。这个问题可以用gloss烘焙来解决。

按照之前的步骤,再进行gloss烘焙,得到的就是alpha通道的结果。白色代表要显示的部分,黑色的代表透明部分。

打开ps将diffuse和gloss贴图导入。
给diffuse贴图添加一个蒙版,然后点击gloss贴图ctrl+a全选,ctrl+c复制,按住alt键点击多出来的蒙版,然后ctrl+v粘贴。最后就会得到两者合并的结果

回到blender,如图所示设置,即可完成结果

将模型导出为fbx格式,如图所示勾选,即可将材质放入导出的fbx文件中

在unity中打开,但发现人物的眼睛、睫毛、头发仍然存在刚才的问题。
这是因为render mode中选择了opaque模式,这个模式是不考虑alpha通道的,之后选择cutoff模式即可。
不过这种模式下,发现睫毛和头发部分表现效果并不理想。解决方法是将这两个部分单独拎出来烘焙,然后选择fade效果。此外如果眼睛部分选择transparent效果,还可以实现眼睛的反光。

参考:
https://blender.stackexchange.com/questions/44525/cycles-bake-script-error-circular-dependency
https://blender.stackexchange.com/questions/47052/what-is-the-difference-between-unwrap-and-smart-uv-project
https://blenderartists.org/t/texture-bake-alpha/407849/5

Unity灯光烘焙

之前一直是美工大佬直接帮我们烘焙好,所以也没搞过这方面的,近来要自力更生了,就学习一下。最开始就直接勾上静态然后开始烘焙,结构unity直接崩溃,后来摸索学习了一下,踩了一些坑,总结分享一下。
1.先从场景模型导入开始,勾选上以下选项:
在这里插入图片描述
要不然直接烘焙的话会弹警告说mesh没UV。
在这里插入图片描述
2.模型放入场景后勾选静态,检查一下有没有UV重叠,检查方法是将shadingMode改为UV Overlap,然后观察场景中有没有红色的部分,红色部分就是有UV重叠,有的话让美工修改一下,要不然烘焙出来的光照贴图可能会有黑斑。
在这里插入图片描述
这里提供两种unity里解决UV重叠的方法(并非百分百可以),如果还不行就让美工改吧。
1.将模型导入设置下的pack margin调大,然后apply试试。
在这里插入图片描述
2.烘焙设置的LightmapResolution调大试试
在这里插入图片描述
3.模型搞好之后,往场景里面添加baked模式的灯光吧,因为我用的多是室内场景,所以一般用的点光源。
在这里插入图片描述
4.万事具备后调一下烘焙设置就可以开始烘焙了。参数设置就可以按图中的来(网上盗的图,也不知道哪个是原作者,因为就是学习和经验分享,所以直接盗来用了,莫怪莫怪,主要是懒得自己搞。。。。。。)
网上盗的图,我也不知道原作者是谁,只做学习和经验分享,莫怪莫怪
lightmapper有三个模式,Progressive CPU和GPU,电脑独显的推荐用显卡去烘焙吧,这里有个坑,我烘焙时用的电脑有集显和独显,不知道为啥每次用显卡烘焙他都用集显,后来我直接设备管理器把集显给禁用了,然后重启unity这才变成了独显,这块我不是太清楚为啥,希望有大佬可以解惑。
最后一坑,有一次烘焙场景时我发现要好长时间,我甚至把参数调到了很低还是很慢,后来猜测是因为我在unity里缩放模型倍数太大的原因,把缩放改回了1,果不其然。。。。。

以上是关于blender烘焙与unity导入(bake multiple into one)的主要内容,如果未能解决你的问题,请参考以下文章

blender 带贴图与颜色材质的模型,导入到Unity中

unity烘焙过程与注意事项,希望你们少走弯路

烘焙黑边解决办法

blender 和unity3D的一个问题

如何将布料模拟从 Blender 导入 Unity

如何将模型从Blender导出到Unity3d