查看原文
其他

VR丨天镜科技靳超:《星尘:机械侵蚀》制作经验分享

2017-07-28 Gad-腾讯游戏开发者平台

靳超:我本人从业已经十几年了,2005年加入搜狐畅游,一待就是11年,基本上一直在做技术方向的工作。2016年我跟王滔、就是畅游的创始人,一起创造了天镜科技来做VR游戏。到现在已经一年多,我们的团队大概有不到20人的样子的规模,目前我们这个团队主要有两个方向,一个就是下面我要介绍的《星尘》的这个系列,是科幻游戏,今天我会介绍一些技术相关的一些经验。另外我们跟中影游、我们的兄弟公司合作的一款武侠VR游戏,这个因为还没有正式公布,所以我没有写在PPT里面,下半年我们就会开始这部作品的研发。


靳超


故事背景


《机械侵蚀》这款游戏我们来做一下简单的介绍一下,故事背景是架空的。我们设定了一个发生在未来的科幻背景,故事发生在我们上一款做《星尘:地球之书》故事之后。经过一场惨烈的宇宙大战,人类居住的地球被外星人给炸毁了了,幸存的人类移居到了外太空,进入星际时代后,后来出现了一种神秘的病毒感染了整个人类,收到感染的人逐渐有变成了机械形态,身体会变得机械化,后来人们发现病毒来源于一个叫伊塔的星球上,一支探险队来到这个星球去探索,他们发现这里的生物都已经开始机械化,然后去探索去生存去发现后面的秘密。


(点击图片,可放大查看)


核心玩法


游戏的核心玩法参考了《怪物猎人》,玩家在VR环境里面和巨大的怪兽来对战。玩家可以单人SOLO,也可以是开放当前的游戏副本,和其他玩家联网合作。游戏的框架是生存游戏,玩家要在这么一个恶劣的外星环境下生存下午。我们会加入很多随机的元素,比如说收集、升级装备、维护基地等。整个游戏的核心乐趣还是围绕者VR FPS,为此我们加入各种很智能的AI来跟大家作战。比如我们这段时间为了实现怪物的从墙上翻过去的操作,我们将AI蓝图几乎拆了个遍,然后我们发现里面有一些非常有意思的一些细节,怎么样把怪物的AI做得非常逼真,这里面有机会我会跟大家再介绍一下。


单人生存和多人协作(点击图片,可放大查看)


其实我们就是一个生存类的单人和多人协作可以同时来玩的游戏。


引擎技术


首先我们用的技术是UNREAL Engine,这里面我也想给大家安一下UNREAL Engine,可能在座的各位可能大部分还是用Unity,但是我确实是建议大家,如果在不考虑移动VR的话,其实用UNREAL,它的效果和上手度,可能比大家想象的都要好。因为大家印象里面,可能UNREAL engine的成本比较高或者比较难,但其实UNREAL现在刚出的4.16,新出的这个功能和应用蓝图已经非常好用了。


另外Substance Designer这样一个PBR的材质工具,也是非常有利于大家的材质制作的,后面我会给大家介绍一下。


SIMPLYGON其实是一款LOD的工具,它现在已经内置到UNREAL擎里面了,可以很容易来生成。以前这是一款非常昂贵的工具,现在针对开发者已经免费了。


Wwise是一款声音引擎。如果大家做PC或者主机上的VR游戏,这个可以说是标配。



经验分享:基础材质库的建立


所以今天我跟大家分享的主要是一个关于PBR材质的一个问题,大家可能经常会听到,很多团队在用PBR材质,像工业光魔这样的公司在做电影的时候也会提到这个概念。究竟PBR材质跟我们传统的这个材质有什么区别?这里先给大家简单介绍一下,如果大家在十年前做过游戏,都会知道,那时候的材质基本上单纯靠美术来画,比如Diffuse、高光贴图、凹凸贴图,这些画都需要美术画出来。画面效果基本上全是来靠美术来调,后来出现了“次世代”这个名词,其实这是个伪概念,那时候的次世代基本上就是把法线做的更细一些,高光做的夸张一些,模型面数增高一些,就叫做次世代了,其实只是一个工作量的问题。但PBR的出现是非常革命化的,首先它是一个特别依赖材质物理属性的全新渲染方式,PBR材质并不是美术做出来的,它是通过物理的参数来算出来的。所以用PBR材质,能很大程度减少对美术的依赖,因为大多数都是物理参数来设计的,更多的是靠你对材质的管理和把握来进行的。


比如说这张图,这是EPIC官方游戏Paragon的材质库,这个材质库里面,基本上囊括了Paragon里面的所有材质,比如金属、皮革、毛发都等等,Paragon模型制作人员在大部分情况下都不需要添加新的材质,从里面上挑一个就可以了。



经验分享:通用金属材质


我们也做了一些类似的工作,比如说我们用得最多的这个材质,叫SimplePaint,这个材质就是我们一个非常典型的用PBR材质技术来做的一个材质层,基本上用这个材质层,可以把大部分我们在游戏中用到硬表面的模型都可以用上。因为我们的游戏里面有大量金属机器,比如飞机、机械这些硬表面的材质。这个材质球首先是分层设计的,每层材质都符合PBR材质规范,每层的材质参数都是统一的,比如说金属度、粗糙度,以及其他的一些属性。比如说右边这个的模型,它基本是有玻璃金属和涂漆的金属,这样的几部分组成的。我们这个材质球最多可以支持八个层,其中 Background是它的基础层,然后Layer2、Layer3、4、5、6,加上Background,再加上几个特殊层,比如贴花层、脏迹层,还有划痕层。


