ONE POST:校正室外太阳的光照强度并创建辅助环境光照
校正太阳的光照强度
在开始一个新的关卡地图前,务必创建一个符合现实规则的太阳光照强度,这是开始一个关卡的第一步。因为,如果太阳的光照强度不符合现实规则,那么这个模型即便它已经拥有了正确的PBS/PBR材质,那么它依然可能不会表现出正确的PBR/PBS材质的渲染效果。另外,当拥有一个正确的精准的太阳光照强度后,HDR中的动态人眼自适应效果与tonemapping(HDR的色调映射,现实环境中更加真实的亮度映射/应用到你的场景)才能更好的工作。另一方面不正确的太阳光照也会导致环境探针创建的环境光照不准确。
1,在brush目录下拖一个纯白色的平面到场景
You can find the plane object in: Objects/default/primitive_plane_small.cgf
Assign a pure white material with nospecular color. Use textures/defaults/white.tif in the material
2,旋转这个平面,使平面与地表平面成一个钝角,然后设置time of day里的时间,使太阳照射到这个平面上,使这个平面投射的自身阴影最大化,因为这样太阳光将会最大化的直射到这个平面上,然后将玩家摄像机视角推进到这个平面,使这个平面完全占满整个摄像机显示视口。通过以上操作才能校正一个正确的太阳光照。
3,在控制台变亮参数中搜索hdr,然后找到r_HDRDebug,并将其设置为1,这意味着hdr中的tonemapping将不会工作,同时屏幕上会出现相关debug信息
1,注意观察EstimatedIlluminance (lux) value,这个值表示,太阳对这个平面的直接光照强度
2,根据官方提供的真实世界的光照强度,选择一个你需要的光照强度。
3,设置time ofday里的Sunintensity(lux)参数,直到确保debug信息中的EstimatedIlluminance (lux)值接近于你想要的数值为止。
4,将time of day中的Sun intensitymultiplier修改成200,因为Sun intensitymultiplier是太阳的间接光照(环境光照)的缩放(比例)值,所以此处应该是200而不是20000
5,设置r_HDRDebug=1使hdr中的tone mapping正常工作。通过以上步骤设置(校正)了一个正确的室外太阳光照。
创一个建作用于整个地图的辅助环境光照
6,得到一个正确的太阳光照之后,我们需要使用环境探针,为整个关卡添加一个环境光照。
7,将环境探针放置到地图的中心(在物体移动模式下,修改视图下面的x,y,z此时x,y,z是一个世界坐标系),然后将环境探针的作用范围修改成与地图一样大。
8,将环境探针的AttenuationFalloffMax设置为0,如果设置其他值,由于衰减的原因,将导致整个地图的边界区域无法得到充足的环境光照
9,同时勾选IgnoreVisAreas,表示环境探针也会同时作用于VisArea对象所控制的区域
10,设置环境探针的(Diffuse(255,255,255),DiffuseMultiplier=1,SpecularMultiplier=1)参数到默认的值,与灯光实体一样,切记不要去修改SpecularMultiplier,否则会得到一个不正确的渲染结果。
11,生成环境立方体贴图
12,生成立方体贴图后,先关闭环境探针/然后再次激活环境探针
13,确保time of day中的HDR设置参数里的scene key=0.18
校正太阳的光照强度
在开始一个新的关卡地图前,务必创建一个符合现实规则的太阳光照强度,这是开始一个关卡的第一步。因为,如果太阳的光照强度不符合现实规则,那么这个模型即便它已经拥有了正确的PBS/PBR材质,那么它依然可能不会表现出正确的PBR/PBS材质的渲染效果。另外,当拥有一个正确的精准的太阳光照强度后,HDR中的动态人眼自适应效果与tonemapping(HDR的色调映射,现实环境中更加真实的亮度映射/应用到你的场景)才能更好的工作。另一方面不正确的太阳光照也会导致环境探针创建的环境光照不准确。
1,在brush目录下拖一个纯白色的平面到场景
You can find the plane object in: Objects/default/primitive_plane_small.cgf
Assign a pure white material with nospecular color. Use textures/defaults/white.tif in the material
2,旋转这个平面,使平面与地表平面成一个钝角,然后设置time of day里的时间,使太阳照射到这个平面上,使这个平面投射的自身阴影最大化,因为这样太阳光将会最大化的直射到这个平面上,然后将玩家摄像机视角推进到这个平面,使这个平面完全占满整个摄像机显示视口。通过以上操作才能校正一个正确的太阳光照。
3,在控制台变亮参数中搜索hdr,然后找到r_HDRDebug,并将其设置为1,这意味着hdr中的tonemapping将不会工作,同时屏幕上会出现相关debug信息
1,注意观察EstimatedIlluminance (lux) value,这个值表示,太阳对这个平面的直接光照强度
2,根据官方提供的真实世界的光照强度,选择一个你需要的光照强度。
3,设置time ofday里的Sunintensity(lux)参数,直到确保debug信息中的EstimatedIlluminance (lux)值接近于你想要的数值为止。
4,将time of day中的Sun intensitymultiplier修改成200,因为Sun intensitymultiplier是太阳的间接光照(环境光照)的缩放(比例)值,所以此处应该是200而不是20000
5,设置r_HDRDebug=1使hdr中的tone mapping正常工作。通过以上步骤设置(校正)了一个正确的室外太阳光照。
创一个建作用于整个地图的辅助环境光照
6,得到一个正确的太阳光照之后,我们需要使用环境探针,为整个关卡添加一个环境光照。
7,将环境探针放置到地图的中心(在物体移动模式下,修改视图下面的x,y,z此时x,y,z是一个世界坐标系),然后将环境探针的作用范围修改成与地图一样大。
8,将环境探针的AttenuationFalloffMax设置为0,如果设置其他值,由于衰减的原因,将导致整个地图的边界区域无法得到充足的环境光照
9,同时勾选IgnoreVisAreas,表示环境探针也会同时作用于VisArea对象所控制的区域
10,设置环境探针的(Diffuse(255,255,255),DiffuseMultiplier=1,SpecularMultiplier=1)参数到默认的值,与灯光实体一样,切记不要去修改SpecularMultiplier,否则会得到一个不正确的渲染结果。
11,生成环境立方体贴图
12,生成立方体贴图后,先关闭环境探针/然后再次激活环境探针
13,确保time of day中的HDR设置参数里的scene key=0.18