- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《ReCore》中的全局光照
首先来看一张《ReCore》的截图:
Unity支持多种计算场景全局光照的方法。其中一种是为场景中的表面使用Enlighten来烘培包含全局光照信息的光照贴图。另一种方法是将全局光照信息烘焙到光照探针中。这两个系统可以结合使用来实现场景中的不同效果。光照贴图适用于大的静态对象,光照探针则适用于动态对象。对于大型的室外场景,光照贴图会比光照探针消耗更多的内存。
Armature希望全局光照系统的烘培时间很短,并且烘培光照贴图不增加额外的内存开销。为了实现这个目标,我们开发了一个全局光照系统,它可以通过捕捉探针位置的Cubemap将反射光烘焙到Unity光照探针中。然后光照探针将作为场景中所有对象的全局光照的唯一来源。然而,使用Unity的光照探针系统为大的环境对象提供全局光照时会导致不同对象的光照不一致。
本文将讨论在《ReCore》中使用Unity 5.4的新功能光照探头代理体 (LPPV)解决这个问题的过程,并分享一些最佳实践。
在《ReCore》中使用光照探针的问题Unity光照探针系统基于对象的世界坐标为对象指派光照探针。如果一个对象离多个光照探针都很近,那么光照的效果将混合这些光照探针。对于小的动态对象如角色,这个效果很好。然而,对于能覆盖大区域的大对象来说,这个系统会导致结果不一致,因为插入对象锚点处的单个光照探针会用于为整个对象着色。理论上,您需要逐像素对光照探针插值以获得较好的位置相关的梯度来为对象着色。这在光照变化明显的大对象的表面上特别明显。《ReCore》中的效果如下图1:
图1 – 光照探针全局光照在图1中,红框区域明显接受了不一样的全局光照,看起来不对。为了获得一致的光照,需要一种将全局光照效果平滑地应用到对象表面的方法。LPPV可以解决这个问题。在《ReCore》中设置LPPV在Unity中,LPPV可以作为组件被附加在任何带有MeshRenderer组件的对象上,或者MeshRenderer组件可以被强制使用场景中特定的LPPV。为每个渲染器附加不同的LPPV是不切实际的,这将导致内存消耗过度,还会导致对象之间的光照不一致。《ReCore》就使用单一LPPV来覆盖关卡的大部分区域,多个渲染器共享相同的LPPV。LPPV作为组件被添加到Light Probe Groups(光照探针组)及自定义脚本,脚本用于将MeshRenderer指定到包含该MeshRenderer的LPPV。我们发现,按照网格模式布置光照探针可以获得较好的结果,并写了一些自定义脚本来自动执行这一过程。这是《ReCore》关卡中典型的LPPV设置的俯视图:
光照探针组和典型的网格渲染器在编辑器中的设置如下:
结论
在艺术家设置好LPPV并烘焙完光照之后,全局光照的结果将更加一致,如下图2:
?图2 – 使用了LPPV的全局光照
在图2中,您可以看到红框区域全局光照的作用更加一致。全局光照对大型岩石结构的作用也更加平滑。《ReCore》中的光照是静态的,而且LPPV更新的开销仅限于它们加载的时候。这将使用LPPV的CPU开销维持在了最低状态。而且,传送到GPU的LPPV纹理也很小,只在g-buffer传递时增加了3个纹理样本,总体上说对GPU时间的影响几乎察觉不到。Unity 5.4和LPPV使得《ReCore》的自定义全局光照解决方案在不牺牲质量的情况下得以解决。敬请关注Unity官方中文社区,了解更多使用Unity开发《ReCore》的其它技术亮点。
您可能关注的文档
- Illustrator图形绘制 文本处理与文字设计 AI制作复古手绘文字教程.docx
- internet应用基础 internet应用基础 案例四 在线地图的搜索.doc
- IP网络技术 5.2 任务二:STP配置与应用 3、实验六( STP生成树实验).doc
- Java Web应用开发 其他 DMIS_012_CN_架构设计.doc
- Java Web应用开发 其他 Java Web实训课程指导书.doc
- JAVA语言程序设计 JAVA语言程序设计 创优教务管理系统使用手册.doc
- JAVA语言程序设计 JAVA语言程序设计 数据库原理与应用考试系统使用手册.doc
- K101 分析化学 W1101分析实验基础知识 WB01 化学实验基础知识.docx
- K101 分析化学 W1303电子天平的使用 W1303电子天平的使用-4-微教材.docx
- K212 食品快速检测技术 W4103味精中谷氨酸钠快速检测 WB01 味精中谷氨酸钠快速检测-脚本.docx
文档评论(0)