ue4 截图_在UE4里点下这个开关,画面直逼Vray级实时效果

本文介绍了D5团队如何在UE4基础上深度改造,通过开启特定开关实现接近Vray级别的实时渲染效果。团队面临诸多挑战,如算力、算法限制,以及在游戏引擎上的应用局限。他们通过学习渲染理论,优化光线追踪算法,实现了无需烘焙、快速全局光照、高品质反射等功能,大大提升了UE4的可视化质量。D5的目标是打造简单易用的设计工具,提供接近真实的视觉体验。
摘要由CSDN通过智能技术生成

点击上方蓝字CG世界关注我们

“ 感知CG · 感触创意 · 感受艺术 · 感悟心灵 ”

中国极具影响力CG领域自媒体

文/余德杰

*本文已获授权转自微信公众号「余的ArchiCG」

0c782cf210be74c88fa0bad51dcc67ab.png

大家好

超久不见

这次为大家呈现的是

再次进步的D5

这次的进步

可以概括为“开了个开关

请各位观看视频感受

视频展示的是实时速度

无加速播放处理

无烘焙无预计算

在一块RTX2080上

使用D5 Preview 1.0完成录制

UE4本身很优秀

但不是针对可视化开发的

别忘记UE4是个游戏引擎

认真使用过UE4 RTX的同学

都会发现

UE4现阶段的RTX

虽然初步展示出RTX的强大

下图出自UE4官方RTX Demo

c791bc37b3d420c03978c290242814d9.png

但用在逼真的建筑可视化

是远远不够的

无论从算力、算法来看

都不符合建筑可视化的要求

例如可视化可以停下来等几帧

把计算平摊到很多帧

而游戏却不能

又例如一直以来都是难题的

全局照明

下图分别截自UE423和D5视口 分辨率近似 整个场景只有一盏聚光灯 在都有60fps的情况下等待了 3s 再截取

8b0aa5f3d42ac95490534e1759ef9168.png

上面UE4的GI结果 若是配上更激进的降噪 可获得平滑的结果 但也因此失去高频信息 物体浮空 只适合在游戏中使用

那为何不直接用UE4自带Pathtracing?

目前的Pathtracing

功能非常少

鲁棒性较差

且受制于BruteForce

速度不理想

仅适合在UE4里粗糙的预览

换句话说就是 都这么慢了,为何不直接用别的离线渲染器? 他们有更完善的功能更快的速度 还有更强的兼容性更好的质量 就像下图 默认的Pathtracing不能正确渲染背面

b91572fa07d8bf2ac9bef3e951eb120e.png

直接用UE4的Pathtracing当做渲染器

显然也不合适

所以

这不是开个开关就能解决的

需要专门针对这个的使用情景

深度改造

如果有团队

在UE4上加几个开关

直接调用UE4自带的光线跟踪

491f9bf51ba05bc9ed8ac0a6ce7e5a31.png

就将此变为付费功能

恐怕是想骗钱想疯了

9d685061b2f7d2b462b993d3dcc44603.gif


为了打开这个"开关"

D5的团队费了很大劲

看了很多论文、资料

学习渲染理论和算法

下面是他们参考过的部分论文截图

947d6aabbec055c8e2939fc1d8747287.png

参考了很多优秀的软件

学习他们的实现思路

下图截自各大软件官网

9bbf18cd401d3e14d1d8685eb646c6d2.png

走了很多弯路

从DXR到FallbackLayer

从FallbackLayer到Optix

从暴力采样到离散空间采样

下图截自各种技术的网页

a5f2fcb6a6690b015b828965f34b1fcb.png

遇到了很多坑

显存爆了

降噪出现漏光

抗锯齿完图层对不上

等等等等

下图bugs截自几个月前的D5

54f70b66840205c8703bef8363822044.png

可谓

一把辛酸一把泪

b9bbd278b3b259a7f7ca827281510827.png


在挣扎的路上

D5小伙伴意识到

不能盲目追求物理真实

每根射线所需时间已知

达到真实所需射线数量已知

稍微一算就知道

暴力计算

比蜗牛还慢

所以

通过美术数学手段

使得每根射线达到最高性价比

让画面趋近真实

符合人对"真实"的认知

才是王道


1.学习成本极低

116ffb245a892a848f066a7f0f50320d.png

e43b0731c734b0fb591bc676d6ed308e.png

无需烘焙

无需手摆反射球

无需分UV

无需反射平面

无需刻意补光

无需用灯光强行打出GI的感觉

......

无需繁琐学习过程

一切皆所见即所得

D5开发的初衷

是做一款又简单、又好的设计工具

隐藏繁琐的技术细节

给用户留下最简单、最直觉的体验

你所看到的效果

没经过一丝奇技淫巧的处理

eeb4de7d5bdd4d2c1a1ee3d52ae0f7c5.gif

绝不像一些无节操厂商那样

使用大量人工处理来掩盖软件缺陷

