导言:大家好,我叫郑志忱,专业从事古建复原、建筑漫游和各类虚拟现实仿真开发方面的工作。今天我给大家带来一篇林中小别墅的虚拟漫游的制作教程。这个漫游是使用Unreal Engine4制作的,希望对对UE4感兴趣的同学有一定的帮助。
我们都知道,自从今年4月Epic在GDC大会上发布了新版的Unreal Engine4后,UE4马上便以远超UDK的优质画面表现力让人感到惊艳和震惊。其中对室内环境的表现甚至已经赶上了传统的VRay渲染效果。但我们都知道,从UDK时代开始,虚幻系列引擎对大面积室外景观的表现都比较欠缺,这也是它和竞争对手Cryengine相比经常被人诟病的地方,而这次在官方提供的官方示范场景中,也没有树林之类的自然风景的地图(看来Epic也有自知之明,在有意回避自己的弱项),那么UE4在室外景观的表现上到底有多少提高呢?怀着这个疑问,我制作了这个测试作品,希望能抛砖引玉,和大家多做交流。
因为工作时间比较忙,所以选择了一个较小的别墅建筑作为表现主体,他周围的环境设计为一片松树林,因为主要的测试目的是室外环境,室内的布置就比较简单,几乎没有什么家具(也因为实在没时间制作家具模型),请大家谅解,对室内制作感兴趣的同学直接下载官网示例文件研究学习即可。那么请大家先来看一下主要效果。
下面是两段视频链接,因为我的电脑配置限制,录屏的时候有丢帧现象,视频有卡顿现象,实际上实机运行还是很流畅的。
UE4漫游__matinee镜头动画
[flash]http://player.youku.com/player.php/sid/XODExMjU2Njg4/v.swf[/flash]
UE4 漫游录屏
[flash]http://player.youku.com/player.php/sid/XODExMTExOTUy/v.swf[/flash]
制作建筑模型
下面我们开始讲解制作过程,首先是建筑模型,同样因为要赶时间,所以我没有从头建模,而是使用了Evermotion.Archmodels系列中的一个效果图的模型,如图。
但要注意,因为原模型是效果图模型,有很多不规范的地方,面数也偏多,在使用前必须按照虚拟现实的模型规范进行修改,进行减面工作。
如下图所示是减面前和减面后的模型对比:
减面前的原模型
减面后的模型
需要说明的是,现在引擎的性能越来越好,对面数的支持越来越多,对于这样的小场景来说,也许不用那么严格地删那几个面,但笔者已经养成职业习惯了,成了强迫症,呵呵。
材质贴图
贴图方面也不用多说,因为不是游戏而是建筑场景表现,所以贴图不用怎么画,直接用原文件中的贴图素材就够了(主要都是平铺贴图,和效果图的贴图规范差不多),但基本上都要用PS插件转normal贴图,以增加真实凹凸效果。以下是材质的颜色贴图和法线贴图。
这里需要说明的是,尽管UE4宣传的是已经实现了实时全局光照,但如果想取得好的效果的话,还是需要烘焙的,这也是虚幻引擎的一个无奈吧。既然需要烘焙,那就需要给模型分第二套灯光贴图的UV了。
下面是同一个模型的两套UV的对比。
文件输出与UE4界面
模型都准备好后就可以输出了,UE4已经可以直接导入fbx文件了,而不用像UDK那样用插件导出ase文件。而且UE4也支持单文件存储,不管是模型还是贴图,都可以存为一个文件,而不用像UDK那样所有的素材都存在一个庞大的UPK包里,这也是很让人惊喜的一点。
打开UE4,新建一个project,可以存储在电脑的任意路径下,这点和unity类似,也是一大进步。
UE4的editor界面虽然和UDK相比在外观上有很大不同,但其实架构更加合理了,稍微熟悉游戏引擎的工作流程的人都可以很快上手,说到底就是工作视图、工程目录列表、地图元素列表、属性面板这几大块,同样和unity差不多,所以说不同引擎的基础架构和流程还是很相似的。
导入部分很简单,和UDK完全一样,导入后将模型一一拖入一个新建的level中摆放即可。
Shader制作
UE4最大的亮点是真实的物理属性材质pbr(physically based render)shader,这在游戏的材质制作上是一个突破,以后的游戏会更侧重于像影视动画那样按不同的材料,比如金属、木头等来划分材质球,而不是像现在这样一个模型对应一张贴图。这样游戏的材质会更加真实,能有不输于动画渲染的效果。下面是我几个主要材质类型的节点图。
植被制作
接下来到最关键的室外部分,其中重点当然是植被的制作。这也是虚幻引擎的传统弱项。
为了使环境风格更为统一,我并没有用太多的树。我把这个别墅的环境放置在类似北欧那样的高纬度环境中,所以周围放置了一片松林,夹杂了别的一两种乔木和灌木。制作方法肯定是面片+透贴为主。以下是主要树木的素模和带贴图的效果。
下面是导入引擎后的植被效果。其中在制作草地的时候遇到了一点麻烦,因为我不想像一般游戏那样只是点缀性的放几棵草,而是试图尽量做出真实的茂密草丛的感觉,所以一开始当用最常用的垂直放置面片的方法的时候,效果并不理想。因为面片背面背光,当从一个方向观看时,草地显得比较黑暗。因为UE现在并不像CE那样有植物背面颜色的材质选项,我试过连接一个色值在材质的自发光槽上,但是效果不理想,草的颜色会发灰发飘,变成灰白色。后来我只好像真实的草一样,把面片向上旋转一定的角度,所有的草叶都变成正面朝上受光,这才解决这个问题。希望UE尽快像CE那样完善植被系统。
接着是加入池塘的水面,以下是我的水面shader节点图。
布光小技巧
最后是布光,布光的技巧其实一直都没怎么变,不管在什么软件中都差不多。室外部分打一个key light,再配合lightmass的GI就差不多了,但室内部分可能过于黑暗,需要手动补光。技巧和传统的VRay打灯技巧差不多,我在靠近门窗的部分用射灯加强了室外天光散射的效果,如图。
灯光构建
所有都做完后,只剩最后一步了,灯光构建。这是个很痛苦也没办法的事,UE4还是没有像CE那样,做到完全的实时光照,尽管这是为了追求更高的画面效果,但确实牺牲了工作效率。测试烘焙的话大家可以选择preview模式,最终效果的话就要选择production模式,场景稍微复杂一点的话,时间就很长,但没办法,只有耐心等着了。
漫长的烘焙时间之后,我们看到UE的效果还是不错的,UDK经常有一些黑色的色块,与之相比UE4就干净多了,这就使UE4有了除游戏外在其他领域应用的可能,比如建筑漫游等等。如果大家觉得哪里效果还是不够好的话,可以提高该模型的灯光贴图分辨率或是它的灯光贴图UV面积利用率。一般来说就可以了。
结语:因为工作繁忙,所以这个树林小别墅的教程制作时间很仓促,效果还有很大的提升空间。只是希望能起到抛砖引玉的作用,能促进UE4这款软件在建筑景观上的应用。大家有什么问题、建议和批评指正都可以发邮件到我的邮箱734211094@qq.com。谢谢观看!