(点击图片,可放大查看)


这里介绍一下脏迹层,如果你仔细看一下我给的截图,会发现金属的表面,除了我们看到的那种亮亮反光,它还有一些污渍、油渍或者氧化物这些东西,因为金属它放时间长之后,表面的反光不是那么均匀的,这是脏迹层,这在以前的非PBR渲染模式中是很难做出来的。


还有划痕层,一般出现在金属弯曲的地方,非常容易产生磨损,以前我们在用传统的方法来做模型的时候,所有这些细节都是要美术来一笔一笔画出来的。而现在用PBR材质工具Substance Designer则非常容易实现,这些细节是程序根据模型数据自动生成出来的。


另外几个参数像贴画层和自发光层,这个很好理解,都是以前用的技术。


(点击图片,可放大查看)


还有一些数据是描述怎么把Designer里面生成的的数据导进来,我们设定了一些叫Model Inputs这些层,比如说具体哪个通道来放哪个东西,每个层都有个MASK,就是说这模型哪些区域是Layer 1的,哪些区域是Layer 2的,把这些数据全放在Detail MASK数据里面,这些数据同样也是用Detail Designer来生成的。比如说像自发光层这些,全是在这里面(SmartPXXX02)生成的。


还有些LOD层,来控制金属具体的表现细节。


(点击图片,可放大查看)


最终模型在游戏里面的效果是非常漂亮的,但它用到的运行时贴图非常少,基本上就是些很通用的一些纹理组合起来,在游戏里就会渲染出来。



经验分享:使用材质烘焙进一步塌陷材质


以上这种材质唯一的缺点,就是它的材质函数非常复杂,所以我们后面会用到一些塌陷的方式,来生成一些更简化的材质层。比如说像这就是我刚才说的材质的一个蓝图,这个蓝图看起来好像就是这么几个节点,但是如果每个节点展开都是非常复杂的一个材质函数,所以整个材质球的复杂度是非常可怕的。


如果你在游戏里面用到这样的材质层,那就基本上就不可能再做其他的附加功能了,所以这种材质球基本上是在开发状态才会用到。在发行状态,为了优化,我们可能要做一些塌陷,比如说我要把那些纹理合并到一张纹理上,这样材质层可以缩小到在最小的规模上,然后我们就会有空间再做一些跟场景相关的技术。


(点击图片,可放大查看)


比如说我这里面,有一个场景是雪地,雪地有一个要求,就是说模型放在雪地里面,上面会有一些积雪,雪会落在模型上面。其他的如沙地、沙漠也有类似的需求,比如我在沙漠里放的模型,在模型的表面是有一层沙子堆在上面的,而雪地上面要堆一些雪。其实把这些本身并不复杂,需要用一些堆雪的法线来计算这种方法来实现,但是不可能每一个材质都这么计算,所以我们就用到了刚才说的这种塌陷的方式,把刚才那几个复杂的材质启用到塌陷的纹理面,然后再把雪的函数加上,材质层的复杂程度就得到了一个很有效的控制。


基本上这就是我们后面做的效果,把雪直接落在这个上面,这(下面)是堆雪的函数,把堆雪的函数放在这儿,再烘焙出来,这是最终的材质层,就是说我把烘焙出来的纹理再加上。堆雪函数就变成了这种效果。整个这里面的材质层,它足够在那些主机比如PS4上跑得非常快。


(点击图片,可放大查看)


(点击图片,可放大查看)


正在研发中的场景


这是我们正在做的几个场景中的截图吧,这个(左上)是一个山洞,这里面用到了AO和石头的渲染;这(左下)是我们做的残骸区,一些功能区,沙漠区,这是我们的雪地但是雪地暂时先停掉了,专心想把一个场景先做好。这个场景基本上由山洞部分和室外部分组成。


这(右边)是我们在做的一些模型,这里边有一些实现了,比如说我们把这个晶蜂做出来了。但是我们现在最主要是把精力放在了机械的模型上面,因为它更容易展现出一些比较适合的动作。



以往作品


简单介绍一下我们去年做的游戏《地球之书》,这款游戏其实是一个非常简单的射击游戏,这款游戏已经上Steam,但是我本人并不是太满意,它只是一个射击游戏,大家可以玩一下,感受一下这个所谓的宇宙的环境就足够了。玩法我们就没有太多的深入来做一些细化,我们可能把最主要的精力还是放在刚才所说的生存的这款游戏,以及我刚才说的新的武侠VR上面。


(点击图片,可放大查看)


刚才几位大佬已经说过了,VR团队坚持到现在其实都是很不容易的,从去年、前年的火爆,到今年突然来临的寒冬,这种大起大落很多团队都没有熬过去。我的观点是如果团队要活下去,最重要就是初心不能忘,不管你做什么,你对它如果没有兴趣就不要再做了。另外一个团队要养活自己,要想各种办法让自己这个团队有钱继续运转下去。比如我们这次最重要的跟兄弟公司中影游的这次IP联动,后面就还会有一些大的动作来支撑我们。


我们会把比如刚才的一些开放的技术放在我们公司的开源github上面,大家感兴趣的话可以关注下我们的官网(www.skylens.com),好,谢谢大家。



今日推荐


光和数字:VR作品并不是做的越真就越有趣

《幸运之夜:德州扑克VR》开发笔记: 2张扑克牌与3个层次


添加小编微信,可享双重福利

1.加入GAD游戏VR交流圈

获取行业干货资讯,观看大牛分享直播

2.领取GAD独家VR资料库,地址在小编朋友圈

包括研究报告、游戏制作、项目分享等全套资料


↓长按添加小编GAD-安琪↓

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存