我了解的的焦散共有三种做法:

  1. 贴图动画
  2. 实时焦散:Normal 挤出网格【我感觉非常漂亮,可以低成本模拟rtx效果】
  3. 实时焦散:rtx,主动点亮场景

以UE4 为例。

一、贴图动画

UE4 有一个实例场景,展示粒子特效的,在山洞里,有焦散的效果,就是利用贴图动画实现的。

UE4_Casutichttps://www.zhihu.com/video/1194590310406189056

把下面这张贴图做一个简单投影,就能出这种效果了。在UE4 中完成这种投影很简单,使用LightFunction即可

Caustic 贴图

其实这样的贴图,是可以通过一个专业的软件导出的,可以导出单帧,也可以导出一个序列动画。

LightFunction 材质

可以看到,这种方法确实非常简单,而且美术容易控制它的效果。只不过有个小缺点就是,无法交互。所以有了下面的两种做法。

2、法线挤出网格,模拟焦散。

我也是最近看到用这种方法做出的比较精致的效果,最初是在webgl 上看到的一个water 实例

源码​github.com

效果非常惊艳~

然后看到一个小伙伴用Unity 实现了一下,效果也非常好。

这个是它的 github 源码

AsehesL/UnityWaveEquation​github.com

其实这些是多个效果组合完成的,包括了水面渲染,焦散,水体渲染(体积光)。

于是我照着做了一下,只做了焦散部分。

https://www.zhihu.com/video/1194594140313223168

水面波纹很好实现这里不多说。

在做焦散的时候,它是先生成一个和水面同样大小的网格,但是网格非常密~ 顶点需要足够多,最终的效果才会非常平滑。

然后根据前期做水面波纹时候生成的水面法线,在vs 中对这个网格的顶点做变形。过程如下图:

原始网格

网格变形;

有了这个网格,就需要生成Caustic 贴图了,这一部分非常简单:

做一次从上到下的正交投影,计算水面每一个点三角形变形前后的面积,做除法,搞定

v2f 

生成的Caustic贴图:

有了这个Caustic 贴图,最后就只需对场景做一次投影,就可以啦~

最终效果:

因为整个过程是和水面波纹效果一起在运行时计算的,但是它不需要ray tracing,对硬件要求不高,所以它的优势就体现出来了:

  • 1、实时效果
  • 2、消耗小

第一次看到这种方法出来的效果,确实很惊讶,在一些场景下,确实可以代替RayTracing 的焦散了。

但是它确实有它的缺点:

是在xz 平面做网格变形,最后也是生成一张Caustic 贴图,最后投影到场景。对于水平平面来说够用了,但是如果平面立起来,就得特殊处理了,再说简单点,它其实就是一种模拟,所谓的Trick~。

第三种方法RayTracing 焦散就完美的解决了所有问题啦~

三、RayTracing 焦散:

Rtx 焦散的详细流程,其实上一篇文章已经介绍过了。这里把我做的过程展示一下:

先拿简单的一张 法线贴图 做demo

第一步,根据法线,对场景发射线,直接点亮场景。

这种方法不经过降噪,就是一堆点

接着在真实法线中做测试。我先是实现了一个水波纹,然后看到这些点动起来,还是非常震撼的~

https://www.zhihu.com/video/1194598964002136064

https://www.zhihu.com/video/1194601715452989440

降噪感觉不好做,就开始尝试拼接三角形,然后在像素级别,根据三角形亮度,做了个简单的Filter

https://www.zhihu.com/video/1194600052633747456

有一点效果了,但是确实还是不太行。

最后就开始,在三角形的层面去处理这个问题。

首先剔除掉一些无效的点,接着计算三角形面积,面积越大,三角形越暗,面积越小三角形越亮。于是便有了下面的结果

可以看到已经非常有那种味道了

https://www.zhihu.com/video/1194600780995567616

https://www.zhihu.com/video/1194601245451571200

ok,到了这一步,这个焦散就差不多处理完了,标题图get。

