2018.4 Lighting overview 说明
选择光照技术
宽泛的讲,unity光照可以被认为是 预计算 或 实时,两者能在场景中结合创造逼真的光照效果;
实时光
unity 有 directional, spot and point 是实时的,他们在场景中贡献直射光,逐帧不断刷新。物体在场景移动时,照射在物体上的光照将会立即刷新。且能同时在scene view和game view 看到效果。
实时光是场景中最基础的光照,用于照亮角色或其他可移动的物体。
但是没有漫反射;
为了创造更逼真的场景,使用global illumination 这样的技术,我们需要 运用 预计算光照;
烘培光照
unity能计算复杂的静态光照效果,这项技术就叫做 global illumination (GI),然后将其保存在一个 叫lightmap的纹理贴图引用中,
像个计算流程被称为 烘培;
烘培光照贴图时,光源在静态物体表面照射的效果被计算,并将结果写入 用于覆盖在 几何物体表面来实现光照效果的 光照贴图 上;
JUD85(K)LFE$~UCIM3}ULTG.png
这些光照贴图 包括了 照射在物体表面的直射光,也包括了从其他物体表面反射的光线。
经过 光照烘培,这些光照贴图就不能在游戏运行期间改变,因此被称为Static,实时光能通过叠加覆盖在光照贴图表面,但不会影响其本身;
运用这种方式,我们通过交换移动光照造成能潜在性能消耗,来适配一些不那么强的硬件,比如手机;
See [the Lighting window reference][Using precomputed lighting]for more information.
预计算实时GI
timeofdaycycle.gif
尽管静态光照贴图不能在场景光照条件改变时做出改变,预计算实时GI却为我们提供了 交互式刷新复杂场景光照的技术;
通过此技术就能创造 富含 漫反射光线的照明环境,并可以实时的改变光照,一个好例子就是 a time of day system,一个随着时间变化,光照位置角度,颜色变化的系统。而传统的烘培光照,这是不可能的。
更多信息请到这里学习
https://learn.unity.com/search?k=%5B%22q%3AGraphics%22%5D
好处与开销
尽管同时BakeGi和Precomputed Realtime GI是可行的,但是要当心两个系统同时渲染的性能开销,将是两者之和。不仅要在内存存储两者光照贴图,还有两者着色器的流程消耗。
你要选择的光照方式,另一方面取决你的项目性质,以及你想要运行的硬件平台的性能;
如,移动端 video memory 和处理能力更加有限,那么采用Bake Gi 方式将会有更好的性能。而搭载专用显卡的计算机,或者 现代游戏机,更可能用预计算实时GI,或者同时用两套系统。









网友评论