渲染器如vray等和游戏引擎如虚幻4等在渲染原理上有什么不同?为何建筑渲染不用又快又好的游戏引擎渲染?
渲染器如vray等和游戏引擎如虚幻4等在渲染原理上有什么不同?为何建筑渲染不用又快又好的游戏引擎渲染? 几个相关问题里有很多做游戏和图形学的大大的回答,讲的很深入。我从建筑系学生的视角讲一讲吧。为什么Unreal 4引擎能轻易实时渲染出vray要花半天才能渲染出的场景? - 建筑设计
为何大部分3D渲染程序渲染1帧图像需几分钟甚至几小时,而同样大小的图像游戏引擎能做到30+FPS实时渲染效率? - 计算机
用游戏引擎制作室内效果模拟是否有前景并值得一试? - 设计
1. 原理区别
VRay等渲染器原理上叫做离线渲染(Offline Rendering, Pre-Rendering),游戏引擎的渲染原理叫在线渲染或者实时渲染(Online Rendering, Real-time Rendering)。后者对性能的要求比较高,游戏里面一般60fps,至少30fps,也就是说十几毫秒一帧。但要是用离线渲染的话就无所谓咯,据说weta的renderfarm有4000个CPU,渲一个电影半年吧。离线渲染对效果要求非常高,养了那么多R&D,恨不得做个电影都自己写个渲染器。而实时渲染就是在性能预算下,尽可能做到真实。
总结一下,
VRay这类的目的是是保证效果的前提下,尽可能减少成本,也可能不计成本。Unreal渲染的目的是性能保证的前提下,尽可能模拟真实性。
再深入来说就是游戏引擎用了不少小trick来达到这样的目的。比如一个差距在全局照明(Global illumination),大意就是物体不仅被光源照亮,还能被被光源照亮的物体照亮。比如左图后墙发绿,就是接收了右侧看不到的这面墙漫反射的绿光。在VRay里面可以轻易实现GI,它用的光线追踪(Ray Tracing)就是在模拟反射光线。游戏引擎里呢,一般没法做到实时GI,不能每一帧都光线追踪一次吧,那样帧率很难达标。当然目前的趋势有在研究实时光线追踪,但是通用的替代方案是预先计算和存储一些光线的信息,比如烘焙光照贴图这种。Unity里用LightProbe解决。Unreal有一个VXGI的实时GI,算是不小的进步。但无论如何,真实性肯定比不上离线渲染的GI。做到何种效果就能欺骗人眼了,这就是另一个问题了。
实时渲染预先计算的话,也要耗费一定时间,不一定比离线快。好处是预先计算完就可以随便选角度导出了,而离线渲染意味着每个角度都要再渲一遍。
还有其他很多trick比如各种环境光阻塞(AmbientOcclusion)快速算法等等就不一一细说了,怕露怯。
但是有很多Unreal做的效果很真实啊,比如 @韩世麟韩神的文章这不是真的!This is Unreal!笔者认为有几点原因
建筑效果图不涉及实时渲染的一些弱点,比如毛发实时渲染和硬件技术进展的很快,比如正在普及的一类基于物理的光照模型和PBR流程,对于建筑效果图中常见的这些硬质表面已经可以模拟的很好很快。没有对比就没有伤害,光看游戏引擎效果不对比离线渲染普通人看不出差距。作者美术水平比较高。用游戏引擎做成这种水平,用VRay做这就是下限了。
(图片来自老韩的博客)
实时渲染技术进步还是很快的。比如Unity在GDC2016上的Unity Adam demo,比如《神秘海域4》这张图,Elena Fisher的特写。虽然头发还是有一点细微的贴图感。神海4基本代表了现在实时渲染在商业游戏中的最高水准了。
2. 有无必要
笔者觉得,就效果上来说,用游戏引擎足够了。
但这并不意味着建筑效果图要用渲染的方式做。
其实现在大部分建筑效果用的技法是Matte Painting,最早来自于摄影后来在电影工业中的一种做场景的常用技法。
早期技法,前景画到玻璃上再拍摄。
电影中合成的自由女神。
比如看建筑效果图下面几种流派:照片级渲染派,简单渲染主要靠后期派和强行PS派。
第一张来自MIR,第二张是Doug&Wolf,第三张出处不明。
越靠后的图,需要的渲染越少,相应PS工作量也越大。但无论如何,各种配景:人,车,周边建筑,山水都可以用Matte Painting的技法解决。
后两种的风格在学生中广为流行。在学校里面学院派的老师可能还会觉得前两种商业味太重,更喜欢第三张这个风格呢。第一张那种商业效果图公司才会做,以及一般室内设计的效果图也是类似的比较依赖渲染,偶尔用用合成。
对学生和业余做建筑表现的从业人员来说,Matte Painting的技法足够了,而且容易,效率更高。用这种技法呢,甚至都不用掌握太多VRay的技巧,看过不少建筑效果图渲染都不用做反射贴图,简单赋上Diffuse调一下反射材质和打光就开始渲染,出几个通道,大量的工作是放到PS里合成。
效果是一方面,方不方便也很重要。用这种工作流的话,只是使用了渲染器的基础功能,并不需要离线渲染做的出来而游戏引擎达不到的效果。游戏引擎虽然渲染比较快,但问题是这样把工作流程搞复杂了,和建模软件的衔接做的不好,所以导入引擎不如直接在建模软件里渲染了,如果在建模软件里有一个快速的渲染模块,那就更没什么差距了。
3. 什么情况下才会用到游戏引擎
静帧和动画在现有条件下,对一般学生来说,无论是方案迭代还是最终表现时,笔者认为还没什么必要用游戏引擎。现有VRay+SU/Rhino就够了。同样一套模型和贴图,放到游戏引擎里可不一定比用VRay渲染效果更好。瓶颈在于美术水平,而不是工具。如果追求迭代快的话,也有一些快速的渲染器可以选择。如果是为了追求游戏引擎中的可编程渲染管线,自己写Shader,那Rhino和SU还真可以有这么一套渲染插件。对效果图公司,3DSMAX + VRay的工作流已经很成熟了,用户多,资源多。找熟悉游戏引擎的使用者成本也比较高。短期内还很难动摇VRay在效果图中的地位。
(插一句题外话,说到可编程渲染管线这个事,我还真觉得在建筑学里有意义。像一些分析图的风格,是不是直接可以用Shader写出来,不用搞到PS里后期拼合,可以极大地加快分析图的制作速度。)
用游戏引擎除非需要实时交互的效果,比如VR/AR。但目前的问题是制作成本很高,需求比较少。市场方面的事就不细谈了,毕竟不是相关从业者,还是说说技术。
对于建筑系的学生,想去做交互效果的话,技术上还需要再学习不少。做VR帧率是瓶颈,最少60fps,最好120fps。这就要用实时渲染的技术,用游戏引擎的平台,强行优化美术资源。
再有因为要交互,要漫游。而Matte Painting的技法只能在特定视角使用。那些资源,植被,配景建筑,山石地形,飞禽走兽,行人车马,就都做成模型导到引擎里。这些玩意可以用Procedural的方法做,或者ZBrush捏。一些特效,流水天空等等,可以用粒子系统做。但有时粒子系统太费资源,那就要写Shader了。对建筑表现不本质还很浪费时间。
做贴图又是很麻烦的事,游戏引擎比如UE/U3D里用PBR工作流。凹凸不能用高度贴图要用法线贴图,Metal/Roughness或者Specular/Glossiniss都要普及PBR基本概念。可以用Substance工具包做,但美术还是经常做错的。
场景里没有动物人物,死气沉沉的,还得建模角色绑动作以及优化动作。
万一资源多了面数太高,draw call太多帧率提不上去。这就要优化模型。做LOD,远处用低模;合并模型做材质atlas;面数太高烘法线贴图代替;植被高模用面片代替。
等你做到这再这回头一看,这特喵的不就是在做游戏嘛。当然到了那个时候,游戏行业欢迎你:)
表现媒介的改变会带来行业的变革,就像布鲁内莱斯基发明建筑投影图。但毕竟表现仅仅是建筑设计的一小部分内容。而且设计院里建筑表现很多情况下都是分包的,不是建筑师的核心竞争力。君不见还有好多喜欢做手工模型推敲的建筑师,讲真那个空间氛围的感觉确实比效果图好。要是和习惯了实体模型的建筑师讲,我的渲染是基于物理的渲染!他们大概也就是“哦”一下吧。VR/AR或许会取代实体模型,现在说谁知道呢。
笔者对建筑和游戏都是略懂皮毛,如有讲的不专业的地方,还请指正。
以上。 游戏引擎实现的渲染效果很多都是一下trick的技巧,根本不是基于物理模型的。简单的说就是用一些奇奇怪怪的方法骗过你的眼睛,比如做镜面反射需要用到Cubemap,但这不是一个物理模型,只是一个trick,真实的镜面反射需要老老实实的做ray tracing.
而建筑渲染讲究的是物理模型,我这种材质是什么物理模型,反射率多少,透光率多少。只要真实的数据一输入,就能达到所要的物理渲染效果。所谓的数据输入与渲染结果的一致性。 前一个问题大家都说了,我就说说后一个问题吧。
因为换了几个公司的原因,游戏引擎和建筑vr渲染我都有比较深度的去使用,从工作流程上来说应用游戏引擎在画建筑效果图很麻烦。首先,大家第一步都是先开始建模,建好模型后两者就有区分了,vr方面建模师可以直接拿模型文件给渲染师和后期,材质一般通用,基本上简单改改就可以出效果;但是游戏引擎的话需要把模型导出成引擎识别的文件,需要达到的效果还需要程序去开发,材质不容易调整,不是加张法线贴图和高光贴图就可以一锤定音的,场景做完然后还需要程序封包,然后再发给客户,从发给客户的文件大小来说,一般游戏引擎来做的话得有一个G以上吧,vr的话一般几兆就完事。从最终结果来看,客户需要的只是一张效果图或动画,不需要3D模型和贴图,而游戏引擎的话则是把整个工程文件打包给客户,客户的机器配置决定了模型和贴图的质量是要高还是低。
然后再说说甲方修改吧,用游戏引擎的话...........大家一起死吧 最近接触了一个项目,最后不欢而散。
对方一开始拿着sketchup出的模型图片(没渲染)当示意图片,说开发个交互demo,模型做到这样就可以,然后他们导入到unity里去做后续工作。
用sketchup做好了。对方看了之后,要改建筑使用功能。
改好了,又嫌不真实。拿了VRay渲的效果图来,说要做成这样。
告知对方,静桢或者动画,都可以实现。但是,交互得上unity,我是做不出sketchup+vray的样子。
双方问题的根源在于,做3dsmax+vray渲染的人,跟游戏开发的人,彼此理解的内容不一样。
我以为对方要的是白模,结果对方要的是拿到unity里,配个程序员就直接能用的现成场景。这之间还差着不只一个美工呢。 游戏引擎是即时渲染,vr,mr之类的是post渲染;
游戏引擎的即时渲染效果在现在为止还是没法跟vr,mr的渲染相提并论的。
合金装备系列游戏的过场动画都是用的即时渲染,最终幻想、暗黑破坏神之类的游戏过场动画是post渲染,可以很明显的看出,就算是最新出的合金装备5的过场动画都远远不如十多年前的最终幻想 暗黑过场动画精美。
当然,即时渲染也有自己的优点:
1,速度快
2,用户可以交互。
最近确实有很多建筑表现公司用游戏引擎来做可以交互的虚拟现实。 完全看项目需求。地产实时渲染相对于离线渲染
优势:1、可实时修改;
2、具备互动功能;
3、可连接外部数据
4、通过vr设备获得较好的vr体验
劣势:1、美术资源制作要求成倍提高(布线、uv、材质等要求完全不同)
2、对播放设备性能要求较高,软件有稳定性要求,因为是运行一个程序,而不是播放视频或图片。侧面对场景优化要求也较高。
3、对开发人员要求较高。不能交互的地产实时渲染是没有较大价值的。这就要求开发人员中要有一定数量的程序员,至少能基于游戏引擎编写简单的交互逻辑。
4、以上3点带来的直接结果就是成本高、售价高,那么用户或者甲方是否愿意买单成了一个关键问题,直接导致了这个项目是否适合用实时渲染做问题。
面对市场做开发不同于闷头搞学术,一切得根据现实条件而定。 两个渲染方式从基本就有差异,想了解可以查阅资料…回答下第二个问题,资源教材数量差异,还有现在很多表现公司开始使用游戏引擎了 现在很多表现公司开始使用游戏引擎了
页:
[1]