HDRP物理光照系统实现昼夜效果
2023/11/30 22:31:41
关键词:HDRP Unity 光照 贴图烘焙
创建主光源
要模拟白天中午大太阳室外场景,主光源当然是太阳。我们可以在场景中添加一盏 Directional Light(平行光)来模拟太阳。此平行光的 Light 组件参数设置如图所示。
以下是平行光的主要参数说明:
Mode(模式):选择 Mixed(混合模式)是因为我们想让这盏平行光参与之后的光照贴图烘焙,并提供效果更好的实时阴影。
Light appearance(光照外观):默认设置为 Color(颜色),也就是为灯光选择一个指定的颜色。如果我们要准确控制灯光的颜色,就要选择 Filter and Temperature(滤光器和温度)模式。
在滤光器和温度模式下,我们可以通过选择一个颜色和色温值,组合起来精确控制灯光的颜色。如果我们想要制作写实类的灯光,可以选择 Filter(滤光器)的颜色为纯白色,然后输入一个色温数值(单位为Kelvin开尔文)。此处我们模拟的是白天中午的阳光,从“色温,光照强度和曝光速查表“中,我们可以找到相关的色温参考数值为 5500K,这里我们设置成 5800K。
Intensity(光照强度):太阳的光照强度设置为 120000 Lux。此数值也可以从“色温,光照强度和曝光速查表“中查找到。
Shadows(阴影):如果不打开阴影的话,整个场景没有任何真实性可言。我们需要通过当前项目所用的 HDRP Asset(HDRP配置文件),来控制渲染阴影时所用的算法以及 Shadow Map 的分辨率,具体参数如ProjectSetting-HDRP设置中的 Filtering Quality(过滤器质量)可以控制计算阴影时所用的具体算法。
对于平行光来说,如果选择 Filtering Quality 为 Low(低质量)或者 Medium(中等质量)时,HDRP 会使用 PCF(Percentage-CloserFiltering)算法,生成的阴影质量不高,边缘较硬。如果切换到 High(高质量),HDRP 会使用 PCSS(Percentage-Closer Soft Shadows)算法生成高质量的软阴影。当然我们也需要付出一定的性能消耗作为代价。我们可以通过控制 Light 组件上的 Angular Diameter 大小来控制 PCSS 算法所生成阴影的软硬程度。以下两图分别在 Filtering Quality 设置为高质量时使用了不同的 Angular Diameter 数值,分别获得了硬边阴影和软边阴影。
添加反射信息
因为场景中没有设置任何 Reflection Probe(反射探针),所以当前场景的物体表面只有来自天空的反射信息。例如屋檐下的窗户表面的反射信息也是来自天空的蓝色。我们需要在场景中的关键位置放置反射探针。如图所示,黑色的圆球代表的就是放置完成的反射探针。因为我们还未烘焙这些反射探针,所以 Scene 窗口中的反射探针呈现黑色。
我们可以在 Hierarchy 层级窗口选中所有反射探针,然后点击 Inspector 窗口中如图所示的 Bake(烘焙)按钮。
烘焙完所有反射探针以后,Scene 窗口中的显示黑色圆球变红了。每个反射探针上都关联了一张 Cubemap。虽然现在烘焙获得的反射探针 Cubemap 上并没有保存间接光信息(因为我们还未对场景进行光照贴图烘焙操作),但是场景中的模型表面已经有了正确的来自反射探针的反射信息。
[下页更精彩:点击>>>>] [1] [2] [3] [4]
相关文章(向右看)..
2023/11/30 22:31:41
关键词:HDRP Unity 光照 贴图烘焙
创建主光源
要模拟白天中午大太阳室外场景,主光源当然是太阳。我们可以在场景中添加一盏 Directional Light(平行光)来模拟太阳。此平行光的 Light 组件参数设置如图所示。
以下是平行光的主要参数说明:
Mode(模式):选择 Mixed(混合模式)是因为我们想让这盏平行光参与之后的光照贴图烘焙,并提供效果更好的实时阴影。
Light appearance(光照外观):默认设置为 Color(颜色),也就是为灯光选择一个指定的颜色。如果我们要准确控制灯光的颜色,就要选择 Filter and Temperature(滤光器和温度)模式。
在滤光器和温度模式下,我们可以通过选择一个颜色和色温值,组合起来精确控制灯光的颜色。如果我们想要制作写实类的灯光,可以选择 Filter(滤光器)的颜色为纯白色,然后输入一个色温数值(单位为Kelvin开尔文)。此处我们模拟的是白天中午的阳光,从“色温,光照强度和曝光速查表“中,我们可以找到相关的色温参考数值为 5500K,这里我们设置成 5800K。
Intensity(光照强度):太阳的光照强度设置为 120000 Lux。此数值也可以从“色温,光照强度和曝光速查表“中查找到。
Shadows(阴影):如果不打开阴影的话,整个场景没有任何真实性可言。我们需要通过当前项目所用的 HDRP Asset(HDRP配置文件),来控制渲染阴影时所用的算法以及 Shadow Map 的分辨率,具体参数如ProjectSetting-HDRP设置中的 Filtering Quality(过滤器质量)可以控制计算阴影时所用的具体算法。
对于平行光来说,如果选择 Filtering Quality 为 Low(低质量)或者 Medium(中等质量)时,HDRP 会使用 PCF(Percentage-CloserFiltering)算法,生成的阴影质量不高,边缘较硬。如果切换到 High(高质量),HDRP 会使用 PCSS(Percentage-Closer Soft Shadows)算法生成高质量的软阴影。当然我们也需要付出一定的性能消耗作为代价。我们可以通过控制 Light 组件上的 Angular Diameter 大小来控制 PCSS 算法所生成阴影的软硬程度。以下两图分别在 Filtering Quality 设置为高质量时使用了不同的 Angular Diameter 数值,分别获得了硬边阴影和软边阴影。
添加反射信息
因为场景中没有设置任何 Reflection Probe(反射探针),所以当前场景的物体表面只有来自天空的反射信息。例如屋檐下的窗户表面的反射信息也是来自天空的蓝色。我们需要在场景中的关键位置放置反射探针。如图所示,黑色的圆球代表的就是放置完成的反射探针。因为我们还未烘焙这些反射探针,所以 Scene 窗口中的反射探针呈现黑色。
我们可以在 Hierarchy 层级窗口选中所有反射探针,然后点击 Inspector 窗口中如图所示的 Bake(烘焙)按钮。
烘焙完所有反射探针以后,Scene 窗口中的显示黑色圆球变红了。每个反射探针上都关联了一张 Cubemap。虽然现在烘焙获得的反射探针 Cubemap 上并没有保存间接光信息(因为我们还未对场景进行光照贴图烘焙操作),但是场景中的模型表面已经有了正确的来自反射探针的反射信息。
[下页更精彩:点击>>>>]
相关文章(向右看)..