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

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

相关推荐
Magnum Lehar5 小时前
vulkan游戏引擎的renderer_types实现
游戏引擎
AgilityBaby10 小时前
UE5蓝图中播放背景音乐和使用代码播放声音
c++·ue5·游戏引擎·蓝图
FAREWELL000751 天前
Unity基础学习(十二)Unity 物理系统之范围检测
学习·unity·c#·游戏引擎·范围检测
Magnum Lehar1 天前
vulkan游戏引擎renderer_backend实现
游戏引擎
Magnum Lehar1 天前
vulkan游戏引擎renderer_frontend实现
游戏引擎
两水先木示1 天前
【Unity】模型渐变技术 BlendShapes变形
unity·游戏引擎
向宇it2 天前
【unity游戏开发——编辑器扩展】EditorApplication公共类处理编辑器生命周期事件、播放模式控制以及各种编辑器状态查询
开发语言·ui·unity·编辑器·游戏引擎
向宇it2 天前
【unity游戏开发——编辑器扩展】AssetDatabase公共类在编辑器环境中管理和操作项目中的资源
游戏·ui·unity·编辑器·游戏引擎
benben0442 天前
Unity3D仿星露谷物语开发55之保存游戏到文件
游戏·ui·unity·游戏引擎
子燕若水2 天前
Unity 快捷键
unity·游戏引擎