甚至使用烘焙的场景演示

误导视听

用户拿到手后

发现完全不是同一个东西


2.Gbuffer Raytracing

D5用光栅化代替部分计算

这点没什么好说的

因为UE4自己已经这么做

Enscape也证明了这个方向的可行性

4bfd87299f89b6025a225627f51d19cb.png

相比传统离线渲染器

一次射线的起点不在摄像机

从Gbuffer获取像素位置和法线

根据具体需求发射射线

e1728652a26be7d8664dbe274b9b5e87.png

能省掉一次射线带来的大量开销

也让光线跟踪更好地融入现有管线

还在原有的延迟管线基础上

绘制更多自定义的buffer

用于各种效果的计算

这个做法奠定了D5渲染开发的大方向


3.高品质天光大幅提升真实度

fccfee84b1411a5f53488a359d642e14.gif

高频信息给人印象最深

速写也是这个道理

下图是我N年前的写生

7467e39e26df2f3b15ed415656829f6a.png

在白天的场景里

天光产生的阴影到处可见

其中包含大量的高频信息

如下图箭头标出的地方

42fffcc2a7b7db6c82a2cfd5a37b6874.png这些信息

在游戏里常常被忽略

没有上图那种锐利的阴影

只保留了大关系

显得"游戏感强"

如下图

69ac9fbf6ef5252fce0d778512b3ccff.png

自从Lumion新增"天光"后

画质让人眼前一亮

很值得学习

下图截自Lumion官方画廊

a8f10d4fcb2906006ac88e9757ff0a4e.png

之前我还曾发文讲过这事

为何Lumion8如此强悍,这应该是一次迟到的飞跃

天光的计算对着色依赖度低

主要计算都在射线求交上

200e8c003f0e91006f54cd64ccb48b3d.gif

正好RTX最擅长的是

射线求交

所以天光是性价比超高的Feature

于是

D5参考了Lumion的美术思路

引入了天光

D5在UE4天光的基础上

加入第三方的降噪算法

调整了射线方向的策略

修改时域积累的算法以适应抗锯齿

让高品质天光成为可能

在室内、室外场景都有出色的表现

D5可以从外部导入任意的球形HDR

整个场景唯一的光源便是背景HDR 注意那一缕阳光,是由HDR中的亮点提供的效果

05609f397828389ca64fe2a751a1ec2b.png


4.高精度的快速GI

edaaa9da010d7c629d6fd125dd47fce7.gif

UE4 RTX自带的GI

使用暴力的方法计算

(BruteForce)

由于样本数太少

而样本数多了又会把电脑卡死

所以方差过大

形成肉眼可见的噪点

就算降噪也无力回天

2e9a7a460183a864242a4ee8187b131a.gif

显然

老老实实地算是不行的

就算有RTX加持也不够快

08a1406c4fe68fbe8deafb09a13c32cd.png

D5小伙伴注意到

Enscape的GI计算速度很快

而且显卡负载不高

31c17b3276b3c28a2dab6381032ec2b0.png

翻阅资料

得知Enscape把数据缓存到BVH

以空间换时间

因此节省了很多性能

还研究了VRay的LightCache

发现也是缓存的思路

(下图截自VRay官方文档)

e383a831b9886431226c1abc552303a0.png

虽然牺牲了多次反弹的高频信息

但换取更低的方差

意味着收敛得更快

于是D5抛弃了UE4自带的GI

引入了缓存GI的思路

6e7ce323783d7cf1b2aab813c7d93cde.gif

使用空间离散采样

让GI更干净平滑

还改良了着色器

降低着色的负担

让GI本身的计算速度更快

如此一来

显卡不发烫了

画面也变流畅了

e3102941711927b1b463f89fc5df74ef.gif

得益于缓存的低频数据

D5的GI能投射出精准的软阴影

有点VRay的味道

这连现在的Enscape和Lumion也很难做到

下图分别截自D5视口最高质量和Enscape2.6最高质量

两个场景都只有一盏聚光灯

30ca248ebe74f0c9a68ef1f12bc7cac9.gif


5.高质量自发光照明

ba0d936d7cd0399eb679c7ebb7c4f0c1.gif

得益于上述的GI缓存

以及D5自研的SimpleGI

自发光有极快的速度

和惊人的质量

可以轻松地使用自发光照亮场景

并拥有准确的影子

下图光源有且仅有自发光

9ccfc57935eeba4f7db05f2df14ea0a0.png

UE4在默认情况下

自发光不支持照明

所以我们只能看到发光物体本身

而场景一片漆黑

Enscape则由于过激的降噪

导致各种漏光问题

D5保留了最多的光照细节

可见阴影由硬到软

过渡舒服自然

下图光源有且只有自发光

ebb13a390a54462f04529fd1ada1a677.png

不妨再看看VRay的结果

上图最接近VRay的当D5莫属

但值得注意的是

D5只用了3秒

23c03ddf101cadc6f2aad463752ba56e.png


