1138 字
3 分钟
游戏振动机制研究日志
前言
最近打算往手游里加入一个振动系统,让游戏能在合适的时机播放对应的振动效果,并且适配绝大多数的安卓和ios的机型,在思考什么方案会比较好。 目前在考虑的方案有
方案一:RichTap制作
- 优势:功能齐全,操作方便简单,有中文文档与演示视频,支持音效转振动功能
- 劣势:价格较贵。不过不知道是要多少,反正现在在等他们官方联系
这个官方很傻逼,我在他们官网提了申请,也给他们写了邮件,但他们两天了还没回复。到底想不想赚钱了. 想之前我在FairGuard官网一注册,隔天就有官方的人给我打电话。但这家公司属于是真懒狗。
他们的工作流大概是这样的:
- 提出具体振动制作需求
- 在接到需求之后,录制一段游戏内对应表现的视频或者音频
- 制作完成后,会导出一段.he的振动文件(看了一下其实本质就是json文件,换了个名而已。对于这点我还是比较满意的,我比较怕他搞个什么专用的有加密的文件出来,让你用了他的软件之后就没法跑路了。这个还好,反正本质是json文件,这个觉得不好用了可以随时跑路换其他sdk)。收到对应的振动文件后,在游戏内对应的效果处,加入播放对应振动的代码
示例:
public class YourScript : MonoBehavior { ... Other game logic code. [SerializedField] private RichTap.Source.RichtapClipEffect effect; public void PlayRichtapHapticEffect() { // This effect can be replaced with effectSo or effectComponent. if (effect != null) { effect.Play(); }} public void StopRichtapHapticEffect() { // This effect can be replaced with effectSo or effectComponent. if (effect != null) { effect.Stop(); }} ... Other game logic code.}这个软件比较大的优势是有一个自带的手机app,通过app扫码连接,可以实现振动效果的即时预览功能。
方案二:AssetStore上的振动插件,或者自主开发
- 优点:价格普遍在5-30美元左右。如果是自己制作,成本是0
- 缺点:较难实现比较复杂的振动适配功能
制作方案:
- 提出具体振动制作需求。
- 在对应代码处自主加入振动功能。对于大部分简单的振动效果,我们用一些他们提供的模板,使用一些简单的短振动或者连续振动就可以实现。对于比较复杂的振动效果,可以让自己录屏,对照视频逐帧设计振动效果。
但这种方式有一个什么问题呢,就是可能在不同的设备上,会有不同的振动效果。不同型号的手机马达可能都是不同的,ios与安卓也有一定的差异,这点可能需要对不同的手机型号都做具体的调优。但显然这是很花费时间精力的,感觉没必要这么做。可能能够满足大多数主流ios和安卓旗舰设备就差不多了。
方案三:Haptic Composer
- 优点:雷蛇官方提供的一个专业游戏振动设计软件,免费且功能齐全,且支持连接手机即时预览功能
- 缺点:貌似不是很稳定,经常连不上。感觉他们的软件做得不是很好,也可能是因为免费的所以做得不是很上心。
方案四:WWise
额这个貌似有点太专业了,对着他们的官方文档用了半天也没明白该怎么用
其实按我个人的想法来说,我还是挺想自己学着自己做一个振动插件的。unity其实本身就自带一个比较简单的vibration插件,不过能实现的功能有限。如果要自己做的话,无非就是针对性的做一下振动的强度,频率之类的功能,然后设计几个常用的模板,比如点击,警戒,等等,然后再给游戏内几个比较关键的地方做几个专用的振动效果,将这些打包成.json文件。如果是ios设备,就要适配成.ahap文件。调一下专用的接口,再在手机上测试一下,感觉没问题就差不多了。
部分信息可能已经过时









