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

▎本文由 简悦 SimpRead 转码。