Chaos和Niagara就不用提了,虚幻一直在推。这次其实Chaos的优点没有特别体现出来,落石看上去和纯niagara做的没差很大。
Nanite挺不错的,感觉是为影视制作准备的。至于游戏的话,能按这个成本堆上去的游戏公司多半也有自己的inhouse引擎,貌似也没必要用虚幻。考虑到quixel已经免费向虚幻用户开放了,我可以预计到未来会出现不少打着“一个人开发3a”title的半成品游戏,大家都用这从quixel里嫖来的差不多的高精度模型和贴图。
吐槽一下,把同一个雕塑放几百个和多了几百倍的随机模型面试还是两个概念。这玩意儿instancing一下效率有多高大家也不是不知道,这个去吹非常高效有一种忽悠观众没做过游戏开发的感觉。
Lumen算是挺有魄力的,不和硬件绑定,某种意义上说算是反垄断,赞一个。不过怎么说呢,客观上说效果确实不如目前rtx+dlss2这套组合拳打出来的好。一开始演示光源移动的时候能看出将近1s的延迟,估计还是某种temporal filtering技术。另外,在室内近距离看的时候,能看到肉眼可见的噪点,采样数估计还是不够(这个我不能很确定,我看到ytb 4k视频,但也有可能是压缩算法的问题,不过目前只有那个室内场景有,所以我姑且认为是gi导致的)
值得一提的是并没有展示像xsx那样大规模的镜面反射。毕竟镜面反射都是高频信息,不像gi这种糊一点,拖影一点也能看过去。展示了一个水坑场景,但是占屏空间太小了,而且扰动比较大,看不出具体效果(老实说这水面渲染除了顶点位移和反射外看起来挺一般的)。
但还是挺喜欢epic这种自己整的精神,就像cryengine搞得那个基于体素的一样,没必要被硬件厂绑架。
整个demo我之所以最后感觉没那么激动,主要是看了几个静帧和动帧后,发现这demo最高不会超过1440p,30fps,还能感觉掉帧,而xsx那边大家对次世代的期望还是4k30fps+光追 和 4k 60fps/120fps 无光追。怎么说呢,感觉ps5机能貌似确实差一些,而虚幻5也不是那么黑科技,还是符合预期的。
除此之外,音频上面的改进(对玩家来说其实不显著),以及动画系统的提升。老实说动画其实是我最关心的一点,但是并没有详谈。提到了基于预测的footik以及一些其他的ik相关功能,这个没上手摸过很难说出到底能提升多少效率,但是很高兴epic确实往gameplay层面投了些注意。
我个人感觉这次虚幻5主要展示的是它可以很好的替代现在的一些离线渲染引擎,做一些可交互设计更高效方便(比如电影对机位,实时特效制作)。看完之后并没有感觉对unity产生了什么竞争。也许是unity最近一直在推hdrp所以给大家一种unity做3a的错觉?啥时候等unity把拉跨的streaming弄好再说吧。。。而且真要说改引擎的简易度,unity那种半黑箱+提供特供api的方法还是比虚幻4全部开源给你看得头大来的方便的(当然你可以说我菜,但unity确实方便一些)
对于我这种小体量开发来说,其实更关心的是gameplay框架上有没有改进,对程序友不友好,动画系统能不能提高开发效率这种。3a遥不可及。 相当震撼,对得起次世代的称号。
问题里的视频压缩的有点过了,所以去B站找了一个清晰度更高的版本:https://www.bilibili.com/video/BV18Z4y1p77Y?p=2
然后是对于影片里提到的两个系统的一点(瞎)猜测。
首先是可以支持数亿面模型渲染的虚拟多边形系统:Nanite。个人猜测是,Unreal 5改变了模型的三角面组装流程,传统流程是先把所有模型顶点经过一系列空间坐标系转换后组装图元光栅化再做片段着色;这种方法面对Demo里面一房间几百个3000万面高模的场景,在同一个像素位置上肯定会重复组装出多个最终被渲染的三角面来。所以我猜这个“虚拟多边形”系统应该是反过来的,先从像素出发,在每个像素上只布置一个三角面,真正被送入像素着色器渲染的应该是一大张独立的Mesh。有点像直接通过一张带深度信息的照片进行3D渲染的意思。
随便找了张动图意思意思
我猜通过分割素材Mesh与实际渲染的Mesh,Nanite才可以无视素材本身的精度提供稳定高速的渲染。而既然素材模型精度可以无限高了,自然各种Tricky的预烘培贴图技术也就可以被淘汰了,首当其冲就是视频里提到的法线贴图。
然后是实时光照系统Lumen。Demo演示中,在山洞口,有一段是解说者手动移动光源的(约2:55开始),如果仔细观察的话,你会发现……光照效果相对于光源的移动有一个微小的迟滞,即光源移动后,要过上大概一秒,其最终效果才能定型。所以我猜这个GI大概还是传统的GI,但是算法上做了优化,先计算粗粒度上的光照改变,使得光源变化的时候主要的光照关系会立刻改变(例如直接照射),而间接光之类的计算会随后慢慢更新。Epic的算盘大概是:如果光照关系动态变化很大很复杂,那么间接光这种相对比较subtle的效果上的些微瑕疵不容易被玩家注意到,可以在这种时候跳过这些细枝末节的计算;而在玩家比较容易注意到细节的静态环境下,又可以花点算力额外补足那些光照细节。大概有点像一个专门为了运行时环境优化过的Unity上的Progressive Lighting。不过实现成Demo这样也实在是太叼了……
然后针对这两个猜测,我想了想啥样的情况容易出现问题。想来想去……带半透明的物件?于是重新拉了一遍Demo,还真没找到Demo中有正经的半透明(会影响光照)的对象……不知道是不是官方取巧了~
另外,Demo里的这一段,是特意来嘲讽EA的吧?(狗头)
对应当年EA关闭Visceral工作室时候的坊间传言:
以上小道传言原文链接:
杉果游戏:EA关闭Visceral工作室的真相:厂商与玩家的金钱游戏 1)现阶段Nanite不支持蒙皮网格,也就是角色还是传统的制作方式。角色面数可以适当提高。
2)Nanite的一个核心是Virtual geometry texture流送到屏幕和LOD无关系。
3)模型还是需要UV,只是UV不再是用Uvlayout、Unfold3D展开。而且是用Houdini Auto UV等定义一套展开参数自动展开和排布。UV shell数量对Nanite几乎无性能影响。
4)法线贴图还是需要,只是不再是模型的切线空间法线,而是平铺表面细节法线。
5)并不是无脑输出超高模型,因为模型导入UE5后会预拆分meshlet。这会增加导入时间,所以应该把模型模型拆分多块导出。
6)因为VT,纹理尺寸已不再是内存瓶颈,8K纹理解禁。但是游戏体积可能成倍增长。
7)Lumen可以简单理解SSGI2.0,以体素和高度场进行光线追踪实现GI。不依赖RTX硬件光追。
8)Demo中未大规模展示半透明、植被等。且以30fps演示,若以4K 60FPS优化还有很大的空间。
9)Simplygon、UmbraCulling、Wwise 、Enlighten、LightMass、LPV GI/VXGI、Uvlayout、Unfold3D、xNormal等技术或改良或淘汰。
10)独游小团队也可以在画面上和大厂一战,美术生成周期缩短,成本下降。 今天不知道为什么醒得那么早,总有种不详的预感。于是打开了微信朋友圈,举目望去尽是unreal engine 5的新闻,它终于还是来了,但来的却又是那么的突然,就在这次扑朔迷离的疫情期间。本以为unreal engine 4版本号会推进到三位数,看来epic是不打算这么做的,在4.30前宣布开始准备进入下一个世代,要换跑车了。
我很好奇国内这帮弄in house引擎的人会作何感受,他们的优势究竟体现在哪里呢?这是一个很值得深思的问题,估计还是得从简单的模仿开始(如果引擎代码不开源可怎么办)。当然作为unreal engine的使用者,我更关心的是gameplay的开发模式是否会经历三代到四代那种让人惊喜的变化,又或者仅仅只是一些次要改进,小修小补而已。不可否认blueprint这种可视化的脚本系统存在着种种的弊端,虽然它确实在游戏原型化过程中起到了加速的作用,但中后期大量代码的维护和性能方面的羸弱也是一个让人十分头疼的问题,不容回避。我看到许多开发者很关心有没有可能会加入基于文本的脚本语言,似乎这才是真正能够释放逻辑程序员生产力的有效途径。即便是引入c#我觉得也不失为一种好的选择,当然前提是要与blueprint共享同样的虚拟机,以保证gc开销的最小化。
另外就是性能上的改进,除了图形渲染架构上的变化外,我深以为有几个关键性的模块是时候该做点大刀阔斧的重构了。随着近几年DoD模式的流行,很多引擎都对自己的那些会成为性能瓶颈的模块进行了改造,例如unity。其实unreal engine 4最近几个版本也在做类似的工作,例如chaos和Niagara,它们为了提升指令的并行性和cache的友好性,做了相当多积极的尝试。从基础架构上就是面向数据进行的设计,一改往日面向对象的设计风格。这种程序框架极其利于现代cpu的运行,所以性能上会有明显的提升,可以支持更加庞大的逻辑运算,当然玩家就能在画面上看到更加丰富的效果,体验从未有过的真实性。但还有几个模块不是按照这种方法论来规划的,例如动画系统和网络系统。今年gdc上,intel有一个talk就是在讲如何用ispc对unreal的骨骼计算进行优化的。它里面说局部的代码经过ispc改造确实在性能上有所提升,但幅度并不大,关键原因是整个animation模块不是按照DoD的逻辑进行设计的,所以数据的布局并不是那么有利于simd和cache。除此之外暴雪也在早年的gdc上谈到过如何用ECS的理念来设计他们的Networking系统。所以unreal网络同步的性能优化的老大难问题估计要等到下一代产品才能很好的解决,单单靠Replication Graph看起来还是有点杯水车薪的感觉。如果文本化的脚本语言能成为gameplay的一种开发选择,那么对于把日常逻辑进行job化和dod化还是相当有帮助的。你看隔壁unity所倡导的dots不就是想实现这个开发模式的转变吗?我觉得下一个世代是广阔天地大有作为,如果真能如我所愿的话。
图形渲染的进步目前看来只不过是按部就班,水到渠成的结果。有了raytracing特性,感觉大家什么出格的事情都敢于尝试了。当然还要提及是更加灵活的mesh shader管线,它扩展了图形程序员想象的边界,那些demo中夸张的triangle密度估计就是它一手造成的。d3d12由于引入了sampler feedback的功能,加上之前的tiled resource,好像无限纹理分辨率的梦想就在眼前,demo中不断zoom in的镜头里所看到的清晰细节似乎正预示了这一点。 如何评价Epic Games今日公布的虚幻引擎5?我们邀请到了我们的程序同事“蛋炒饭”谈一谈这个话题,希望他的回答能对大家有所帮助。
虚幻引擎5已经发布了一些时日,大家不仅惊艳于次世代的画面表现,同时也很好奇他们到底用了什么黑科技能支持到如此高的面数以及高质量的全局光照效果,这里我们就来总结和科普一下各个大佬们的猜测和提到的一些技术点。
Virtualized Geometry
Nanite是一个能够处理同屏数十亿三角面,并将模型以超高精度展示出来的一套系统。这套系统中最核心的技术官方称之为Virtualized Geometry,这个可以说是整个展示中最神秘的技术谜团了,因为此前大家都没听说过这么个概念。它使得展示出来的三角面分辨率能够直接达到像素级别,即每一个像素都有一个面,来看下像素级的三角面密度是个什么概念(密恐慎入)
也就是说未来不需要法线贴图这种Trick了,也没有LOD什么事了,顶点密度以屏幕能达到的最高精度怼给你,夫复何求!
这在业界引发了非常多的议论。最普遍的猜测是使用了Mesh Shader。
Mesh Shader
Mesh shader是NVidia在2018年提出的,目的就是为了解决具有大量三角形(数以千万计)的复杂模型遇到的瓶颈。结合GPU Driven pipeline的趋势,Mesh shader合并了原先Vertex shader、Hull Shader、Tessellation Shader等等复杂的顶点处理管线流程,并且打通了Computer Shader与图形主管线的通过系统内存交互的界限。使得新的管线流程对GPU Driven的开发无比友好。
下图是NVidia提出的Task Shader(可选) + Mesh Shader管线流程:
Mesh Shader处理的基本单元是Meshlet,即将模型拆分后的小模型。其中数据包含了VertexBuffer和IndexBuffer等。
这套管线还解决了旧管线两个瓶颈:
1. 原先Geometry阶段是按整个模型处理的,且必须按Index Buffer的顺序来处理。
2. 被遮蔽的顶点本可以被剔除掉的,但仍然被处理了。
UE5的Demo演示中表示“每一帧里的原始几何体三角面都超过十亿个,Nanite将他们无损压缩成大约2000万个三角面”。综合前述的Mesh Shader的一些优势,UE5是非常像是用到了Mesh Shader的。
但是仍然存在一个问题,那就是如何将十亿级别的三角面数据提供给GPU。按照一般情况估计,单个顶点需要8个以上的浮点数(空间坐标、纹理坐标、法线方向),每个浮点32位,意味着每个顶点需要32个字节,十亿级的顶点需要带宽大约是3.2G每帧,30帧率的情况下,约100GB/s。目前主机GPU带宽上限基本在400~500GB/s左右,也就是说每帧光传输数据就需要占到至少1/5的帧时长,显然是无法接受的,而Mesh Shader并不能解决这个问题。
Geometry Image
此前已经有回答:
https://www.zhihu.com/question/394668511/answer/1222159046
挖出了Brian Karis (负责Nanite的图形学技术大佬,也是Demo视频中左边的老哥)在2009年的一篇文章。现在看来可以说是Virtualized Geometry的最初思路了。其中非常明确的提到了他受到Geometry image这个idea的启发。
首先将几何体的顶点按照共形参数化映射到一张方形图片上,左边图片每个像素记录顶点的一个相对空间坐标,右边图片记录法向量方向。这样就可以通过两张贴图将模型完全重建出来。
我当初看到这个方案时也觉得非常妙,因为通过图像重建的模型顶点是可以达到像素级密度的,还可以套用当前各种图像压缩、Mipmaps、以及虚拟化技术等等业界成熟的方案。同时通过压缩,也可以解决十亿级别的顶点数据传输问题,减少了高模在硬盘的存储空间。Virtual Geometry Image也非常接近Virtualized Geometry这个命名。
但是我个人觉得,几何体的一些高频信息在转图像时可能会丢失,尤其在压缩或者滤波之后,在图像上不易察觉的信息丢失,在模型上可能就会非常明显。
而在14日Brian Karis承认了Geometry Image确实是他的最初的思路,不过现在已经远不是之前那个方案了。
Reyes Rendering
在Brian Karis 2009年的文章中还提到一个有意思的点:
“If the performance is there to have the two at the same resolution a new trick becomes available. Vertex density will match pixel density so all pixel work can be pushed to the vertex shader. This gets around the quad problem with tiny triangles. If you aren't familiar with this, all pixel processing on modern GPU's gets grouped into 2x2 quads. Unused pixels in the quad get processed anyways and thrown out. This means if you have many pixel size triangles your pixel performance will approach 1/4 the speed. If the processing is done in the vertex shader instead this problem goes away. At this point the pipeline is looking similar to Reyes.”这里涉及到一个Quad Over-shading的概念。在现代GPU渲染流程中,一般会以2x2像素块作为最小渲染单元。因此当几何体的密度达到像素的分辨率级别时,对于亚像素的三角面的绘制,可能会额外计算3个像素,然后抛弃掉,导致极大的浪费。因此可以将PS的工作移到VS中,大幅提高计算效率。
这部分正是参考了Reyes渲染架构,Reyes Rendering是早期电影CG行业常用的离线渲染架构,与现代实时渲染管线不一样,他是将几何体进行分割和拆解,直到变成像素级的微多边形网格,然后再对每个微多边形网格的顶点计算灯光、颜色等等。然后再进行采样、光栅化,可见性检测等流程。
Reyes对于高密度的模型的渲染效率是极高的。极有可能Nanite参考或者引入了部分Reyes渲染的流程。
Software Rasterization
在DigitalFoundry的这篇报道里Brian提到UE5中使用了软光栅:
"The vast majority of triangles are software rasterised using hyper-optimised compute shaders specifically designed for the advantages we can exploit," explains Brian Karis. "As a result, we've been able to leave hardware rasterisers in the dust at this specific task. Software rasterisation is a core component of Nanite that allows it to achieve what it does. We can't beat hardware rasterisers in all cases though so we'll use hardware when we've determined it's the faster path. On PlayStation 5 we use primitive shaders for that path which is considerably faster than using the old pipeline we had before with vertex shaders."这点非常有意思,因为软光栅在实时渲染领域已经很少有人使用了。但是在几何体顶点密度接近于像素分辨率的极端情况,硬件光栅化可能反而达不到软件光栅化的效率。极有可能Nanite抛弃了部分传统管线的流程,而是通过GPU管线软件重写了光栅化,与前述的Reyes管线相呼应。另外他们还使用了Primitive Shader达到比传统管线高得多的效率,而Primitive Shader正是AMD对标NVidia的Mesh Shader提出的设计。
综上所述,Virtualized Geometry有可能是这样一个流程:在预处理模型阶段,先通过Virtual Geometry Image等手段压缩模型,然后在绘制时,利用Primitive Shader或者Compute Shader进行类似于Reyes流程的重建模型、裁剪剔除、光栅化等工作。
Virtual Texture
UE5的Demo中经常会提到一个技术叫虚拟纹理Virtual Texture(又称Mega Texture)。虚拟纹理技术是John Carmack在id工作室提出的。基本思想就是将一张超大的纹理分割为多个小块,称之为Pages,然后再通过一个索引纹理——Indirection Texture,将某些当前需要用到的Pages,Runtime的存放到一张较小的物理纹理缓存上。Indirection Texture记录了不同Pages在物理纹理上的寻址偏移坐标。
这种技术使得需要较大分辨率贴图的方案得以实施(例如大世界地表、Lightmap),通过只加载当前所需的纹理信息,可以显著降低所需的内存,提高纹理的精度。
UE4.23以来 Virtual Texture技术已经实用上。UE5的Demo中更是每个模型都用了8k的纹理,非常丧心病狂。
Virtual Shadow Map
在DigitalFoundary的文章中提到一个重要细节是虚拟阴影贴图。
"Really, the core method here, and the reason there is such a jump in shadow fidelity, is virtual shadow maps. This is basically virtual textures but for shadow maps. Nanite enables a number of things we simply couldn't do before, such as rendering into virtualised shadow maps very efficiently. We pick the resolution of the virtual shadow map for each pixel such that the texels are pixel-sized, so roughly one texel per pixel, and thus razor sharp shadows. This effectively gives us 16K shadow maps for every light in the demo where previously we'd use maybe 2K at most. High resolution is great, but we want physically plausible soft shadows, so we extended some of our previous work on denoising ray-traced shadows to filter shadow map shadows and give us those nice penumbras."传统的Shadowmap流程实际上并不能展现出这么多的微阴影细节,UE5阴影可能是通过Ray Tracing来实现的,然后记录在这张16k x 16k的超大虚拟化Shadowmap上,达到像素级的阴影细节效果。
Dynamic Global Illumination
UE5展现出来另一个强大系统是Lumen,他允许几乎实时的全局间接光效果。并且UE5还专门提到,动态GI并不依赖于光追硬件设备。意味着UE5并不是NVidia RTX+AI Denoise那套硬件解决方案。在B站直播中王祢提到UE5的全局光照并不是一个单一的方案,而是一个"混合体",结合了几种方案的优缺点。再根据DigitalFoundary的那篇文章提供的一些细节:
"Lumen uses ray tracing to solve indirect lighting, but not triangle ray tracing," explains Daniel Wright, technical director of graphics at Epic. "Lumen traces rays against a scene representation consisting of signed distance fields, voxels and height fields. As a result, it requires no special ray tracing hardware." To achieve fully dynamic real-time GI, Lumen has a specific hierarchy. "Lumen uses a combination of different techniques to efficiently trace rays," continues Wright. "Screen-space traces handle tiny details, mesh signed distance field traces handle medium-scale light transfer and voxel traces handle large scale light transfer." Lumen uses a combination of techniques then: to cover bounce lighting from larger objects and surfaces, it does not trace triangles, but uses voxels instead, which are boxy representations of the scene's geometry. For medium-sized objects Lumen then traces against signed distance fields which are best described as another slightly simplified version of the scene geometry. And finally, the smallest details in the scene are traced in screen-space, much like the screen-space global illumination we saw demoed in Gears of War 5 on Xbox Series X. By utilising varying levels of detail for object size and utilising screen-space information for the most complex smaller detail, Lumen saves on GPU time when compared to hardware triangle ray tracing."我们几乎可以确定,UE5根据物体的大小和远近分别使用了多种不同的GI方案。对于小物体或近景采用了SSGI(Screen-space GI),对于中物体或者中景采用了DFGI(Distance Field GI),对于大物体或者远景则采用了VXGI(Voxel-Based GI)。
Screen-space GI
这套方案相对其他的GI方案是比较廉价的,其基本思想是在屏幕空间进行RayTracing,类似于SSR(Screen Space Reflection)的算法。
Unigine采用这种方法做的GI有一个非常惊艳的展示视频:
https://www.zhihu.com/video/1247112853527580672
UE4.24也引入了SSGI方案。
这里也有一篇关于UE4的SSGI的实现
https://zhuanlan.zhihu.com/p/97886108
SSGI最大的问题就是无法捕捉到来自屏幕外的光照信息,在屏幕边缘附近可能会导致一些光照错误。
Distance Field GI
基本思想是先构建场景的距离场,然后通过Ray marching逐渐步进求交。
UE4在4.8的版本实现了DFGI,同时还实现了DFAO(Distance Field Ambiant Occlusion)和DFSS(Distance Field Soft Shadow),但是DFGI精度并不能够满足要求,很容易出现漏光和脏的问题,最后UE4用LPV(Light Propagation Volumes)的方案替代了。不过代码并没有删掉(具体可以看UE4中DistanceFieldGlobalIllumination.cpp相关代码),看来又在UE5中捡了起来…
LPV的表现
DFGI的表现
VXGI
VXGI是NVidia推出的一套GI系统,做法就是将整个场景都替换成体素,然后把体素化的场景保存在三维数据结构中(一般是八叉树),然后把直接光照的光照信息写入这个三维数据结构中。然后再用Cone-Traced方法,进行间接光的反弹计算。
该方案同样加入了UE4全家桶:
NVIDIA VXGI in UE4 by Byzantos
https://www.zhihu.com/video/1247119871139278848
其中Cone-Traced是这套算法的核心。基本思想是通过将发散射线的积分空间近似为圆锥形。例如半球近似分割为多个独立的圆锥体:
然后每个圆锥体上单独计算Irradiance的积分,这里又会做一次近似,将圆锥体分割为多个Cube,这样对于八叉树的数据结构的计算会变得非常友好:
每个Cube再单独采集三维数据结构的光照信息。然后多个Cube累积起来,就能够近似获得整个Cone的积分结果。虽然做了比较多的近似,但是效果还是比较好的。
VXGI计算较慢,对于小物体可能会因为体素精度的限制导致RayTracing不精确。因此UE5能够将这些GI方案进行结合,扬长避短,是非常聪明的做法。
Streaming
视频最后有一段视野突进的演示,令人惊艳的是在快速移动中,几乎看不到任何LOD Crack和Popping。但这部分内容与其说是UE5做的好,不如说是索尼的软广……
PS5采用了全新的SSD技术和架构,自带硬件Oodle解压缩。极高的硬盘读取速度,使得游戏在运行时不需要担心IO导致的各种加载问题。这也让UE5Demo中快速运动时,资源能够迅速加载。Streaming真正达到无缝衔接。
不得不让人感叹索尼大法好!也许次世代游戏的表现上限不再是受制于浮点运算能力,而是硬盘带宽。从这一点上来说索尼PS5可能比微软XSX更准确地抓住了问题本质。
其他
关于Virtual Geometry,还有猜测用Displacement或者Tessellation的,但这些都被Brian否掉了。这些技术点就不一一列举了。有兴趣的可以自行查阅。
另外Demo视频中还有UE5的一些新功能,比如Niagara的粒子间通信、场景交互式动画、场景空间音效等等内容,也不一一细说了。
总结
目前来看还不能完全确定Virtualized Geometry的技术方案,很可能是基于Reyes Rendering、Geometry Image等技术衍生而来的方案。而GI的方案基本可以确定是用SSGI、DFGI、VXGI等混合的方案。具体的技术方案,还需要等UE5官方的Tech Report来揭晓。
Introduction to Turing Mesh Shaders https://devblogs.nvidia.com/introduction-turing-mesh-shaders/
Reyes Rendering https://en.wikipedia.org/wiki/Reyes_rendering
Adaptive Virtual Texture Rendering in Far Cry 4 https://www.youtube.com/watch?v=SVPMhGteeuE
Guide to Global Illumination https://forums.unrealengine.com/development-discussion/rendering/39098-guide-to-global-illumination
NVida VXGI https://developer.nvidia.com/nvidia-vxgi 奈何本人没文化,一句“卧槽”走天下。
(知道这只是演示,真做出来在玩家操纵时很难有这水平,但总归先“卧槽”为敬,而且起码未来的游戏过场达到这个水平是完全可以期待的…)
视频里7分45秒开始飞出去那段,太惊艳了!
镜头快速移动,周围的素材完全高模,不带动态模糊!
这种身临其境的视觉震撼力可以说是空前的!
Unreal5的演示可以说是这次世代交替周期中,第一次真正有了“次世代”的实感。
ps. 这次用PS5进行画面演示之后,PS5算是可以缓过一口气来。
虽然并不是真正的实际优势,但毕竟再多的技术参数罗列和再久的发布会,也比不上这么一个演示直观。
然后Epic老总Tim更是开始直球夸奖PS5的架构,为PS5做宣传。
图片来源:游戏时光
虽然是间接宣传,而且虚幻5游戏也会上XSX,而且估计最后也就第一方和极少的第三方有这个实力专门为PS5开发符合特性的游戏,但终究对PS5是一次口碑上的小利好。
另外,这也应该是本次世代交替宣传期间,索软两家第一个不拉胯的正向利好宣传(虽然是间接的
#第一次吃瓜吃到自己头上#
有人私信给我图我才知道的哈哈。
因为本回答开头感叹了句“奈何本人没文化”,结果被某个米哈游玩家群拉去当作“米黑承认自己没文化”的素材。
话说我第一次看图刚看到“米黑”两个字,我第一反应是说我黑小米。
我思来想去最多就是我黑过几句小米笔记本而已,也不参加手机讨论,怎么就米黑了…而且没想通跟这虚幻5有啥关系。
然后才想到,哦还有个米哈游,毕竟提到“米”第一反应真的还是小米,真忘了还有米哈游下面这档子事…
我2个月之前吐槽过米哈游官方出警让主播删微博的回答,可能因此现在被人叫做米黑了…
如何看待3月19日米哈游公关在Zard直播原神时被逼迫其删微博的行为?
还是要讲讲道理。
虚幻5这事全世界范围内都有大量单机玩家和游戏开发者都感到惊艳,而且也不是没有造福手游的可能性。
真没必要因为夸虚幻5演示还嘲讽上知乎了。
虚幻5这个演示确实就是牛逼。
话说大家就各玩各的好不好?
厂商不要公关出警让主播删微博,玩家也别万水千山来挂人还嘲讽知乎。
害,大家手都短一些。能做得到的话对大家都好一些,大家都开心。
当然现在给我带来一早上的笑料我也不反对哈哈。 晚上朋友圈都在刷屏了,但是仔细分析两位的英文字幕能发现有不少想说但是没点明白的东西,比如Casecade到底留不留, Sequencer 未来如何,老项目的BP 怎么助理& 转换,怎么做整体项目的迁移或者是升级(UE3到 UE4 可没这种待遇)。 Tim 的一碗水端平的理念怎么延续到这个不依赖特定规格硬件的光追中。
如果有兴趣可以找个时间818,立个 Flag,看看那些可能是真的,那些是我吹牛。
一句话 Tim SweeneyNB, Epic GamesNB。 我就担心这玩意
讨好了美术,得罪了程序
且拭目以待。 Epic:
围观群众:
当然,还是这个demo确实猛,从光追到SSD的一些演示真的惊艳,看着爽,细琢磨猛。 @Sennett Deng 的回答说的很好,我补充一点点。
因为工作就是做写实CG人物,我看demo的时候对其中角色关注更多,贴一下截屏。
http://pic1.zhimg.com/v2-8fa5fba8346fd86c0e724fc2a324d2cd_r.jpg?source=1940ef5c视频中有面部特写,其实如果想突出不受面数限制的话,次世代人物角色面部也可以有很多高频率细节,增加皮肤质感,都不用上亿,几千万面就完全足够了。环境和实时灯光已经做得这么好,人物不应该成为短板。
所以有可能这个高面数实时渲染只能用在静物上,需要绑定或布料/毛发模拟的模型是不适用的,既然要秀高面数,人物的细节其实可以多很多。
另外高面数不等于不用制作拓扑,只是subdivision高一些,毕竟模型需要有个UV做贴图。照相建模扫描出的模型不清理是没法用的,第一UV空间分配不均匀,第二扫描模型的贴图做不到完全漫反射,总需要涂掉阴影和修复错误映射的部分,第三反光、粗糙等材质贴图还是要手工处理。
高面数的模型文件巨大,即使obj转成drc,一个几亿面的环境也不是闹着玩的,开发时面对这些重资产会不会影响效率?高面数没必要推到这么极端,部分细节烘焙到法线贴图并不费事,毕竟怎么都要拓扑的,只是不像现在那样减面减得心累。
高面数实时渲染并不是UE独创,去年siggraph live上nira.app已经展示了类似的技术,效果非常好,没必要过分大惊小怪。
http://pic4.zhimg.com/v2-b9c6a22fb8515a65f0be684802f74d1d_r.jpg?source=1940ef5c
当然,UE做到如今的效果确实是行业顶尖,很期待新平台上创作出的新作品。
页:
1
[2]