3DCAT 二维码

扫一扫 立即咨询

行业资讯

用UE4做个可视化软件简单吗?需要做些什么?

2020-06-05

文章授权转自公众号@余的ArchiCG 作者:余德杰

UE4虚幻引擎_3dcats实时渲染云平台

大家好,好久好久不见!

最近,有国内团队通过模改UE4的部分功能做了个软件,他们在UE4渲染模块的基础上自行定制了专门的渲染管线,还花了九牛二虎之力搭建了自己的编辑器,开发了自己的工作流程,得到了全球越来越多的用户肯定,引来了不少的注意,其中还有不少是开发者模改UE4又一次提起大家的兴趣,UE4那么好,是不是稍微改改就能变成自己的软件呢?看大神作品那么好,是不是在UE的基础上堆些素材,就能直接变现呢?

UE4虚幻引擎变现图_3dcats实时渲染云平台

但也有用户提出了自己的顾虑:使用UE4会有怎样的法律风险,又如何规避?

使用UE4虚幻引擎是否有法律风险_3dcats实时渲染云平台

所以说到底,想用UE4做个软件,我们为什么用,到底需要做些什么、需要注意什么,下面用我的浅见为大家解答一下这些疑问,大佬神仙们请略过。

1.用UE4的好处

先来谈谈好处,首先当然就是逼真的画面了。当看到用UE4制作的惊艳作品后,不少人觉得这就是能为行业带来革命的工具,有人心里还萌生了改变世界的念头。

UE4虚幻引擎渲染场景_3dcats实时渲染云平台

基于物理的材质、灯光、功能完善优秀的后处理等等,这些好处就不一一再述了,之前我也写过文章展开浅谈过这些,感兴趣的各位不妨翻一翻我号里的老文章。

市面上不缺画面技术牛逼爆炸的游戏,但一般人能接触到的且画面又好的游戏引擎,UE4应该是数一数二的,更重要的是,epic还让UE4开源了,拜读(bái piáo)它的成本很低,如果需要一些特别的效果,自己刨刨论文看看算法,也能在UE的源码基础上改出来。不像有些游戏引擎,渲染等模块都是黑盒,改造空间不大,有些时候空有想法而无法实现,我现在工作参与的项目就有类似的情况,让人头疼。

UE4虚幻引擎_3dcats实时渲染云平台

2.一些额外的工作

UE4的画面好是毫无疑问的,它的技术演示总是引领潮流,引来万吨关注。那么,UE4是否已经涵盖我所有渲染相关的要求?

以如今的硬件水平看,如果更侧重高度的实时性、可交互性,愿意牺牲一些真实性,那自带的渲染应该是可以满足绝大部分需求,不少艺术家用它做快速关卡设计,在很短的时间内就用素材堆砌出高质量的场景,可见软件的技术是过硬的。

若是更在意输出高质量的静帧甚至是动画,那可能还需要一些额外的工作。有些还没深入使用过UE4的人,在看完大神逼真的作品以后,以为用了UE4的画面就理所当然那样好,其实他们不知道,这逼真的背后,需要付出什么样的制作代价。

