Origin
zhuanlan.zhihu.com
Tags
简悦
项目
收藏夹
创建时间
收藏类型
Cubox 深度链接
更新时间
原链接
描述
稳步维持着两年一更的节奏,这次是分享一下最近看到的一篇 tango gameworks 分享的 HiFi Rush 制作流程的文章。这个游戏算是个人认为近年来 3D 游戏中风格化相当出彩的一个作品了,演出表现也非常强。最近正好在做风格化相关的工作,也从他们的分享中得到了一些灵感。所以就想写篇文章简单翻译加分析一下。
本人塑料日语,如果文章有哪些错误恳请大家帮忙指正。
原文来自 CGWorld 2023-05 月刊
一开始是简单介绍了一下开发过程中的经历,简单不看版就是:
游戏做了 5 年,用 ue4 开发的,做了很多探索和引擎的拓展修改,也遇到了很多挑战
然后是介绍了项目前期做过的一些概念设计,风格探索。可以看出来前期在真正的研发量产开始之前,做了很多设计上的试错,才最终开始正式研发。(国内的项目们,看看人家)
接下来角色资源的制作展示,A 是原画图,后面是模型、贴图、渲染等展示,G 是调整法线之后的效果对比。
角色的 polygon 数量,算上 outline 的情况下,人类模型 10-15 万,小怪 2-10 万,boss20-60 万
第一套 uv 通过把 uv 摆到一张固定的色卡图上,来决定模型的基础色和阴影颜色。比较神奇的做法,猜测是为了保证不同角色之间的色彩一致性
第二套 uv 用来做内描线和脏迹等效果,类似本村线的做法
第三套 uv 用来做高光,没有展示贴图,猜测应该也是一张和上图类似的高光形状 mask
最后加上 outline 和法线的调整
左边是展示顶点色用来控制描线粗细,常规做法了
右边是展示自己参考了罪恶装备的分享,用第二套 uv 做了本村线,第三套用来做高光,然后用 uv 偏移可以做出一些动态来
然后是顶点色控制阴影的效果展示,因为没有传统的全展 uv,所以在顶点色上去画了一些区域,标记哪些地方永远处在阴影里(大概这就是他们模型面数这么高的原因)
然后就是他们的一个比较有意思的东西。做脸部的光影时候,也是用了这几年老生常谈的 SDF,但是拓展到了上下方向。最终合并的图没有展示出来,猜测可能是四个通道各存了一组,然后根据角度判断用哪个通道的图。(但是上下方向的渐变怎么做的?等截帧看下资源后再补充)
这一套角色制作流程下来,给我的感想就是,好废美术,不愧是日厂的《工匠精神》
接下来是动作方面
因为是节奏游戏,角色的动作也要和音乐的节奏契合起来。他们在调动作的时候,以 120BPM 为基准,maya 内 15 帧为一个拍子,去设计有节奏的动作。最终在游戏内通过 wwise 的 bpm rate 功能,自动让动作去匹配不同节奏的音乐
身上的飘带,头发等用 JointChainPhysics 做,幽灵线东京也是用的这一套
然后是场景部分
他们心目中的画面风格是色彩丰富明快,又混杂一些混沌感(chaos,可能翻译得不太准确,大概就是图上的那个意思,有点邪恶味道的那种)。这里展示了一些他们的设计和实机图。
然后是场景关卡的制作流程。因为是节奏类游戏,他们会先做音乐,然后再去配合着音乐设计场景关卡。一个关卡的落地流程按顺序从 A 到 H
A:策划组提供关卡灰模
B:2D 组在确定的关卡灰模上设计线稿
C:3D 组制作简模,搭建简单场景
D:2D 组设计第一阶段的概念稿,用于确定该场景的特征和配色
E:前中期的场景制作,因为是音乐节奏动作游戏,所以要死守 60 帧
F:用一些现有的资源素材,把这里所有区域都搭建完毕,开始进行灯光设计
G:各种渲染效果加上去之后的样子
H:最终完成
场景资源的制作方式,这个也比较特别,是和角色类似的制作工艺。uv1 是对应一张色卡图(lut 图),用来指定基础颜色,uv2 是内描线图,对于场景物体依然丧心病狂的用了本村线,uv3 是又叠加了一些细线、污渍之类的。
(这么做保证了色彩和风格一致性,不过展 uv 的时候看起来蛮痛苦的)
玻璃高光的做法,用了个 mask,然后能跟着摄像机动
还给玻璃加了菲涅尔效果,控制透明度
为了能应用 SSR 效果,他们给场景物体又加了一套 uv,然后定义了一张 roughness map,分为五级粗糙度,ssr 的强度也通过 uv 的 y 轴来控制。
接下来是特效部分
他们的特效需要表现节奏和漫画风格的结合。这里展示了他们几种不同类型的特效,表现力确实很足。
以一个特效为例,展示了资源和制作流程。这是他们第一次用 ue4 做特效。
同时也用到了后处理,用来表现角色冲刺时候的线条,残影,色散等。
接下来是光影部分,个人感觉也是他们在风格化技术探索上最值得一学的部分。
首先他们没有用 ue4 自带的光照,认为 ue4 内置的写实光照对于他们来说太沉重了,于是自己实现了一套 forward light,同屏最多支持 8 盏灯,支持方向光,点光和聚光。上面是灯光开启和关闭的对比展示
(这里看得不是太懂,难道意思是在 ue4 defer 管线下手动实现了一版 forward light?)
然后他们介绍了他们实现的一版 decal light,用在一些需要吸引用户目光的地方,可以有多种不同形态可选。
(看起来和 light cookie 类似,应该是删掉了光源的距离衰减、角度衰减之类的东西,这很风格化)
GI 的部分,这次没有用 lightmap,而是用了一个叫做 ProbeGI 的技术(猜测大概就是烘 probe,采 Texture3d 那一套)。同时支持一些 bake only 的物体,比如下图用了个 proxy mesh 去烘出了墙上的一片亮
阴影的部分,这里他们做了比较多的工作
对于主角,会用一个专门的投影灯去绘制。角色在场景的投影中时,自己的投影会表现一个更深的颜色,同时在离角色近的地方会画出排线,表现阴影的浓淡变化。
这里图可能不太清楚,贴张大图
对于小怪,就会用简单的 capsule shadow,而 capsule shadow 无法表现的大 boss 就也用角色一样的投影灯来保证精度。
对于场景中,动态物体也会用投影灯来实现投影,而静态物体则会使用一些局部的 static shadow map(如图 F),有时也会用一些 proxy 模型来绘制投影(如图 G)
场景中他们还会用 post process volume 去配置一些 ambient cubemap 和 shadow volume。图 A 是他们的 ambient cube map,用来表现场景中的环境光。CD 则是一张 3d texture,通过 4 种颜色或者 16 种颜色来绘制,用于给阴影添加颜色,并且营造一些变化感。
(这个 shadow volume texture 没有说怎么绘制的,可能是手绘,看起来很像是一个带有饱和度的 ao)
然后是 ssao 的表现方式。这个很妙,没有直接把 ssao 叠上去,因为会导致画面变脏,而是在 ssao 的地方绘制了斜线,在这个风格下很点睛之笔。
灯光的体积光是用 mesh 的方式来做的,支持点光、聚光和自定义 mesh,用顶点色来控制透明度。另外在体积光高亮的区域会加入类似网点一样的表现,也是风格化感十足。杂志上的图不太清楚,截一个游戏内的:
原文就到此结束了,整体看下来,其实没有什么太高深的技术,但是他们在美术风格上的把控,细节和风格化渲染思路上确实很值得我们学习。从风格倒推技术,让画面和谐,要远比堆砌各种 feature 重要得多。明确风格,做好取舍,这才是做好风格化的前提。
最后还是安利一下这个游戏,画面表现力超强,节奏 act 玩起来也特别嗨,值得一试
▎本文由 简悦 SimpRead 转码。