虚幻引擎,体积雾、体积光、镜头泛光

1、体积雾

这里介绍的是用于地面的体积雾效果,效果如图1-1:

图1-1

首先,需要场景中存在指数级高度雾并开启体积雾(如图1-2)。然后创建材质,材质域选择"体积",混合模式选择"Additive"。材质节点如图1-3。

图1-2

图1-3

这里介绍下材质的思路,纹理贴图是一张噪声图片(噪声值0~1),采样UVS只取UV(即XY),采样出来的颜色值R减去该点的S(即高度Z),结果连接到消光节点,作为该点雾气的浓度。实现越高的位置雾气越薄的效果。

2、体积光(基于体积雾)

如图2-1,包裹场景的是一个消光为0.1的体积雾,利用体积雾我们可以实现体积光的效果。但是由于消光在各个地方都是一样,这就导致在阴影处也有很强的雾气效果(如图2-2),这不是我期望的。我只希望在有光的地方有体积雾,没光的地方(阴影)没有体积雾。

图2-1

图2-2

这里利用ShadowMap的方式,在场景与太阳之间添加一个纹理捕获Actor,用于捕获该视角下的正交深度纹理(如图2-3),然后体积光材质中,利用当前坐标点采样正交深度纹理,如果该点的深度大于正交深度纹理的深度,则该点在阴影中,消光设置为0。否则设置为0.1。图2-4、图2-5为体积光的材质。

ShadowMap可以参考我之前的博客UE引擎实现ShadowMap、体积光(C++)

最终效果见图2-6

图2-3

图2-4

图2-5

图2-6

3、镜头泛光

这部分参考官方文档配置即可:虚幻引擎中的泛光

效果如图3-1

图3-1

相关推荐
fqbqrr11 小时前
2606d,用d语言构建游戏引擎
游戏引擎·d
TO_ZRG1 天前
Unity 证书校验
unity·游戏引擎
mxwin1 天前
Unity Shader 切线空间数据是如何计算出来的
unity·游戏引擎·shader
mxwin1 天前
Unity Shader 法线贴图跟切线空间有什么关系
unity·游戏引擎·贴图·shader
mxwin1 天前
Unity Shader 贴图和采样的关系 如何保证贴图清晰
unity·游戏引擎·贴图·shader
心前阳光1 天前
Unity之使用火山引擎实现文字提问流式回复
unity·游戏引擎·火山引擎
mxwin1 天前
Unity Shader 什么是球谐光照 原理是什么
unity·游戏引擎·shader
心前阳光1 天前
Unity之使用火山引擎实现流式语音合成
unity·游戏引擎·火山引擎
心前阳光1 天前
Unity之音频剪辑提问,流式语音回复使用示例
unity·游戏引擎·音视频