由Unity提供的许多高级光照贴图控制是通过使用Lightmap Parameters来完成的。这些设置存储在一个Lightmap Parameters的asset中。这允许光照设置在不同场景间共享,以及在协作团队开发环境中的版本控制中共享使用。
* 方法一:打开Project视图,从Project视图左上方的Create下拉列表中点击Create > Lightmap Parameters。
* 方法二:在Project视图中按右键弹出菜单,选择Create > Lightmap Parameters。
* 方法三:依次点击编辑器顶部菜单(Asset > Create > Lightmap Parameters)。
Baked GI 和 Precomputed Realtime GI 都可以通过Light Parameters 进行高级控制
一旦创建完毕,一个Lightmap Parameters asset可以被指定到一个静态MeshRenderer组件中。
* 在Hierarchy窗口选择我们想要指定Lightmap Parameters asset的GameObject。这个GameObject必须被标记为静态同时有一个MeshRenderer的组件
* 打开 Lighting 窗口 (Window>Lighting) 然后选择 Object 标签页.
* 使用Advanced Parameters下拉菜单去为GameObject指定Lightmap Parameters Asset。Advanced Parameters下拉菜单右边的 Edit按钮可以被用做一种快捷方式,去修改指定给所选物体的Lightmap Parameters。
在Lighting窗口的Object标签页下使用 Advanced Parameters下拉框来指定Lightmap Parameters。
相同的Lightmap Parameters asset可以被指定给多个对象物体。想要这么做,在Hierarchy窗口选择多个对象物体然后遵循以上的步骤。改变这个Lightmap Parameter asset将会影响到它指定给的所有对象物体。
Lightmap Parameters: 每个实例或者每个Prefab?
和UV展开设置类似,Lightmap Parameters assets也可以被指定给一个Prefab或者应用给场景中的单个GameObject实例。将Lightmap Parameters assets应用给一个Prefab的实例将会覆盖存储在Prefab中的Lightmap Parameters asset设置。
这种方法的优势在于,适用于大多数情形下的默认Lightmap Parameters能够赋值给Prefab。当需要更多细致的控制时,在场景中可以这些默认Lightmap Parameters基础上进行修改。
在这个教程中,我们已经为每一个实例应用Lightmap Parameters assets。这是因为我们想根据每个GameObject的具体情况使用不同的Lightmap Parameters assets
Default Parameters
配置场景范围的默认Lightmap Parameters是可能的。这些默认的Lightmap Parameters将会指定给场景中所有存在的MeshRenderer但还没有被指定一个Lightmap Parameters asset的对象物体。任何之后在场景中被创建的MeshRender将会使用默认Lightmap Parameters。当需要设置一个场景的光照时,可以通过使用这种方法减少需要手动指定的数量。
* 打开 Lighting 窗口 (Window>Lighting) 然后 Scene 标签页.
* 使用Default Parameters下拉菜单去给场景指定Lightmap Parameters asset。
注意尽管这个Default Parameter将会被应用给所有新创建的对象物体,但是通过给对象物体制定一个Advanced Parameter仍然可以覆盖单独对象物体的Default Parameter,就像上面所描述的那样。
Default Parameters 将会被指定给所有新创建的静态Mesh Renders
Unity提供了一些预置的Lightmap Parameters帮助我们快速地设置场景光照。它们是:
* Default - HighResolution
* Default - Medium
* Default - LowResolution
* Default - VeryLowResolution
指定这些Lightmap Parameters参数为其中的一种将会配置一些设置,而这些设置决定了所选对象物体的整体光照性能的开销。这些设置包括lightmap resolution,global illumination parameters,Cluster resolution,以及其它一些高级设置。当试着去平衡整个场景的光照表现性能时,这些设置是很重要的因素。
关于Lightmap Parameters参数的介绍
Unity存在默认参数目的是为了包含一些常用的使用情况,一般来这些默认设置对很多光照场景来说是足够了的。对于PRGI系统来说更细致的控制可以通过创建我们自己的Lightmap Parameters assets来实现。
在Unity 用户手册关于Lightmap Parameters的页面提供了Lightmap Parameters asset所有设置的整体概览,然而在本教程中,我们只关注对于光照优化最有用的设置。
Resolution
Resolution的值决定了使用了Lightmap Parameter的对象物体所需的光照贴图的分辨率。Resolution是一个乘数,与在Lighting窗口Scene标签页中的场景范围的Realtime Resolution值相乘。例如,如果场景实时分辨率设为2,这里的Resolution属性设为0.5,那所有带有这个L