FOX ENGINE中高超技术(1)

Fox Engine是为合金装备最新作,《合金装备5:幻痛》开发的游戏引擎,其中作为开发组,他们负责的任务包括:开放世界、时间与天气变换、照片级真实的游戏品质以及多平台对应。

“通过以前方法的保留,技术的基础提升,来实现更高度的游戏事业,因为这样考虑而开始 Fox Engine的开发"。通过引进欧美的开发风格来提高开发效率,更短的迭代来增加游戏的乐趣。成为了合金装备5的开发概念,以及引擎的设计思想的根基。

基于物理渲染和线性工作流

基于物理的渲染(Physically Based Rendering :PBR),成为了本世代游戏引擎标准的概念。

PBR中是物理和数学的整合性为核心,例如,物体表面的入射光与通过反射的放射光的放射光的能量总和是相等的计算。借此游戏方面的优点也很明显。被太阳的强光照射的物体也好,被人工的弱光照射的物体也好,在相同颜色空间内都可以自然的绘制,实现了有说服力的开放世界的视觉。把通过PBR得到的光照结果,通过适当的虚拟曝光值控制在显示器上显示的基本结构。

PBR系统的构筑:

因为游戏引擎是以实时渲染为前提的,构筑PBR系统的几个部分也需要大胆的近似处理。这里游戏引擎必须要集中自己的方法。本作的开发团队参考大体上每天都可以看到的公司会议室,首先通过把这个场景在FOX ENGINE上完整再现来进行PBR系统的构筑。实际的照片(图A)和引擎上的绘制结果(图B)的比较,可以看出得到了很高的精度。

拥有正确的物理参数的材质库的构筑:

以PBR为基础进行开发上是技术美术方面成为基础,把调整后的典型质感的材质汇总成预设库(图A)。拥有各种反射参数的材质,是通过在暗室里把实际的样品打光来观察(图B),再进行制作。

各个材质也包含根据不同的照光角度的质感变化做的调整(图C),图D是摄影素材,图E是FOX ENGINE的绘制结果。

线性Texture的制作:

PBR的前提是在线性空间进行光照,要得到正确的光照结果,必须要废弃了光照影响的Texture (图A)。为了制作,本作的开发团队设置了专门的摄影房间(图B),进行各种素材的摄影。摄影时使用了专门的灰度卡(图 C),调整Tone Curve在与相同曝光下的摄影素材相符合,来做成线性素材。凹凸的影响产生阴影的部分是通过手工作业来去除光的影像 (图E)。

用粗糙度制作质感表现:

成为表现有说服力的丰富多彩材质时的重要参数的,是表现物质表面微小凹凸的Roughness参数(图A)。Roughness是给予直接反射光(Sepcular)的扩散强度影响的参数,一边移动光源一边参考摄影的样品来决定的。依赖视线方向的微小凹凸的影响的变化,外观的反射的敏锐变化的现象也作为引擎的Shader功能实现了。

保证品质和速度的延迟渲染(Deferred Rendering):

延迟渲染是把场景中的每个材质参数分别输出到各个Buffer (GBuffer)后,通过后处理的方式进行实际的光照处理(延迟光照),在高速处理大量光源的复杂光照的同时, 也必须把使用的参数节省到最低限度。图中是实际引擎使用的一部分参数的显示。图A值染结果,图B Albedo,图C Specular,图D Normal,图E Fresnel。

3D Photo Scan:

为了利用基于物理的渲染,3D资源用什么程度的真实来制作。这个问题的解答就是3D扫描。(本文篇幅有限,这部分内容较多,暂时不讲。如果有兴趣,可以去网络上搜搜关于3D扫描的相关技术)

背景和光照

玩家可以投入的没有不协调感的世界构筑

本作的一大魅力,可以说是开放世界中的自由潜入。把广阔地图在有限的资源中用高品质没有暂停的展开,可以想象这里工作的庞大,其中凝聚了无数的方法。“把地图分割为128米的正方块,以玩家为中心的5X5块为Active的领域。但这光这个表现剧中的 舞台来说宽阔程度完全不够,全都都认真来绘制会产生过度的Draw Call。不过因为是以“潜入”为游戏的特色,不需要看清百米外的远方”技术指导这么说道。