ue4光追降噪_【魔改UE4】后记_焦散效果总结相关推荐

  1. ue4光追降噪_【RTX ON!】可能是最详细的UE4实时光追测评

    最近UE4.22 终于更新了dxr,我下意识的打开gpuz看看rtx卡是啥时候发布的...? 半年过去了啊! 废话不多说,ue开启raytracing需要改三个地方. 工程设置里,这个要打开 然后才能 ...

  2. ue4网格转地形_【魔改UE4】Rtx实时焦散的一次尝试

    这篇文章是这个系列最后一篇啦,前情回顾: 未名客:[魔改UE4]Realtime DynamicSkyLight_关于动态天空光照的一次尝试​zhuanlan.zhihu.com 未名客:[魔改UE4 ...

  3. RealTimeRayTracing:光追降噪[1]--UE4中的光追降噪

    目录 UE4中的光追降噪: 主要思想: Shadow 降噪: Glossy反射降噪: AO和Diffuse GI 降噪: 前记:主要是前几天看到了一个问题就是光追怎么降噪,毕竟在实时渲染中光追不可能采 ...

  4. RealTimeRayTracing:光追降噪[2]--新的解决方案ATAA

    目录 前记:这个内容确实很难. TAA降噪: 关与走样: 曾经的TAA: TAA的优势: TAA的问题: ATAA: 核心思想: ATAA的管线流程: 自适应采样: 自适应分割(Automatic S ...

  5. 西瓜大作战java 源码_魔改和上线你的合成大西瓜,最全教程!

    本文是从 0 到 1 的教程,让小白也能够魔改和上线发布属于你的合成大西瓜! 最近,一款名为『 合成大西瓜 』的游戏突然火了!看来真的是大家吃瓜吃太多了,这个小游戏深抓人心! 当然,游戏本身非常有趣, ...

  6. 3 魔改_魔改启动!《战地3》非官方MOD工具即将发布

    VU团队近日宣布,<战地3>非官方MOD工具将于2020年12月发布.团队还公布了一段宣传片,展示了用MOD工具制作的一些自定义地图. VU(Venice Unleashed)是致力于对& ...

  7. 七日杀修改服务器名称,七日杀怎么改名字_联机改名字方法_快吧单机游戏

    在<七日杀>游戏中,联机之前,通过修改注册表来改名字,否则在联机的时候会出现名字重复.下面是玩家"Glory3rd"分享的<七日杀>联机改名字.希望能够帮 ...

  8. 代码已开源,一起魔改大西瓜!

    上了两次微博热搜的<合成大西瓜>,想必大家都玩过了,好多人刚开始嗤之以鼻,最后真香了,说实话有点上头. 其火热程度直登热搜第三,阅读量6.9亿,朋友圈里也在纷纷安利. 合成大西瓜 游戏界面 ...

  9. OneNav一为主题魔改教程(二):使用纯css增加网站Logo扫光效果--洞五洞洞幺

    今日主题: 使用纯css增加网站Logo扫光效果 声明:本篇有违"魔改"这个标题:本篇只为增加收录.并且复习使用纯css给logo加上扫光效果. 效果: 可以目测 洞五洞洞幺 导航 ...

最新文章

  1. GeneGAN: Learning Object Transfiguration and Attribute Subspace from Unpaired Data
  2. 将自己的APK变成系统的APK
  3. oracle record is locked by another user
  4. Qt:解决使用png图片时,报错libpng warning: iCCP: known incorrect sRGB profile的问题
  5. Open suse下 vi 语法加亮设置 显示
  6. android 自定义取色器,【Android自定义View】仿Photoshop取色器ColorPicker(二)
  7. ASP .NET 如何在 SQL 查询层面实现分页 1
  8. 如何在 Linux 中找到你的 公网IP 地址
  9. 案例7-3 统计工龄 (20 分)(简单)
  10. Hi3531a 芯片介绍
  11. RedHat7安装yum并下载gcc
  12. Bugku -disordered_zip【MISC】
  13. 在计算机网络中集线器的作用是,集线器有什么用 集线器的作用介绍
  14. flink报错:The types of the interface org.apache.flink.util.OutputTag could not be inferred.
  15. 还在为美容护肤问题焦虑吗?不妨试试红光光浴#大健康#红光光浴#红光#种光光学
  16. 如何有效减少全局变量的使用
  17. 想学人工智能专业,这6所学校不二之选
  18. 如何与 Dapr 集成打造 Apache APISIX 网关控制器
  19. MDK-ARM和keilC51兼容解决方法
  20. dataframe中将第一列放到最后一列

热门文章

  1. C#算法设计排序篇之09-基数排序(附带动画演示程序)
  2. 从安装到部署的Cordova iOS应用开发说明
  3. react jest测试_如何设置Jest和Enzyme来测试React Native应用
  4. web安全检查_如何利用现代Web检查器的功能
  5. 募捐名单_年度捐款,以及为什么现在应该捐款,而不是以后
  6. 小米mysql安装教程_小米 SOAR 开源SQL优化工具安装
  7. ubuntu下源码安装Python
  8. 用MATLAB玩转机器人--第六章 用MATLAB玩转单关节机器人
  9. 100 行 Python 代码实现人体肤色检测
  10. Pandas知识点-索引和切片操作