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

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

相关推荐
Dr.勿忘19 小时前
开源Unity小框架:高效单例与模块化设计
游戏·unity·开源·c#·游戏引擎·游戏程序·gamejam
jtymyxmz2 天前
《Unity Shader》8.4 透明度混合
unity·游戏引擎
心疼你的一切3 天前
Unity开发Rokid应用之离线语音指令交互模型
android·开发语言·unity·游戏引擎·交互·lucene
Sator13 天前
Unity使用OpenXR时,初始化失败的问题
unity·游戏引擎·vr
雨泽‎3 天前
Unity在URP中开启后处理导致RenderTexture存在背景
unity·游戏引擎·图形渲染
冒泡P4 天前
【Unity】TextMeshPro富文本中使用精灵图集
ui·unity·c#·游戏引擎
B0URNE4 天前
【Unity基础详解】(9)Unity核心:UI系统
ui·unity·游戏引擎
jtymyxmz4 天前
《Unity Shader》7.3 渐变纹理
unity·游戏引擎
胡童嘉5 天前
长沙烈焰鸟网络科技有限公司实习day13日记
功能测试·学习·职场和发展·游戏引擎·cocos2d
y***54885 天前
C++在游戏引擎中的开发
开发语言·c++·游戏引擎