开发杂谈:横板平台跳跃的“手感”设计

作者:ThouSun 奶牛关 2019-02-20


概述

Part1人物控制中一些影响手感的参数和分析

Part2具体的游戏实例

Part3干货:分享一套unity具体实现方案

P1人物控制中一些影响手感的参数以及分析

1.惯性

1)地面惯性

又可以分为启动惯性和停止惯性

比较直观,启动惯性就是玩家按住左右方向键主角有没有一个加速的过程,停止惯性就是玩家松开方向键主角是立刻静止还是会向前滑动一段距离。

2)空中惯性

会影响:在空中转向的灵活程度,在空中横向移动有没有加速的过程,在空中松开左右方向键是否会立静止开始落体,助跑是否会影响跳跃距离等等


140空中惯性较小可以实现跳跃空中折返落回原地


140在空中松开左右按键主角横向立刻静止自由落体


空洞骑士在空中极为灵活,又因为跳跃高度大,可以在空中做出复杂的位移动作


Splasher在空中无法快速灵活转向


Splasher在空中松开方向键会由于惯性向前继续滑动一段距离

2.跳跃特性

跳跃高度是否随着按下跳跃键的长短动态改变

3.(最大)移动速度和跳跃高度

顾名思义,决定移动速度和跳跃高度更多的需要去联系关卡的规范来设计

4.重力大小

在现实中,在同种条件下跳跃,重力越大,跳跃高度越大。但是在游戏开发中,非常建议将跳跃高度和重力大小设置成两个独立的参数接口。这样你可以在固定跳跃高度(通常由关卡设计决定)的情况下,通过调节重力大小来改变主角起跳落地的时间(灵敏度),在本文最后干货分享的unity开源项目中就是这么做的,调节起来十分舒服。

P2具体的游戏实例

这里列一些我去体验和测试的比较经典的横板平台跳跃游戏以及用文字写下我自己的体验,如果有想做这类游戏的还是一定要去自己玩一下,因为手感是实在没有办法用视频和文字来描述的。

1.测试内容:

持续按跳跃键效果

空中方向键对人物轨迹的修正能力

停止按方向键后人物移动的惯性(落地/在空中)

平地持续按方向键对人物速度的影响

助跑是否会加大跳跃距离

140

持续按跳跃键无影响,单次跳跃高度恒定

在空中位移修正和在地面完全一样

完全没有惯性概念,左右位移完全靠按键以恒定速率位移,松开按键主角停止/自由落体

主角速度完全恒定

(感觉游戏是完全没有任何惯性的,但是感觉转身很smooth,不知道有没有加一丁点惯性来做这种转身的smooth)

Celeste

感觉和140差不多

属于完全没有惯性那一大类的,不同于140的是在空中转向没有那种smooth的感觉,很直接的立刻改变主角速度

持续按跳跃键跳跃高度不一样,按的越久跳跃高度越大

停止按方向键,主角停止或自由落地

*Celeste人物的物理作用:人物完全没有物理效果,只会被各种强制机关改变位置


Hollow knight

基本的没有惯性系统

跳跃高度极大,有5-6个身高,按住跳跃键可改变跳跃高度,在空中极为灵活,可以做出很复杂的折线位移。这也是因为空洞骑士里面有一个非常重要的战斗系统,而游戏中敌人AI又非常灵活,需要主角也能通过非常灵活的走位来躲避敌人和敌人的子弹

Ori and the Blind Forest

在空中有一点点惯性,主角移动起来感觉非常的smooth,感觉制作组花了很多功夫去客制这个人物控制来达到这种效果

SpeedRunners

跑酷竞速游戏,有一个完全夸大的惯性系统,靠惯性叠加移动速度为整个游戏的核心机制,人物转向极其不灵活,没有办法即时的转身等等,所以游戏里增加一个勾爪系统通过勾爪在空中荡180度实现转身


Splasher

明显的有惯性,无法灵活转身,助跑会加大跳跃距离

整个游戏偏跑酷向

Super Mear Boy

在地面基本能迅速的转身,但是在空中有明显极度夸大的惯性,这也是超级肉食男孩是一个非常硬核的平台跳跃游戏的原因

整个游戏偏跑酷向,有一点鼓励玩家速通。

2.小分析

可以看到,有惯性的更加适合地图比较开阔,希望玩家有爽快的跑酷体验的游戏。加上惯性,相当于给了玩家一种选择,是速度拉满快速通关,还是精确操作一步步摩擦前进。整个游戏因为惯性的存在会更加惊险刺激,但是同时,因为惯性会让主角移动非常不灵敏,极大的加大了操作难度。另外,有夸张的惯性会鼓励玩家跑酷通关,看这类游戏的速通视频也是很大的一种乐趣。

没有惯性,更加适合需要绝对精确操作,或者需要主角灵活移动的游戏。一般来说,个人感觉游戏设计起始点应该都是先考虑没有惯性,之后再想游戏中是不是需要惯性来提供那种刺激感或者去鼓励玩家跑酷速通。

P3干货:分享一套开源Unity具体实现方案

这里分享一个Github上的开源2D人物控制解决方案,链接d8825586d1b2f593ab29d6a514aa84dd.jpg


通过5个参数去调节上面提到的几乎所有手感。最核心的两个参数是:Ground Damping-地面阻滞和In Air Damping-空中阻滞。

这套方案大概是通过射线检测主角周围环境逐帧改变主角位置,有很多具体的公式去实现上面的5个参数大家可以去看源码啦

来源:奶牛关
原地址:https://cowlevel.net/article/2017835

最新评论
暂无评论
参与评论

商务合作 查看更多

编辑推荐 查看更多