与GI有关的模式是分为三类: Global Illumination:显示GI程序的一些必要数据以及Dynamic Lightmap的分辨率:Systems、Clustering、Lit Clustering Realtime GI:显示Realtime GI的数据以及Dynamic Lightmap的分辨率。 Baked GI:显示Baked GI的数据以及Lightmap的分辨率
//如果定义了lightmap,就transform 静态LightmapUV OUTPUT_LIGHTMAP_UV(a.staticLightmapUV, unity_LightmapST, v.staticLightmapUV); //如果定义了动态lightmap,就transform 动态LightmapUV #ifdef DYNAMICLIGHTMAP_ON v.dynamicLightmapUV = a.dynamicLightmapUV.xy * unity_DynamicLightmapST.xy + unity_Dyn...
标1的勾 用这个需要开realtime或者mix的light bake GI就是lightmap那一套 标2的勾 这两者都需要设置合理参数以提升性能 以上两者都是对static 物体生效的 dynamic物体需要probe light precompute real time GI能做的事情是 对于静态物体受光 的间接光照影响 光的位置颜色等信息可变 material可变 这个很棒的 === ...
在vertex shader 中输出 dynamic lightmap 和 lightmap 的 uv 这两个 uv 在 TEXCOORD1 和 TEXCOORD2 这两个槽上 在fragment 的 InitializeInputData(...) 中,采样 Lightmap 计算 bakedGI 采样两张 Lightmap,dir 和 light dir 和 light 的定义在 UnityInput.hlsl 中 Shadowmask 来自shadowmask lightma...
有了lightmap, 再次画的时候就简单了, 只需要贴纹理, 光照大可以关掉: 如果还想要一更好的效果, 可以加入一些实时的全局光照算法, 如Dynamic Ambient Occlusion之类...阴影同理...
场景Lightmapping Settings 通过Lightmapping Setting面板,可以总体地控制场景的GI各项参数。 Realtime GI Indirect Resolution间接光分辨率:物体单位表面积占Dynamic Lightmap的像素数量。 增加此值可提高间接光的视觉质量,但也增加了烘烤光照贴图所需的时间。此值对烘焙时间的影响最为严重, 想要快速预览效果可降低此值。
Lightmap Resolution:光照贴图的分辨率,这个值会直接影响光照贴图的质量。增加这个值会让光照贴图更加细腻,但同时会增加generate lighting的时间 Albedo Boost:材质反射率增强系数,可用于加量材质本身的颜色 Indirect Intensity:控制间接光的亮度 检视场景的Light Probes的工具 ...
典型应用一:灯光的间接光部分被烘焙到lightmap中,烘焙完成后,该光源还能继续参与实时光照计算,以提供材质的法线高光效果。 典型应用二:将灯光对静态物体产生的阴影烘焙到单独的lightmap中,这种lightmap叫做ShadowMask,在运行时,根据ShadowMask,对动态物体产生的实时阴影能够与烘焙阴影更好地混合。
更改Lightmap Index属性,以指定要使用的光照贴图。可以通过拖拽光照贴图资源到该属性,或者手动输入光照贴图索引。 根据需要,调整Lightmap Scale Offset属性来控制光照贴图的缩放和偏移。这可以用于调整光照贴图在对象表面的映射方式。 在场景中预览或运行游戏,以查看更改后的光照贴图效果。
Unity stores Lightmaps with different compression and encoding, depending on the target platform and the compression setting in the Lighting Window. See documentation on Texture Types and Global Illumination for details.The Double Low Dynamic Range (dLDR) format decodes by multiplying by 2 in ...