问题
- 我在Unity 4中有一个非常好的烘培纹理效果。现在我升级到了Unity 5,光照系统不再支持之前烘培好的纹理了,但是我仍然想要与之前相同的效果。
原因
从Unity 5到Unity 5.5不支持使用烘培光烘培纹理上的光,也许在将来的版本中会做改进,但是如果您使用的是5.0到5.5之间的版本那么很遗憾并不支持这种效果。由于Unity中光系统的改变,我们放弃了对烘培纹理的支持。不幸的是,系统的变更意味着不是所有的旧功能都能在新系统中获得支持。请查看我们的博客获取更多关于新系统和我们移除该功能原因的信息。
解决方案
我们在Unity 5中仍然支持实时灯光烘培纹理,如果您可以使用实时光,请考虑使用这种方法。如果你不想这么做,您可以考虑使用只有阴影的几何体来实现并且让产生效果的几何体不可见。此外明智的结合添加了其他对阴影特性的材质的使用可能能实现相同的效果。
举个例子看一下这个烘培纹理效果。
可以看到黄色聚光灯有着非常漂亮的“栅格”烘培效果,在地上创建出了一条条黑线。这个效果可以通过在电光源前放置仅存在阴影的几何体来简单的实现。
请看一下在Unity 5.4中的相同效果:
下一步打开附件”LightBakingExample.zip,找到Unity 5项目,使用Shadow Only Geomerty重现相同效果。在这个项目中您会发现,“地面上”的阴影是由“聚光灯”下的四个对象创建出来的。
关于LightBakingExample项目中需要注意的几点:
- 仅存在阴影的几何体渲染器勾选了“Shadows Only(仅阴影)”选项,但不是必须的。
- 黄色光是烘培聚光灯场景使用的是烘培环境GI。
- 我们添加了透明的着色器和材质来获得黑线的模糊的颜色效果。
- 注意这里缺少阴影边缘的软化效果,这可以通过使用特殊处理过的透明纹理来实现,该纹理的Alpha通道中从中心开始,让“污点”向外扩散。
更多信息
更多信息请查看下列链接:
https://blogs.unity3d.com/2014/09/18/global-illumination-in-unity-5/
https://docs.unity3d.com/Manual/Cookies.html
https://docs.unity3d.com/Manual/HOWTO-LightCookie.html
本文适用于Unity5.0到5.5的版本(在本文撰写之后,新版本Unity可能已经添加了对烘培纹理的支持)
- zip(900 KB)