6.高质量的反射

3f23358b09298efc06a8a0e97c8981d1.gif

高质量反射能大幅提升质感

让真实度倍增

光滑、粗糙反射缺一不可

64d536ef33603b80ceb9f286ee746573.gif

光滑的反射

因为能清楚地看见被反射的东西

被反射物体的渲染精度不能妥协

UE4自带反射效果不佳

没有渲染GI

为了解决这个问题

D5小伙伴修改反射模块

给反射加入GI

目前反射中GI精度较低,高精度的已经在路上

因为换了缓存GI的做法,请给D5工程师点时间

4661f361431cb2a6d3a09e930b65660e.gif

得益于缓存的GI数据

反射GI计算比早期快了很多倍

因为GI占据绝大部分的计算量

因为每根反射射线中,需要多根GI射线

这个n*m的数学关系想想就很刺激

0537d5dcd99cabc2d76c973c4e583593.png

由于是光线跟踪反射

质量当然是SSR无法媲美的

请忽略那个带有光照的光线跟踪反射演示图

因为D5不能关掉自发光的光照

SSR是从UE4里截取的

0150eb90d7122cdcd5d145cfcc7ca730.gif


研发中的新功能&计划

更好的后处理

有小伙伴抱怨颜色太素

新的调色模块已经在做了

更好的抗锯齿和降噪

现在画面的边缘不够清晰

AI降噪带来的闪烁让动画没法做

D5正在改进降噪算法

让画面清晰平滑

同时稳定不闪烁

引入OptiX API

UE4的光线跟踪基于DXR

让很多显卡没法使用

使用OptiX代替DXR

能让更多的显卡正常运行D5

更快的速度

现在还不够快

需要更快

当然

远不止这些

......


简单意味着什么

一张HDR

就能呈现真实的天光

放一盏灯

就有了精准的间接光

一眨眼间

就有趋近真实的效果

但可能有的小伙伴

还习惯于灯阵、反射平面等做法

这不由得让我想起

过去的玩具总动员没有GI

反弹光全靠艺术家手摆灯光

当GI计算诞生的时候

有人鄙视GI计算慢

坚持“人工GI”的做法

再看看现在

还有人会在VRay里摆灯阵吗

技术越来越先进

体验越来越简单

只会让创作的上限越来越高

虽然D5还不够完美

但他们仍在努力

就算没有D5团队

也会有B5,D6,F16

......


开放的公测

D5是看得见摸得着的

看完演示

感兴趣的各位

可以下载尝试

欢迎给他们提出宝贵建议

https://www.d5techs.com/


结语

能看到这

说明你我真tm有缘分

有朋友问,你为什么替D5写文章?

我虽然在从事游戏制作,但对渲染的热情,依旧没有减退,虽然没时间出作品,但也会抽空看看相关的论文。几个月前,我初次接触D5团队,是因为试用了当时的版本,提了些建议。细聊后发现,这个小团队,有着超出我预期的技术底蕴,虽然算不上顶尖,但在国内可视化工具领域里,这水平绝对是罕见的。言语中,我能强烈地感受到这个团队对技术的尊重,他们非常希望做出一款优秀的产品。D5一路磕磕碰碰,虽然遭受一些误解,甚至有人说之前的演示视频是假的(视频是我亲手录制的),但也得到了很多人的支持,因为,他们确实做出了不一样的东西,解决了不少别人解决不了的技术难题,而非光说不做、鼓吹概念。看到这样的团队,实在忍不住要帮一把

D5为什么用UE4改造?

在RTX刚面世不久,UE4还没集成RTX的时候,D5团队已经把RTX功能整合到UE4中,实现了基于DXR的光线跟踪,但功能简陋,效果欠佳。由于D5没有搭建成熟离线渲染器的经验,若是从零开始搭建,需要大量的时间,而UE4有着极为成熟优秀的渲染管线、先进的光照模型,还是开源引擎,能合法获得源代码,如果为了学习,那可以从零开始慢慢研究,但对于一个公司来说,造轮子的做法显然是不可取的。所以D5团队把UE4渲染模块代码单拎出来,在此基础上进行深度改造,让它更适合可视化,而软件别的部分都和UE代码没有关系。因为,使用UE4编辑器代码是违反开发者协议的,如果有公司敢这么做,用户的利益都将受到威胁。

至于为什么我知道D5的技术细节,因为......我就是知道!

-END-

?热点回顾

1711727963dfe706251a48f54b789537.png

《还在手雕?只用一张照片就能实时生成3D头像软件来了》

e0161bc3bbc9d3fefbcbb52637bd89e1.png

《喜大普奔!Epic收购Quixel,资产全部免费。附各个神仙作品》

4baa01195a4760a757e6c51aedd33751.png

《呦呵!Netflix又拿Blender三渲二做电影了?还冲奥斯卡!》

?广告【动捕就找liuguagua】

0006dcd5906d64fcef9f3217165e5b53.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值