|
文本首发知乎:
https://zhuanlan.zhihu.com/p/416101550
赛博朋克美术风格无疑是当下最流行的游戏美术风格之一,《赛博朋克2077》把它展现的淋漓尽致。最近几年国内大小厂也开始陆陆续续加入探索赛博朋克美学的队列,UE4引擎默认的PBR渲染管线也使小厂有了开发写实风格渲染的机会,本人有幸参与到了某赛博朋克风格游戏的研发,这篇文章就是对于国内“3A”现状与开发流程上的见解。
能刷到这篇文章,说明你已经对赛博朋克文化有所了解,如果不了解可以玩一玩《赛博朋克2077》或者看一看这几部电影《银翼杀手》《银翼杀手2049》《攻壳机动队》《战斗天使:阿丽塔》《头号玩家》。
赛博朋克2077 夜之城 | 赛博朋克2077轻VR全景旅游助手_指尖上
www.zhijianshang.com/cyberpunk-2077-night-city/
赛博朋克是人类对科技沦陷的假想,是一个关于未来的灰色预言。高科技低生活,先进的科学技术和崩坏的社会结构。在一个控制性的环境中,个人以朋克式的抵抗确认自己。
关键词:High Tech,Low Life
一、设计
在立项初期一般会有大量的文案/剧本来描述游戏的世界观和整体发生的故事,这是作为视觉化概念设计的依据。
1.1 概念设计阶段
首先,我们的赛博朋克世界需要有一条时间线,年代与科技程度是息息相关的,这样才能让正确的物品出现在该出现的场景,对于未来而言并不绝对,一切皆有可能,但遵从规律的设计会让人更加信服。而且在以往的作品中可以看出,人们对科技感的认知也是有很大变化的,早期的赛博朋克作品中都喜欢用大量的电缆来表达科技感,而现在苹果的简约设计、全息投影更有科技感,所以我们应该抛弃经典赛博朋克中过时的元素,对未来展开畅想。
现实中的芝加哥
看门狗的芝加哥
对于整个世界的规划,一般会以一个现实中的城市为原形,比如GTA5的洛圣都,看门狗1~3分别以芝加哥、旧金山、伦敦为原型,LD根据文案讲划分出野外和城市区域,那对于赛博朋克来说野外的设定一般是经历过战争毁灭后的荒凉废土,恶劣的天气与贫瘠的土地,有废弃的工厂和穷人的据点,而城市里的摩天大楼与贫民窟形成鲜明的对比,在下面的关卡设计中将会进行更深入的探讨。
2077
一般会请一些知名的画师来做概念设计,在前期给项目组全体成员一个视觉印象,并为以后的原画创作起到参考作用。
1.2 视觉元素提炼
一些赛博朋克视觉元素:
- 黑客,赛博空间,扫描,全息投影。
- 人工智能,仿生人,义体。
- 摩天大楼与贫民窟,霓虹都市与恶劣天气的贫瘠土地。
- 高科技的车辆,怪异的服装等等。
它们以什么样的形式呈现在游戏中呢?对应的美术资产是什么呢?模型,材质,贴图,特效,动画等等。
二、资产创建
2.1 大世界
2.1.1 Level Design
在划分出水域和陆地区块后,再划分城市区域与野外区域,野外区域又根据海拔高度来划分出平原、丘陵、盆地等。然后最主要的城市系统,区域划分,路网分布,据点分布,景观点分布等等。统计城市系统中住宅、商业、工业、政府、道路等。继续,分析路网的分布:快速路、主要干道、区域干道、地区干道、高架桥,码头当。根据这些信息来进行白盒阶段的制作。
图源水印
UE4白盒阶段
夜之城是一个经典的海湾型城市,沃森、威斯特布鲁克、圣多明戈、太平州呈半围合式围绕着市中心和海伍德,整个城市的交通脉络基本呈射线状由市中心散开。城市功能分区也很明确,市中心是中心商业区,小中国城、日本街、海伍德、圣多明戈几大居住区围绕着市中心。太平州是作为旅游渡假区存在的(投资开发失败)。更往北沃森的整个北半部分是工业区。
2077夜之城地图
2077 工业区
2077 动力装置
2077 城区
2.1.2 PDG
程序化生成是大世界工作流的核心,也是这几年所有游戏厂商都在研究的方向,这方面需要Houdini方向TA与LD、LA紧密合作。不了解的可以看看前几天unreal circle北京站的技术演讲。
通过噪声、平滑、模糊、约束、侵蚀、映射等等方法来创建地形高度图,把参数通过HDA开放到引擎中根据LD给的资料进行调整和美术加工。
在传统游戏制作方式中,材质层信息是由美术人员,通过UE4的材质层绘制(Layer Paint)面板中,通过控制笔刷在编辑器中手动绘制完成的,对于8*8km尺寸的世界来说手工效率太低,我们需要过程化的开发流程来进行快速高效的迭代,还能保证稳定的质量输出,过程化的工作流完全基于精确的数学建模来对指定风格的场景来进行生态学与美学上的解构与还原,在生态上有非常准确的描述更接近于现实大自然的规律。同时,需要支持手工修改,因为游戏始终是游戏,艺术存在偶然性、随机性、夸张性的成分,这种因素是过程化计算所无法表达的。
根据项目风格来绘制材质层MASK,一般有岩石层、碎石层、草皮层、泥土层,雪地层。
根据参考资料来制定各材质层的规则,比如草皮层:在角度为0度至13度的坡面下,草开始生长形成草皮层,但是海拔越高气温越低越不适于草的生长,到海拔500米开始草皮还是急剧衰减,海拔1000米后寸草不生。同时草是喜阳生物,在峡谷等阳光照射比较困难的区域,草长比较稀疏,反之比较茂密。
在绘制好材质层MASK之后,我们需要借助UE4强大的材质系统来对材质层信息进行视觉表达,需要设计一套材质框架来呈现以下特性:
- 基于视距的远近材质混合
- 基于全局的色彩多样性
- 基于高度信息的材质层混合
- 基于视距的地形曲面细分
- 基于层信息的材质过程
- 基于距离的视差贴图技术
接下来还有路网,植被,建筑等等,不过赛博朋克风格植被就比较少,群落也可以没有了。传统的马路有一万个理由无法满足大世界场景的需求,复杂的马路根本不可能拿模型去拼,或者用UE4自带的spline去拽,城市里的平地还好,野外的复杂地形也无法完美贴合,这时候又轮到Houdini出场了,根据样条线输入参数计算出完美的公路贴片,其包含了四套精心计算的UV空间来进行必要的路边线等必要材质表达支持,再利用 Runtime Virtual Texture(RVT)技术,由Houdini算法生成海量的贴花贴片、车道线贴片、车轮印记贴片、公路贴片等大量贴片,再由RVT将贴花一次性bake到地形材质上,因此能够支持海量的公路细节,极低消耗。
2.1.3 建筑
到了具体的城市建筑阶段,我们可以根据游戏玩法来对建筑的重要性评级,哪些建筑是可以进入的,哪些是不能进入的,哪些是主线经常路过的,哪些是地标性建筑,这些都需要人工去打磨,其他不重要的建筑可以使用PDG技术生成。这个评级还决定3D制作工艺,一栋建筑是整个的一个mesh,uv都烘到一张图上,还是由各种四方连续的墙、地板拼组而成。是否存在可破坏物理交互将决定是否制作可破坏件。
上面聊的偏逻辑和技术,接下来说点美术设计上的。
银翼杀手2049
攻壳机动队
2077
2077 V的公寓
通过几张图,可以看出电影和游戏在色调上还是区别很大的,游戏的写实是美型写实,整体的饱和度和色彩范围都要高于电影。各种各样的摩天大楼和异形结构都充满着未来感,想要让人一探究竟,而V的公寓又是典型的贫民窟,与外面光鲜亮丽的大楼形成鲜明对比。
在赛博朋克的世界里,一切都是金钱至上,城市设计几乎不存在总体规划,每个人都将尽可能地扩大其建筑的规模,以最大化商业获利能力,公共空间将变得很少见;旧的建筑总是被新的商业建筑所取代,供普通人居住的空间所剩无几。
摩天大楼看腻了,还有必不可少的亚洲元素。
2.1.4 室内
室内则是一个重点需要美术设计的地方,对于重点区域、主线任务、经常去的地方(V的公寓,绀碧大厦、酒吧等)是需要长时间细心打磨的,对于风格的把控,物品的陈列,气氛的营造。
酒吧
V的公寓
V的公寓
2.2 硬表面设计
2.2.1 载具设计
对于载具也是按照其用途、年代、改装度、科技度几点来进行划分,比如路上的出租车,小轿车要保持低调的外表,警车的经典红蓝配色,炫酷的改装车和豪华的跑车要让人一眼就能认出来。设计车,不光是外观,还要保证其3D结构的合理性,传统手绘可能已经不能满足高度写实的原画需求,不光车辆,还有枪械、机械结构的义体等都非常适合借助硬表面3D辅助来进行设计,.前同事使用fusion360和blender都非常6,在设计确定后再交由外包重新制作游戏可用的模型。
老开
2.2.2 枪械设计
2077
我这里直接放了未曾蒙面的前前同事AFI的分享
AFI NM9 - 1 “水燕”
还有AFENG的
攻壳机动队
2.2.3 义体/仿生
最开始的义体改造是为了增加战斗力,后来转变成纯粹的装饰来表达审美。
材质工作流则是在SD中连连看,再到UE中连连看。
SD中利用各种形状、噪波、滤波等预置节点,或者自己写计算公式来制作过程化的纹理,输出成贴图拿到UE4中,根据在DCC(如maya)中手工区分的材质mask,来做layer blend。
2.3 角色设计
不同的阶级地位和身份,对应不同的风格(设计)、面料(材质)。2077的背景故事给出下面四种风格:
- “刻奇主义”是浮夸而大胆地用亮闪闪的机械对全身进行改造的现象。
- “熵增主义”则是需求大于外表的作风,是人类与技术进展做的斗争。
- “新刻奇主义”是奢华的代名词,在游戏“夜之城”的富豪阶级中逐渐流行。
- “新军权主义”是全球化冲突与大企业争权夺势的表现,冷酷、尖锐而新潮。
2.4 VFX:赛博空间/全息
对赛博空间的可视化可追溯到《创:战记》《黑客帝国》,扫描线和字母流动的特效给人印象很深,巧了,月神正好在UE4中复刻过《底特律变人》的后期效果和《黑客帝国》的字母矩阵,猩猩也复刻过镜头拉近的马赛克后期,我也在全息特效篇中写过一些全息特效和故障艺术的分析和制作方案,不过还是远远不及2077的图像处理算法库,那如果想深入研究这个方向,还是要去git上找一些开源的代码,理解其算法并用hlsl实现,加工到UE4中。
2077 超梦
2.5 环境气氛
这里主要是灯光气氛和天气/TOD(Time of day)两个部分,灯光和自发光物体无疑是场景中色彩占比的大头。其实是非常忌讳死黑的,需要一个光照方案来满足 TOD 的不同时刻,通过控制直接光DirectionalLight和间接光SkyLight的强度和颜色来实现,预先烘焙好hdr作为天光的采集。传统的灯光烘焙方案可能需要对重要模型的2U进行手工处理,来确保更高的光照质量,也可以尝试UE5的炉lumen全动态光照。
天气的话不同于其他游戏注重野外场景,只有雨和雾作为重点研究对象。
最后影响画面的还有一个非常重要的就是后处理效果,Bloom、Lens flare、Blur、LUT等等,2077还专门做了一个电影颗粒的效果。通过达芬奇校色制作LUT是一个不错的方案。
三、渲染
通过国外大佬renderdoc抓帧分析2077的渲染管线,在关闭RTX和DLSS的最高画质下进行的截取,经典的延迟渲染管线,与UE4默认的延迟管线很接近。
G-Buffer
G-buffer的分析:
- 10.10.10.2 法线,保留 2 位 alpha 以标记头发
- 10.10.10.2 Albedo
- 8.8.8.8 金属度、粗糙度、半透明和自发光,按此顺序 (RGBA)
- Z-buffer和 stencil 。后者用来标记皮肤、汽车、植被、头发、道路等。
pre-pass
比较有意思的是,这里有一个对部分物体做的depth pre-pass,而不是全场景的,仅用于较少后续G-buffer传递中的过度绘制。
然后广告牌是单独画的
还有一个垂直向下的投影RT可能是用来做小地图的
绘图顺序如下:
1.静态网格体
2.地面和自发光物体
3.骨骼网格体和可破坏件
4.植被
5.贴花
6.毛发fur的mask
7.毛发fur
光影部分:
这是光照通道输出的两个RGBA16 buffers,看起来是漫反射和镜面反射贡献。
阴影部分:有三种阴影CSMs,VSMs,raymarched-shadow,CSM是太阳光产生的,其他都存到VSM,然后在游戏设置里可选的”接触阴影“是屏幕空间的短距离raymarched-shadow。
SSAO部分:首先,深度、法线/粗糙度和运动矢量都被降采样到半分辨率。然后通过计算当前帧 AO,随后的进行双边滤波和时间重投影。
AO
SSR部分:有一个屏幕空间反射通道,它再次使用打包的法线/粗糙度缓冲区,因此支持模糊反射,它是在全分辨率下完成的。
SSR
好了,已经没耐心写了,告辞!
最后感慨一下,在上份工作中遇到的一些困难,
比如模型面数过高,虽然能展现细节,带来的渲染压力太大,用尽量低的面数来展示足够多的细节才是美术资产制作中的难点,单纯堆面没有意义,靠高面模型和高精度贴图达到的高质量效果图都是假象。还有人工的LOD,2U等等。场景里的物品如何正确的合批成?面光源对于渲染开销的问题?对于一个经常需要修改灯光的场景是否进行烘焙?不烘焙就大家都一起卡着。还有小厂都会面临的问题,技术力不足以修改引擎,就只能用官方给的”按钮“,想要扩展,没门。
文/AKA冲鸣
原文:https://mp.weixin.qq.com/s/v6RSlJz7SlEcW9G1GWqJmw
|
|