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

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

相关推荐
zyh______2 小时前
关于unity的序列化
unity·游戏引擎
weixin_409383122 小时前
godot碰撞测试的学习
学习·游戏引擎·godot
电子云与长程纠缠2 小时前
Godot学习06 - AnimationPlayer内置动画
学习·游戏引擎·godot
mxwin10 小时前
Unity Shader 齐次坐标与透视除法理解 SV_POSITION 的 w 分量
unity·游戏引擎·shader
电子云与长程纠缠20 小时前
Godot学习05 - 播放与分离FBX动画
学习·游戏引擎·godot
weixin_409383121 天前
godot等轴视角tilemaplayer的学习 isocheric的素材xy大小怎么调
学习·游戏引擎·godot
WarrenMondeville1 天前
2.Unity面向对象- 开闭原则
unity·游戏引擎·开闭原则
呆呆敲代码的小Y1 天前
UnityMCP+Claude+VSCode,构建最强AI游戏开发环境
人工智能·vscode·游戏·unity·游戏引擎·u3d·mcp
C蔡博士1 天前
Unity TextMeshPro 中文本地化:动态生成最小字体集(解决边缘模糊、乱码问题)
unity·游戏引擎
m0_630182461 天前
Unity TMP 中文字体生成
unity·游戏引擎