UE4学习之VR(二)

时间:2024-04-04 10:39:52

这几天一直在看关于UE4灯光方面的知识,目前的认识是,如果UE4没有 POST Processing,真的和Unity效果 没有什么区别,暂时还不知道实时灯光的的用法,先就 烘焙灯光遇到的问题,做一下梳理:

1.UE4的 SkyLight 是一个单独的灯光,Unity的天光是在环境面板里面设置的,UE有一个单独的Skylight 灯光,这个灯光在烘焙的时候到底是应该选择“Static ”还是 “Stationary”?

2.UE有一个很难用的地方,就是没有办法快速开关灯光,World Outline 列表里面,名字前面的眼镜,知识个图标或者物体的显示 还是 不显示,但是并不能去真正的开关,如果想要屏蔽掉某个

灯光,必须删掉,或者把灯光强度变成0。物体的屏蔽就只能 删除了。

3.UE烘焙参数的设置,一个是 各个静态物体的 烘焙分辨率 应该设置多大,还有就是 World Setting 里面 的Lightmass 各项设置,其中有一项是 间接光照的反弹次数,网上看到好多人设置到100,

但是,这样的间接光照反弹会把整个屋子照的一片白,没有明暗关系了。

4.还是关于 SkyLight ,UE4 的SkyLight 有些特殊,我想研究每个光的原理,于是场景里只留了一个 “Skylight”,但是无论怎么调节 强度值,都没有反应,这个SkyLight哈市很复杂的,分为以下几种情况:

(1).场景里没有 Atmospheric Fog,或者 Bp_Sky_Sphere,这时候,如果在场景里放置一盏 Skylight,无论是选择,静态  固定  还是动态 ,怎么调节强度值都是看不到效果的:


UE4学习之VR(二)

这时候,即使 勾选“Static”,然后去烘焙场景,也是看不到任何光线的。

(2)这时候,在场景里,再多加一个 BP_Sky_Sphere:

① 选择 静态,这时候调节依然没有反应:


UE4学习之VR(二)

② 选择 固定 :


UE4学习之VR(二)

可以看到,选择固定以后,场景亮起来了,可以看到 SkyLight的颜色 是根据外面的天空球的颜色来的。

③ 选择  动态:


UE4学习之VR(二)

参数什么都每没变,可以看到 亮度和选择固时候  一样,但是场景里面的物体有区别,沙发 在skylight选择 动态的情况下  AO不见了,这个AO是贴图自带的AO。

这时候,切回到 静态 状态,参数不变,然后烘焙 场景:


UE4学习之VR(二)

烘焙也是有效果的,可以看到 SkyLight 里面充斥着 天空的颜色,由此可见,这个SkyLight 的强度指的并不是 自身的亮度 而是一种 把天空反射到地面的能力,而且它自身的颜色,也不是决定天空颜色的关键,这个颜色 这样看来是要混合 已经反射的颜色了。另外这个 Skylight 不仅仅反射 天空球的颜色,还反射 Atmospheric Fog 的颜色。也就是这个 SkyLight受 天空球和大气共同的影响,独自使用 SkyLight 是没有意义的。

这时候把太阳高度,调高:


UE4学习之VR(二)

可以看到 skylight 完全是根据外面的 天空的变化而变化的。


现在做另一个测试,把天空球删掉,创建 大气 Atmospheric Fog,然后烘焙:


UE4学习之VR(二)

这次,skylight 又是 跟着 大气的变化而变化了。

这里就产生了一个问题,怎么才能得到 几乎是白色的环境光呢,调高 大气的亮度,得到一个几乎纯白的环境:


UE4学习之VR(二)

这个 SkyLight  在选择 “Stationary”的时候,也是可以烘焙的,阴影质量好像比 选择 Static 还高一点,间接光照的阴影细节更丰富,比如:


UE4学习之VR(二)

可以看到沙发腿的阴影,但是场景也出现了 大量的噪点。

最值得关注的是,烘焙过以后,这个 SkyLight强度值调节还起作用:但是调节到 一定的 强度 无论是 墙 还是 弱 场景都不再变化了。这个应该做实时的间接光照吧。