三、Character
1. 一些动作标准与规范
1.1 静态idle/pose
1.1.1 枪械大小(绝对大小与屏占比)
在真正遇到这个问题之前,我也不觉得武器大小这件事到底有多复杂,看起来就是一个模型放大和缩小的问题,后来发现原来大家的标准都相对模糊。
MP5与MP5射手步枪
在写实框架体系中的CODM也会出现商业化武器的模型大小不好控制的问题,那么在一些科幻题材,缺少现实参考的项目当中,这种问题只会更加严重。
关于模型的绝对大小,提供两个解决思路:
A.基于现实尺寸做标准
写实类的产品是可以这样做的,编辑器内人物的高度是确定的,现实当中枪械的尺寸也是固定,对比长宽高做正确的放缩难度并不大;针对商业化的改模资源,确认主体机匣的大小不变,枪管、弹匣、枪托的位置可以在保证比例不失调的情况一定程度发挥。
机匣主体的大小是相近的
上图两把枪机匣的大小仍然是接近的,但是枪托、枪管、弹匣的大小就偏大太多,枪托比机匣都大,问题根源看下来其实是改模枪各部位比例不合理。
B.固定某个部件的大小做标准
在写实体系下,我们可以很好的找到参考,但如果到一些科幻风格,要大、要粗、要猛,这个时候如何来确定武器的大小。
思路是动作同学提的,我们可以统一枪械某个部件的大小,例如固定宽度的导轨、固定大小的小型核反应炉或者电流产生装置,当这些部件大小统一、枪械比例正确的情况下,能够将武器模型大小限制在一定区间内。
皮卡汀尼导轨
以导轨为例,导轨的宽度固定,那么这把枪在原画层面给了多长的导轨,就能确保确定枪械大概多长多宽,不至于随意放缩导致大小无法确定。
除了武器的绝对大小,屏占比也一样重要。
观察COD系列的历代产品,能总结出一个屏幕四分法的概念,一般来说,武器Idle的Pose位置会固定在右下分区,部分体积极大的武器会小幅辐射到左下分区,尽力避免侵占到右上分区影响玩家观察目标。
COD18&COD19枪械屏占比
COD16 M4A1装镜前后pose位置对比
第二张图会更明显,装上准镜之后,枪械的位置还整体向下压了一段距离,看我框出来红框的位置会比较明显。
这个四分区的标准还是比较通用,可以看到连doom这类追求粗、大、吊的游戏都在使用这个原则。
Doom Enternal
1.1.2 枪械指向
枪械需要指向准心(通常为屏幕中心)位置。
需要注意武器的摆放角度,还有对不齐的情况可能是1P镜头和场景镜头有角度偏差。
GDC2015 命运的演示中,即使武器没有指向屏幕中心,仍然指向画面中的准心位置
MW M4A1指向
CFM M4
CFM看起来指向稍微没有那么精准,应该是为了美术表现做的一定妥协,这样摆侧面的细节看的更多些,但是持枪的姿势就会感觉不是特别舒服。
1.2 视野遮挡
动态中主要关注点是视野遮挡问题。
Destiny 中心视野保证
玩家战斗的关注点是以准心为轴的圆,左上角的图为需要保证的最小面积。
局内战斗相关的动画,包括位移、技能、近战、换弹、切枪等,都需要保证这个最小面积不被覆盖,开阔的面积越大,动画播放时的安全感越足。
但这个标准是不是必须要遵守呢,有请2077。
将屏幕中心遮挡的严严实实的手枪换弹
可以看到2077并没有这个标准,把屏幕中心挡的严严实实,一切为了强化表现。
PVE游戏对于视野的遮挡的要求也许没有PVP游戏那么严格,但是从策划的角度出发,我仍然希望项目初期制定动作标准时,能够把中心位置的视野空出来,这是一个底线,范围留多大,可以和动作同学讨论。
但如果这里不坚持,那么后续出现遮挡半边屏幕的换弹动作出现时,自己会很被动。
1.3 动画切分
动画前摇时间和后摇时间的概念,在数值篇里讲过一遍,当时是针对换弹来描述的。
- 前摇时间:从玩家开始换弹,到子弹数量变化为30的时间,这个时间走完后视为换弹成功。
- 后摇时间:剩余的动画表现时间,此时玩家可以打断动画,换弹仍然视为成功。
MW换弹
因为我一直做射击,没有ACT方向的经验,所以最初我只觉得换弹是有必要的,其他动作让美术同学根据我给的时间严格来卡就行。
换项目之后发现,这个策划数值上的需求和美术对表现上的需求,二者在很多场景都是有冲突的,除了换弹,切枪、开镜都有类似的问题,动画要20帧才好看,但数值上只给了15帧,寻求统一解决的方式就是允许打断,给美术同学5帧的后摇时间做表现。
是一种“在紧急的情况下追求功能优先,在平常环境下追求美学优先”的默契。
动画切分在实现方式上会有一个踩坑点:
有一种实现方案是美术主动将动画切成两段,然后分别配置,这种情况会导致美术资源被压缩两遍,最终的表现跟3Dmax差距很大,所以推荐的方式是美术整段动画导入,客户端去打一个标签,确定动画播到标签位置,动画少压缩一次,效果会好很多。
2. 一些动作实例踩坑点/拆解
下面只列了很小的一部分,至于跳跃、翻越、滑铲、走墙、滑索、钩索、检视之类的内容,很难用踩坑或者拆解来描述,每一次制作都是艰苦奋战,因为没有万能的解决思路,需要具体问题具体分析。
2.1 奔跑动画
2.1.1 帧数标准
奔跑动画建议固定帧数标准,确定好一个摆臂循环的标准帧数。
不确定标准会有一个问题:奔跑摆臂速度和实际移动速度不一致,且表现不可控。
例如美术认为冲锋枪跑的快,摆臂给15帧,机枪跑得慢,摆臂给20帧,但实际数值上配置的移速差异并没有这么大,如果机枪还有些百分比减移速的配件,反馈到动画层面,那么就更夸张,奔跑起来动作会像是在慢放。
确保帧数一致后,武器不同移速下的奔跑表现区间是确定的。
(这里其实可以讨论一个数值问题,叫做“不同武器的移动速度属性,是否需要做差异化”,这其实是PVP游戏中常用的一个数值维度,但我目前做下来会觉得感知并不够明显,当感知明显的时候,数值上就已经出问题了,可以看到目前许多游戏都在逐渐收回这块数值,从枪与枪移速不同收拢成枪系之间移速不同,甚至移速一致。个人觉得除了硬核PVP游戏,这个属性其实没有太大必要保留,否则处理其表现来很麻烦,root motion之类的位移方案也很难应用)。
2.1.2 动作过渡
奔跑过程中最常衔接的动作是举镜和开火,这些动作衔接过程中融合表现需要处理。
数值上,需要留够奔跑到开镜/开火的过度时间,避免开火穿帮。
枪口朝左开火,子弹却射向屏幕中心
表现上,需要支持更自然的过度方式或是提前融合,跑动 → 举镜,而不是 跑动 → idle → 举镜。
奔跑举镜过程中明显的先往右,再往左拉完成举镜,表现不够干脆
2.2 枪摆动画
枪摆动画这一块主要拼品质,简单聊一下动画的构成。
我们在讨论枪摆的时候,会去掉镜头的影响,如果有分不清gunkick和viewkick的同学。
可以看这篇文章,视频案例很清晰(十年前的文章,都包浆了)。
https://denkirson.proboards.com/thread/5906denkirson.proboards.com/thread/5906
BFV枪摆的叠加(应该不是全部)
一种枪摆分类形式
武器开火/转向的枪摆表现是由多个动画或是程序逻辑共同叠加组成的。
我倾向于分成两类,一类是基于模型坐标系的旋转和偏移,一类是基于某个固定轴点的旋转。
当然也可以分成程序控制的枪摆,和动画做的资源,但细项都是差不多的。
这边会以腰射开火为案例,简单列一些常用的动画。
2.2.1 基于模型坐标系的旋转和位移
开火抖动
开火抖动:快速的小幅上下位移,模拟武器开火时的基础抖动,程序拉曲线来调。
细致一些的做法可以再进一步考虑武器开火和停火时的抖动表现,例如增加枪口的上扬/回正,或是增加枪身的旋转,参考上面战地五的例子。
武器开火的前后位移动画+抖动
前后位移:这是玩家广泛认知中的后坐力,一般靠动画出,几个需要考虑的点:
- 动画是做纯粹的后退,还是加小幅的旋转,开镜状态下加了偏移是否影响瞄准。
- 后退动画和回正动画的关系,是播放两段不同的动画,还是可以直接反播或插值回去。
- 单发动画和连发动画的区别,是靠单发动画叠加,处理回正幅度实现连发差异,还是连续开火播放一段新的动画。
至于动画怎么K更舒服更好看,这个只能看动作师傅的手艺了。
武器开火的偏移+抖动
左右/上下位移:模拟开火过程中与后坐力对抗,转向/跳跃时的枪械偏移等各种控制武器的表现,动画出或者程序拉曲线都行。
不过开火的这条曲线最好根据武器做差异化,提供配置选项或者重新上新的曲线,做通用的话一些更笨重,甚至是带脚架的枪也这么压,会有些轻飘飘的。
2.2.2 基于固定轴点的旋转
瓦罗兰特枪摆
武器开火的过程中由于有散发的存在,我们可以给模型一个旋转偏移量,使其枪口位置和散发方向一致。
但是这个旋转需要注意两点:
- 幅度限制:由于子弹和镜头的偏移量可能很大,所以需要给参数限制,确保方向一致即可,不需要和子弹偏移量完全一致,否则你会得到一把旋风冲锋龙卷风。
- 轴点选择:之前的枪摆因为以位移为主,所以我没有强调过轴点的选择,这里做枪口偏移时,建议新增一个旋转轴点,建议以枪托抵肩点为轴,这样枪械摆动起来的角度变化会更自然。
2.3 换弹动画
之前已经反复讲了换弹动画的切分,空仓换弹与普通换弹的区别,但是在目前这个拼内卷的阶段,只做这些是远远不够的,提供一些可以精进的细节:
换弹与弹链细节
- 根据武器状态的多套换弹动画:例如98k装镜情况下对弹仓的遮挡/假装快手perk后换弹速度的变化。
- 武器的子弹细节:除了换弹过程本身,换弹前后的武器状态对比也能强化表现力,例如清晰显示弹链中子弹数量。
- 1P/3P视角换弹的精准同步:3P不使用通用换弹动画,而是和1P一致。
参考视频:
https://www.bilibili.com/video/BV1HR4y1N7xS?share_source=copy_web&vd_source=fc61d83944a4020b04775afa12f60a0d
2.4 收/拿枪动画
R90装备动画
还是之前数值篇的时候提到过的,要不要同时做equip和unequip两种表现。
我的看法依然是除了写实游戏,尽量避免做uneuip动画,收枪这个概念就很不干脆,即便做了也需要压缩收枪的时间,尽量减短对于手感的影响;从数值层面考虑,即便要作数值限制,也可以延长equip的时间,把表现做的更强更充分。
2.5 开镜/关镜动画
2.5.1 开关镜方案
开关镜常用的两个方案分别是模型切换和光瞳。
切模型开镜
光瞳开镜
切模型开镜:在开镜过程中的某个节点进行模型切换,替换更高的精度的准镜模型,开启镜内视野,同时隐藏枪械的部分位置避免遮挡或者穿帮。
光瞳开镜:开镜过程中不切换模型,准心模型和现实一致持续显示镜内视野,在开镜的过程中模拟入瞳和出瞳的表现。
从视觉效果上来看,绝大多数玩家都更喜欢光瞳开镜效果,开/关镜过程更流畅,没有卡顿感,缺点是由于模型没有切换,开镜状态下准镜的精度不高。
但这世间真的没有两全的法子了吗?一定是有的。
如果我们按照光瞳的标准制作视野没有遮挡的枪械模型,同时将模型切换的时间提前,从开镜那一刻就完成模型切换,是不是就可以解决这个问题。
2077狙击枪开镜
2077就在开镜的瞬间在准镜位置叠加了资源,丰富了表现。
只不过模型精度已经很高了,所以开镜过程没有做切换更高精度的模型,一定程度上证明了这个思路的可行性。
2.5.2 状态机规划
举镜开火/腰射开火无缝切换
开镜相关的状态既需要跟人物的站蹲趴移动同时进行,也需要跟武器相关的开火、换弹、拉栓同时进行。
状态机的设计需要满足这两个条件,需要跟客户端沟通是单独起一层,还是做更细致的拆分,例如开镜移动做到base层,开镜开火做到fire层之类的。
需要提前用3C排查表之类的东西想明白,否则后面不好改。
3.音频
音效是一个专业程度很深的领域,很依赖音频策划的水平,他对游戏玩法的认知,细节的拆解,风格的把控会决定项目的音频质量。
这个会比较赌运气,如果音频同学游戏理解很深,那么合作起来会很愉快,如果音频同学不怎么玩游戏,细节上覆盖不全面,那么就需要战斗策划掌握音频相关的概念和基础常识,为版本质量兜底。
这里主要分享一些基础概念,同时提一些打击感优化上容易遗漏的点。
3.1 游戏音频的基础概念
了解清楚关于音频的基础概念,知道自己想要的是什么,目前缺失的是什么,才能跟音频策划做有效交流。
这里用通俗的语言做简单解释,更深层次的含义和应用建议移步你们组的音频策划处。
音频事件/节点:
音频的播放一定建立在某种事件或是节点之上,例如按下开火播放开火音效,按下快慢机播放快慢机切换音效,换弹过程中中拔下弹匣、插入弹匣、插稳弹匣播放不同的音效。
https://youtu.be/BGtLmi8YQPw?t=930youtu.be/BGtLmi8YQPw?t=930
这一段M13换弹的音效包含了许多细节,拔下弹匣、弹匣与弹仓摩擦,插入弹匣,可以是客户端打时间戳在指定时间播放特定音效(打时间戳的好处时即便是实际动画会拉伸,但音频始终是对齐的),也可以音频根据动画表现输出一整段完全对应的音频。
音频类型:
从制作的角度出发可以分为下面几类:
- 音乐(例如BGM、主题音乐)
- 音效(包含电子音效和拟声音效,例如UI点击、枪械开火、人物受击等)
- 语音(角色语音、对白)
- 环境(战场、街区、天气的音效)
播放方式:
单次播放/循环播放,这里需要去细致感受差异,同样一段音效用不同的处理方式都可以实现。
例如连续开火的音频,可以是不断的播放单次开火音效,做首枪强化和尾音处理,也可以玩家持续开火的情况下循环播放一段更长的loop音效,这段音效里是连续X发开火的音效。
音效叠加有两层和微观两层含义:
宏观:我们在听到某种声音时,这是由多个声音叠加同时播放构成的,例如开火命中腿部时听到的音效,是由环境音效、武器开火和命中反馈音效组成的。
微观:以武器开火音效为例,这个音效同时也是多个资源叠加组成的,一般包括武器主体枪声、模拟武器内部组件碰撞的金属层、模拟枪口爆破冲击和抵肩表现的低音层、模拟子弹在当前空间飞行的尾音。
这一部分内容很重要,遇到具体问题或是设计时,战斗策划需要明白自己想要的是什么音效,这个音效由哪些层级组成,或是这个表现是因为确实什么层级的音效,哪部分音效没播导致的,对具体音频素材构成完全把握,才能和音频策划有效交流。
你搁着张口闭口就是“不够丰富”“打击感不足”“不高级”,那没有几个音频哥愿意心平气和跟你交流。
空间混响:
混响的概念和声场有关,不同的声场环境下,听到的声音效果是不同的(浴室唱歌效果好的原理)。
简单来说就是玩家在游戏各个场景(空旷场地、室内)发出声音,音效需要做对应的处理。
音效衰减:
3D音效存在传播范围,距离越远声音越小,需要设定音效的传播范围和衰减逻辑。
音效遮蔽:
3D音效在空间内传播时,透过障碍物会产生衰减,游戏内需要进行还原,尤其是FPS游戏,帮助玩家辨识脚步来自于楼上、楼下,亦或是转角后方。
3.2 音频的打击感优化思路
我们接到打击感不足的课题时,有两种处理方式,一种是从60分到80分,直接提升音效品质,同时推动客户端优化性能,释放更多的内存空间给音频。
还有一种是0到60分,去增加音效的丰富度,强化音效的细节,我们主要聊这个。
3.2.1 常见音效精细化
以前整理的CODMW和APEX的命中反馈/击杀录屏
我们以命中反馈为例,首先是对于音效目标的拆解,不同目标下对音效质量要求是不一致的。
最基础的目标:告知玩家他打中了。
更高级的目标:清楚告知玩家自己的武器状态、命中状态、敌方目标状态,创造良好反馈。
命中反馈条件拆解示例
将这些条件做组合,那么我们就能把单一的命中反馈音效,延展成了2*2*2*3=24种,再去考虑信息重要程度和玩家理解成本,例如命中头部不区分护甲状态,这样缩减资源数量,实现命中目标时获得丰富的反馈效果。
3.2.2 高光时刻创造记忆点
俺最喜欢的音乐盒
从CSGO的音乐盒、COD无畏战士的BGM,再到OW的全场最佳音乐,valorant一杀到五杀的渐进式击杀音效,打击感既来自于每一颗子弹扎实的细节,更来自于玩家战斗过程中的高光体验。
找到自己项目的高光时刻,用音效/音乐强化这个时刻,给玩家留下深刻印象。
这也是打击感优化中性价比很高的部分。
3.3 音频的优先级规划
坦白说这是我一直想推进,但是进度十分缓慢的部分,上线项目资源太多太杂,积重难返无法梳理,研发中的项目还在搞核心循环,优先级顶不上去。
不过我觉得这一块真的很重要,目前暂时也没看到国内有项目吃透了这部分内容,把优先级和局内玩法结合的特别好,或者规则很清晰,大家都是凭感觉调调响度就糊弄过去了,谁先做好谁先降维打击。
什么是音频优先级?
即多个音效同时播放时:
- 以什么样的规则来控制这些音效的优先级,假设只有5个通道,那么优先播哪5个?裁掉哪些?
- 以什么样的规则来控制响度,多个音效播放时,谁的响度更大谁的响度更小?
- 以什么样的规则来处理条件变化,当玩家保持移动,距离音源位置持续变化时,当场景内需要播放新的音效时,这些音效的响度、通道占用如何刷新
需要一套完整的规则来解决这些问题,例如按照音频的功能性,从高到低进行优先级排列。
避免音频在局内乱播,天天收到一些爆炸声把脚步声盖了,开火把拆包声盖了之类的BUG,修复方式就是把这个调大把那个调小,很不优雅。
守望先锋的音效威胁值思路
我自己的方案就不拿出来献丑了,分享一个守望先锋的思路,围绕着威胁值的变化做音效的调整。
核心诉求:玩家优先听到对战斗影响最大的音效。
这一套要求局内做大量的条件上报,很有限,但是比较麻烦。
https://youtu.be/60P0hzTTJ4Qyoutu.be/60P0hzTTJ4Q
完整的GDC演讲链接,给了一些不错的参考方案和工具呈现,我参考这个提了一些局内音频响度、通道占用的监控工具的需求,修BUG很好用。
4.特效
4.1同屏特效数量限制/特效优先级及LOD设计
特效模块就一个东西(主要是写累了)。
很多人都会下意识觉得,打击感不够那咱么就疯狂的加特效、提升特效表现,这句话本身也没错,确实有用。
放在射击游戏里就是去做弹线、弹孔、爆炸、不同材质的命中,甚至还可以做点断肢,头被打飞之类的东西。
但是特效的增加需要一个全局的方案:同屏最大数量,不同lod特效的数量限制,特效停留时间,是否有提前退出机制等。
特效/表现糊脸
命运2的特效除了这种极少数情况,例如碎盾时大面积的屏幕遮罩加上怪物的投掷道具特效糊脸。
基本做到了特效表现好的同时,效果都相对克制,不会出现满屏花花绿绿啥都看不清的情况。
主要手段是依靠限制怪物的攻击频次、控制特效的残留时间、以及大量使用边缘动态模糊。
王者荣耀 21年5月的表现
这时候再看王者的例子,虽然镜头本身没有特效,但是技能特效多的时候也会出现看不清技能的问题。
解决这个问题除了限制同屏特效数量以外。
还可以和上文提到的音频一样,给特效也赋予优先级,同时做更精细的lod分级。
当同屏数量超过X个时,高优先级的特效播放完整,中低优先级的特效播放低LOD版本。
结语
几件事促成自己相对开放的写这篇分享。
九月底的时候玩了网易的新游《blood strike》,我发现原来做表现,只要用力卷,大家都能做个八九不离十,但可惜局内真的不是很好玩,手感也不是特别好。
看完边缘行者回去玩2077,突然发现原来2077的枪做的很不错,只不过当时并没有在意表现,只在关注数值、关注义肢、关注怎么把夜之城烧成灰。
MW2022开测了,枪的表现发挥稳定,但是玩起来,3C/数值/系统一起结合一下,这个MP模式真的是这几年测试中最垃圾的一代。
公司内部一些研发中产品的体验,发现可能版本连速度加速灵敏度都没调好,但用人家给的固定速度的版本跑下来,似乎差别也没有那么大。
再看最近几年立项的射击游戏,饼一个比一个大,玩法包罗万象,武器作为众多游戏元素中的一个组件,枪械本身的占比是在持续下降的,可能连3C都不再重点为武器服务。
于是我有些悲观,会觉得对于这些年立项的游戏而言,也许枪并不是很重要,枪械品质过硬只是一个nice to have的选项,游戏的玩法是否有趣,才是项目生死存亡的关键。
好处是,武器策划压力会小一些,有更多的精力去钻研表现钻研效果(虽然可能没有开发人力)。
坏处是,这种更复杂宏大的玩法框架下,关注武器的表现的玩家并不多,武器模块搞半天,可能压根没人看。
国内的战斗/枪械/3C这一块的积累和一线厂差距很大,像是上面提到的跳跃定位方案,那是2017年的GDC,守望先锋的音频设计分享,那是2016的GDC,这些厂商五六年前的东西,我们至今都还没有摸清楚,我们还在反复的造轮子,造一些勉强能跑的轮子,刚跑起来可能就去其他地方再造个一模一样的轮子。
前景也并不乐观。
谈工期,内容量翻几倍,做资产都有压力,还要去磨表现。
谈人才,各家厂商都招了很多3A大厂的海归,似乎也都没有太大的帮助,看不到太多方案共享和技术开源。
一方面是差距很大,追赶很困难。
一方面是确实性价比不高,必须先看其他模块。
难免有一种无力感。
所以没什么好藏着掖着的,国内策划自力更生的年代,能力提升更需要互相帮助。
做类似东西的时候翻翻这一篇,少踩坑省点时间,去验证一些更重要的内容,多好。
毕业生看完入行少走一些弯路,更好。
做游戏还是得有些理想主义情怀。
自驱、进取、沉淀。
然后做个大的。
“V,无名小卒,还是扬名立万?”
热门跟贴