因此,把模型的信息量分为了3个等级,构筑了对应距离切换等级来绘制的结构。而且,对于游戏时集中的资源(事件发生的建筑物等),也准备了加载到其他内存的结构,这些因为是有一定的距离所以要调整加载时间。“为了可以得到最好的游戏设计, 在关卡设计和背景设计进行紧密的推敲来进行开发”负责的员工说到。那么来详细的看看这些技术。

广阔的地形模型的制作

使用World Machine的关卡设计:地形模型的制作上使用了World Machine (图A)。

在FOX ENGINE上由游戏设计师加上粗略的凹凸, 并输出为Height Map (图B)。把这个图在World Machine里读取,程序化的生成自然形状(图 C)。

把加入细节的结果(图E),转移到 Mudbox (图F),把不符合玩法的部分通过雕刻进行细微调整并提高精度,再次作为Height Map 输出(图G),读入到FOX ENGINE。

使用World Texture来降低处理负荷

把全部场景分割为64张 【World Texture】来作为Texture 来使用。图A的箭头符号的位置是 玩家站立的情况,周围320m的黄色的激活区域使用通常的Tiling Texture,外面的部分,全部是作为World Texture分割的Texture 按最近距离的顺序进行加载。“因为激活区域以外的领域是用World Texture使用简单的Shader来绘制,这样在消除(Tiling的)重复感的同时也降低了处理的负荷”。负责的员工说道。

图B是阿富汗场景分割的状况。1张Texture的尺寸在PS4/Xbox One中是2048像素的正方形。还有World Texture是在World Machine中制作Mask图像之外,还追加了通过手工制作Tiling材质的领域信息(图C)。

无缝读取地形的Block系统

地形模型上,为了感觉不到加载,把可以游戏的Block进行分割读取。Block的构成方面,以玩家的位置为起点,内侧开始称作Small Block (红色),LOD0 Block(黄 色),LOD1 Block(绿色)。蓝色的Large Block是故事上重要的场所被任意大小来读取的领域。最小单位的Small Block是128mx 128m,读取最精细的模型。读取轻量1个等级模型的是LOD0 Block,是Small Block的2x2, 4块加起来大小的尺寸。然后再轻量一个等级是LOD1 Block,是LODO Block 4张的大小。采用了分别把玩家为中心的5x5 的25个block读取,再对应距离从轻M:到桁细的把模型数据不断的传递进去的系统。

图B是远景用的LOD模型配置的状况,图C是LOD 0 Blockl部分的模型的粒子,在地图上配置的背景资源是在每个Block进行合并(Merge ),合并数据的制作和LOD的变化,是构筑作为本世代机和旧世代机的平台数据,自动生成的结构来对应的。

正确的再现取材风景

为了制作真实的背景,背景组是对作为模型的区域(非洲和约旦)做了实地的外景拍摄。除了地形之外,还拍摄了作为确认植物生长状况参考使用(图A)和Texture使用(图B)的照片。

然后,通过在暗室里进行线性Texture的摄影,使用它制作资源,在输出到前面介绍的会议室环境里进行确认后(图C),按照参考照片的印象进行风景的再现。

图D是参考的照片,图E是在FOX ENGINE上再现的结果。“关于Specular方面,采用的是简单的normalized blinn phong模型,稍微改良了normalize来使用。”作为PBR的优点,只要正确的设定来组成,美术不需要反复调试也可以获得需要的品质这点值得推荐。另外,果然美术师无论如何想在Texture 里绘制阴影和光泽,因为还有绘制的动作,当初成为很可笑外观的情况也很多,这个部分意识和认识的更新是很辛苦的(负责员工)。

本文作者:Garfield(点融黑帮),现任职于点融技术部Social团队,自然科学、生命科学爱好者。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,458评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,454评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,171评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,062评论 0 207
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,440评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,661评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,906评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,609评论 0 200
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,379评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,600评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,085评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,409评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,072评论 3 237
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,088评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,860评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,704评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,608评论 2 270

推荐阅读更多精彩内容