下图截自UE4Arch的免费场景
![UE4虚幻引擎免费场景_3dcats实时渲染云平台](//images.ctfassets.net/9mecqqv7b7b2/VLRgTGGCIpn0FiqnU40JC/494fdce66db1bb610e96314d35e7f097/20200604_181558_001.jpg)

使用过自带截图功能的人应该注意到,得到的图片总有一些锯齿,甚至还不如引擎里实时看到的效果,因为在它的High Resolution Screenshot功能仅仅是把当前的一帧截了下来,并没有做额外的抗锯齿处理,甚至还没有好好利用上TAA的历史,所以比实时渲染还更逊色就可以理解了。

UE4虚幻引擎渲染灯光效果_3dcats实时渲染云平台

输出高分辨率再压缩成低分辨率,可以一定程度上缓解锯齿问题,相当于超采样。但是自带的功能,由于没有做拆分和拼接处理,如果直接6k甚至8k地截图,就会引起崩溃,连截图界面都已经给出高分辨率会引起崩溃的警告,毕竟人家也没想着你用它出图。

UE4虚幻引擎设置_3dcats实时渲染云平台

其实在引擎里把图拆成多块渲染,并不是什么困难的事情,但凡有点工程能力的团队都能做到,如果需要高分辨率输出,自己做一个便是。但有聪明的团队想到了歪点子,由于自己实在是不会做拆分渲染和拼接,于是盯上了Ansel,它是一款由英伟达提供的免费游戏截图工具,可以截取超高分辨率的单帧和全景图,它的实现思路也是拼接。

下图截自英伟达官网
![UE4虚幻引擎-英伟达官网_3dcats实时渲染云平台](//images.ctfassets.net/9mecqqv7b7b2/53H3GXXEcfSFa3uvks71EE/fe360b05db9c819635193042f401e747/20200604_181558_003.jpg)

由于Ansel天然支持UE4,所以UE4里用Ansel截图,简直就像在键盘上点一下按键Print-Screen给桌面截图一样的简单方便。技术不够,Ansel来凑,本来是一件值得称赞的事情,但如果有团队把它变为自己的收费项目,那简直太过于不要脸了,这种邪恶又愚蠢的事情,恐怕没有人会做。

除了清晰平滑的画面,高品质的输出当然也少不了逼真的光照。UE4的Lightmass提供了逼真的间接照明效果,需要用户预先拆分模型UV,然后在UE4编辑器内进行烘焙,最终得到高质量的实时效果。 UE4虚幻引擎-Lightmass烘焙功能_3dcats实时渲染云平台

但打包好的工程是不包含Lightmass烘焙功能的,因为它属于编辑器功能,所以不能在自己的软件里烘焙Lightmass。如果想使用烘焙功能,只能自己整合第三方的烘焙工具。

除了选择流程相对繁琐的烘焙,还可以用实时光线跟踪,她有多好就不展开说了,之前的文章已经讲过。UE4自身已经整合了基于dxr的光线跟踪,已经包含不少功能,但如果想直接搬进自己的软件里用,那你可能想多了。

这里不再谈GI的精度、反射里的GI等等,之前的文章已经说过。这次讲一下自带的光线跟踪和各种效果的兼容问题。材质顶点动画是应用非常广泛的技术,由于它在顶点着色器完成计算,不依赖于CPU,所以能完成数量庞大、复杂的顶点运动,比如大量植被在风中摇摆的效果,水面起伏的效果等等。很遗憾,现在自带的光线跟踪是不支持顶点变化的,就像下面的动图那样,树在摇摆,而树的光线跟踪阴影却是固定不动的。 2UE4虚幻引擎-实时光线追踪_3dcats实时渲染云平台

可能有人觉得上面的树还能忍,那只是因为图太小。看下面的动图,三个金属球的运动是在材质顶点里完成的,可以看到球的阴影根本没有跟着球动,甚至在背后的墙上看到黑块,就像是烘焙过一样。 UE4虚幻引擎-材质顶点动画_3dcats实时渲染云平台

其实原因也很容易猜到,顶点动画是在顶点着色器完成的,是光栅化管线的重要一环,而光线跟踪拿到的,仅仅是带了位置旋转缩放的网格,她完全不知道顶点着色器做了什么。如果要让顶点运动被正确识别,就需要在构建bvh之前,把顶点计算应用到网格上,这还涉及到每帧重新构建带来的效率问题,绝不是一件易事。 UE4虚幻引擎-光栅化_3dcats实时渲染云平台

在场景中散布成千上万棵树,远处树木会加载低精度的LOD,大幅降低计算负担,这在光栅化管线里再正常不过。但引入光线跟踪后,事情就变得没那么简单了。由于LOD0以外的部分不参与自带的光线跟踪计算,远处的物体均不能正确渲染。显然,如果不自行解决这个问题,植被就没戏了。 UE4虚幻引擎-顶点动画_3dcats实时渲染云平台

就算是理所当然的置换,也不是那么的理所当然,它有着和顶点动画一样的问题,显然也不能正常使用。 UE4虚幻引擎-顶点动画_3dcats实时渲染云平台

除了以上提到的,还有不少大小问题需要处理,工作量自然不少。记得之前有团队大肆宣传自己支持光线跟踪,还以此为收费的重量级元素,价格不菲,后来却沦为几乎免费的功能,想必和这些问题也有联系。 UE4虚幻引擎-顶点动画_3dcats实时渲染云平台

看到这里,自然有人想问,是不是UE5出来以后这些问题都将被解决?到时候好好学习(bái piáo)就可以了?

前些天,UE5的演示视频引爆游戏和CG圈,引来一百万吨的关注。Lumen技术带来了前所未有的纯动态实时全局光照,着实惊艳无比,让人不由得浮想联翩,它是一套使用了体素+距离场+屏幕空间的混合方案,具有很好的硬件兼容性,不得不说是一次很大的飞跃。演示中到处都是几何形体精细复杂的静态石头,却没有出现动态植被、镜子之类的物体,细心一想也能大致猜到原因,距离场如何高效应对复杂多变的顶点动画,如何计算镜面中的全局光,应该都不是简单的问题。若是想用在高质量3d可视化上,应该还有很长的路要走,额外的工作量自然也少不了。

下图截自Epic官网
![UE4虚幻引擎-Epic官网图片_3dcats实时渲染云平台](//images.ctfassets.net/9mecqqv7b7b2/4Y4O5PpUaGhvs4mpJHEEyu/8041090ac295b08779062cb7f849d93d/20200604_181558_008.jpg)

3.法律风险和收益分成

使用UE4提供的源码,就必须遵守它的EULA,这是作为开发者应有的基本意识,这既是对开发者自己负责,更是对用户群负责,蔑视EULA,无异于拿用户利益当玩笑。如果有人一边谈着情怀,一边背地里干着见不得人的事情,那它真的就是过街老鼠。

使用UE4源码二次开发,到底需要注意哪些地方?下面贴个官方地址 UE4虚幻引擎-官方网址_3dcats实时渲染云平台 https://www.unrealengine.com/en-US/eula/publishing

无非就是哪些事情不能做以及怎么分钱的问题。UE4虽然给了完整的源码,但并不意味着全部都能用于发布产品。

条款阐述了许可授予的相关问题,其中明确规定了发布的产品中不能包含引擎内容和未经过打包的付费内容。

UE4虚幻引擎-法律条款_3dcats实时渲染云平台

什么是引擎内容?就是UE4编辑器相关的各种工具,小到移动旋转缩放轴,大到刷草刷树的地形编辑工具,这些代码都不能打进自己的项目里。这就意味着,如果想要刷树的功能,就只能自己做,如果想要移动缩放物体,就只能自己做交互,看到这,是不是感觉这额外的工作量还不少呢?直接拿来用虽然可以省掉一吨开发成本,但也要有那个胆子才行。如果有软件的目录里有下图那样的一堆文件夹,说明他明目张胆地剽窃UE的编辑器代码,甚至蠢到还不知道混淆一下代码。如果它被追究法律责任,用户的利益将受到威胁,花的钱将会打水漂,显然是邪恶又愚蠢的行为。

UE4虚幻引擎-法律条款_3dcats实时渲染云平台

什么是未经过打包的付费内容?付费内容是从市场花钱购买的插件或工具,如果未经打包就发布到产品中,就相当于你买了一个模型以后直接发到网上,别人可以免费拷走,侵犯了作者的利益,当然也是不允许的。

如果你已经用UE4源码模改出自己的项目,就不能以源码形式再许可给其他用户,只要包含UE4源码的部分都是不允许的。

关于收益分成,赚了钱且超过一定数额,当然要分给Epic,具体条款网站里已经说的很清楚,一般小团队赚的钱少,可能一分钱也不用交,还是很友好的。但如果你满足条件又不交钱,Epic有每季度收取2%滞纳金的权利,自己还将面临各种赔偿,怎么说都是件不划算的事情 除了上述部分以外,还有一些限制,想更具体了解可以仔细研读官方的协议。

作为尊重商业规则和知识产权的开发者,为了自己的利益,为了用户的利益,为了其他开发者的利益,为了不给圈子抹黑,请自觉遵守EULA。 作为用户,应该有意识地保护自己的合法权益,在选择和购买软件时,尽量做到火眼金睛,别被傻乎乎地骗到坑里去。