WeChat ID Unity-GreaterChina Intro Unity大中华区官方微信 我们一直致力于定位混合光照存在的问题,并且在Unity 5.6 Beta 2版本中加入了迭代后的改进功能。本文将为大家分享改进后的光照模式、光照面板及全新的编辑器面板Light Explorer。 介绍 我们力争想要达成的目标就是为Unity开发者提供更稳定也更直观的方式,混合使用烘焙光照贴图以及实时光照和阴影来布置场景。Unity 5.6 Beta 2中我们通过实现以下这些功能来达成这个目标: Unity中旧的Realtime、Mixed及Baked光照模式已变为Dynamic、Stationary及Static。请查阅下方的光照部分了解更多详情。 引入了新的 Stationary光照模式集合,它提供了一系列定义好的光照解决方案,针对不同的用例与硬件。请查阅下方的Stationary光照模式部分了解详情。 对光照面板也进行了全面更新,同时还更新了Mesh Renderer和Light Component Inspector面板。请查阅下方的UI界面部分了解详情。 引入了新的编辑器面板 Light Explorer,可以快速访问光照、反射探针(Reflection Probe)、光照探针(Light Probe)以及自发光(Emissive)材质。请查阅下方的Light Explorer部分了解详情。 光照 光照可以设置为以下三种模式: Dynamic(对应之的Realtime) Stationary(对应之前的Mixed) Static(对应之前的Baked) Dynamic动态光会产生动态的光照和阴影。这些光照可以在运行时改变位置、方向、颜色、亮度以及更多其它属性。这种类型的光照最灵活,并且可用做实时全局光照(Realtime Global Illumination)。动态光在运行时计算直接光照,也会通过阴影贴图生成实时的阴影,在光照(Lighting)面板中启用Realtime Global Illumination会导致动态光作为实时间接光影响整个场景。间接光是由实时光照贴图及Enlighten更新的光照探针来计算的。Stationary固定光会可以基于光照面板中设置的Stationary光照模式的设置,来混合使用动态及烘焙光照。所有除Subtractive模式以外的Stationary光照模式都会在运行时计算直接光照,并在光照贴图及光照探针中存储间接光照的信息。Subtractive模式会在烘焙期间计算所有标记为Static的对象的直接光照。场景设置的Stationary光照模式会影响到其中的Stationary固定光。请查阅下方的Stationary光照模式了解更多信息。Static静态光不能在运行时进行移动或做其它任何改变。所有静态对象的光照都被烘焙到光照贴图中。动态对象的光照和阴影会被烘焙到光照探针(Light Probe)中。 Stationary光照模式 Stationary固定光可以由场景中多种光照模式来控制,这些光照模式指示光照系统如何处理场景中各种光照的直接照明、间接照明及阴影。Stationary固定光可用的光照模式有以下几种: Baked Indirect(间接烘焙) Stationary固定光会影响实时直接光照,并通过光照贴图和光照探针影响间接光照。如何使用实时阴影取决于Shadow Distance设置。Baked Indirect模式的性能与效果相对平衡,适用于中高端的硬件。 Distance Shadowmask(距离阴影遮罩) Stationary固定光会影响实时直接光照,并通过光照贴图和光照探针影响间接光照。实时阴影的效果根据Shadow Distance设置来决定如何使用实时阴影。此外,静态物体通过阴影遮罩接收阴影,动态物体则通过光照探针遮蔽(Occlusion)来接收阴影。Distance Shadowmask模式尤其适用于大型或室外场景。 Shadowmask(阴影遮罩) Stationary固定光会影响实时直接光照,并通过光照贴图和光照探针影响间接光照。静态物体使用阴影遮罩为自己生成阴影。动态物体根据Shadow Distance设置所生成的实时阴影贴图来接收阴影。动态物体从光照探针遮蔽(Light Probes occlusion)中接收静态物体的阴影。Shadowmask模式适用于那些仅需为场景中的角色或道具添加实时阴影的情况。 Subtractive Stationary固定光通过光照贴图和光照探针影响间接光照。静态物体通过光照贴图处理直接光照,动态物体则实时处理。静态物体通过近似的实时阴影的贴图从主方向光接收动态物体的阴影,实时阴影的效果贴图取决于Shadow Distance设置。动态物体通过实时阴影来接收彼此的阴影,实时阴影取决于Shadow Distance设置。动态物体通过光照探针接收静态物体的阴影。Subtractive模式消耗极小,适用于整个场景只有一个方向光(通常指太阳)的情况,并且能够支持低端的移动设备。 这些介绍性描述都已显示在光照面板的提示信息中,帮助大家更好地在编辑器环境下理解光照模式。 UI用户界面 我们对光照面板也进行了全面更新,同时还更新了Mesh Renderer和Light Component Inspector面板,概述如下。 光照面板 光照面板已全面更新,可用性更高并提供了更直观的方式查看光照信息。具体改变如下: 光照面板的组织方式是,可以折叠不需要的部分,以及折叠框内给定部分的相关属性。 重写标签及提示信息,对用户更友好也能提供更多有用信息。 光照面板底部集成了新的统计面板,可以快速浏览场景中光照相关的统计信息。 光照贴图标签名改为“Global Maps”,包含多种贴图如Intensity、Directionality、Shadowmask等等。 重构“Object”标签,并将其重命名为“Object Maps”。该标签显示当前选中对象的烘焙纹理预览。您可以平移及缩放该标签下的视图,也可以并使用“F”快捷键聚焦到这个标签页下选中物体的光照贴图UV上。之前显示在“Object”标签下的属性都已重新分配到对应组件的检视面板上。可用视图如下: ▪ Albedo ▪ Emissive ▪ Realtime Intensity ▪ Realtime Direction ▪ Baked Intensity ▪ Baked Direction ▪ Baked Shadowmask 检视面板 光照面板的“Object”标签重构后,所有光照相关的属性都已改为显示在对应的组件中。 Mesh Renderer组件带有折叠标签“Lighting”,其中包含所有能影响网格与光照系统交互的属性。启用Lightmap Static属性会将所有物体设为静态(Static,同检视面板的Static)的,用于光照贴图计算。其中也包含光照贴图相关的各种其它属性。 光照组件也已重构,包含新的光照模式(Dynamic,Stationary,Static),标签显示也对用户更加友好。另外还重写了所有提示信息,向用户说明属性的具体作用。 Light Explorer Light Explorer是Unity 5.6 Beta 2中的新界面,可以用于查看并编辑场景中的每个光照。这对于那些想要调整的光照可能分布在层级视图上不同位置的大型复杂场景非常有用。Explorer中有4个列表,分别用于调整光照、反射探针、光照探针以及自发光材质。每个列表都支持查找,帮助用户找到想要编辑的对象,还可以使用“Lock Selection”锁定当前选项,即使场景选中的对象改变也不会影响光照面板。这些列表还支持多项编辑,同时选定多个对象编辑某个属性的值,即可为所有选中对象设置该属性。 关于Unity 5.6 Beta 2中全面更新的光照模式就为大家介绍到这里,该功能目前正在公开测试中,欢迎大家点击【阅读原文】下载并试用最新的Unity 5.6测试版。 Unity 5.6 Beta版发布 Unity WebGL内存详解:Unity堆 Unity引擎QA流程 Unity版本持续发布计划 Unity着色器教程 | 积雪效果 Author requires users to follow Official Account before leaving a comment Write a comment Write a comment Loading Most upvoted comments above Learn about writing a valuable comment Scan QR Code via WeChat to follow Official Account