问题
- 我烘培的/静态对象不能在我的实时光照网格(角色/非静态)上产生阴影。
在这个镜头中,红色块应该在白色和绿色对象上产生阴影。
原因
带烘培光照贴图的静态网格不再产生实时阴影,因此不会在实时光中非静态的网格上产生阴影。其他的被标记为静态的网格将在烘培过程互相影响。
解决方案
Unity有两个选项帮助模拟静态网格在实时光照网格上产生效果的问题:
- 使用光探针可以帮助调整角色的非直接光照,让它们看起来像是在阴影中。这是一个体力活,且对于高强度直接光源信息例如镜面对象之类的并不适用。举个例子,洞中的角色,角色可能比周围的环境更暗,但是仍然会在太阳光(方向光)的方向产生镜面高光。
在个例子中,您可以看到绿色和白色对象受到光探针采样烘培阴影的影响。
- 第二种方法是在网格渲染器中使用Shadows Only(仅显示阴影)这个类型来产生阴影。最好的方法是复制能产生您想要作用于实时光照网格阴影的网格渲染器,并将其阴影类型设置为只显示阴影。