演示一下用手势操控 wow 游戏角色

2019-11-01 13:29:32 +08:00
 novato

记得以前 wow 有一、二十个技能,两排技能栏都摆满了,键盘左半边按键不够用,还要绑 shift/alt+XXX 的快捷键,因为一般都是用左手键盘,右手鼠标这样操作的。后面手机大量普及后,很多人都在等 wow 移植到移动端,结果一直没实现。我想除了体积太大(几十 G )之外——但只用 60 前的场景与模型的话也就几个 G,手机完全可以装下,主要就是操作方式难以移植,因为没法在屏幕上摆十几个按钮,更别说还要旋转摄像头观察左、右、后方的操作。像当前流行的 XXXX 游戏,都是在手机左边摆个虚拟方向盘,右边摆几个技能按钮,搞的像 80 年代红白机的手柄似的,除了没压感之外。
我想手机操作模式无非就是声控跟手势。先实验一下声控,在网上找了一个卡内基·梅隆的sphinx库,这个库可以训练自定义发音的,比如你说“向前奔跑”、“旋风斩”,只要训练成模型了加载进去,再说这句话它就会识别。我用了一个openears的 ios SDK 读取 /辨析 sphinx 训练的句子,再用blend4web加载游戏角色模型和动画,这样就能用声音控制角色移动和技能施放了。实验效果是:安静环境下,大多数情况能控制,但在有噪音的环境容易误判。所以声控并不实用,因为没法控制周围环境。再试一下手势操控。
安卓有一个 GestureOverlayView 可以识别自定义手势,但我不想绑定在 Android 平台,就像什么“小程序”只能在 XX 环境中运行一样,我想要在像浏览器这种 omnipresent 的环境中运行。找到一个华盛顿大学+微软工程师开发的一个$1,把其中的 js 库拿出来再自己加了点垃圾代码,就可在 h5 的 canvas 里用了。
然后用什么 webgl 库加载 3D 模型呢,用threejs还是blend4web?现在大多数人都用 unity,虽然笨重了点但确实好用,就用 unity 写控制逻辑吧,再导出为 webgl。把$1的 canvas 叠加到 unity 的 webgl div 上,用 vuejs 做手势设置和帮助界面,这样一个 [$1+unity+vue ] 的 spa 3D 网站就出来了。问题是这个网站太大,十几兆(血精灵模型+10 几个 fbx 动画),没人会等几分钟去打开一个网站,主要是现在网速太慢,可能等以后网速再提高 10 倍,3D 网站才会普及。那就用 cordova 打包成安卓 app 吧,实际上打包成 ios 或其它平台的 app 都行。

有人可能会说画手势太慢,没有按键快。但技能是有 cd 的,又不是按的越快就能施放更多技能。公共 cd 一秒,如果双持长柄武器,普通攻击都要 2 秒,就算是拿匕首,普攻一般都是近身自动触发的,也不需要按键。一般技能 cd 一、二十秒,大招 2、3 分钟,画一个手势 1 秒钟,也不存在太慢的问题。

运行效果如下:

因为是在安卓 webview 里运行,老手机不支持 webgl,或支持不好的,可能运行不了。
我这边测试是:nexus 6p ( Android6 )根本打不开,华为 M3 青春版( Android7 )运行有点卡,一加 5t 可以流畅运行

演示视频(2.6M)

App 下载( 15.8M )

git 库:
https://github.com/novice79/gesture_game

3374 次点击
所在节点    分享创造
8 条回复
ohooooo
2019-11-01 14:14:54 +08:00
想法挺有意思的。不过玩起来还是太累了。声控解决方案还挺不错的,自己在家玩的时候大喊:狂暴之怒,冲锋!破甲~撕裂!还挺带感。就是打团本不能党指挥,哈哈哈
PcxQkx
2019-11-01 14:48:13 +08:00
不错的 idea mark
coolair
2019-11-01 15:02:14 +08:00
没必要这么麻烦,基本上所有的 MMORPG 移植到手机以后都是 AI 帮你打怪放技能,你唯一需要操作的就是花钱充值。
可以看看 NCSoft 移植的 Lineage I,基本保持了 PC 样式。
coolair
2019-11-01 15:06:27 +08:00
而且手机网游就是为了消磨时间、获取快感,需要的是快餐式的享受,没有 PC 端那么强的操作性,你拿你说的 WOW 来比拟,一个走位不当可能就是团灭,在手机上要做的操作精细也是不可能,真要是这样,那估计大家都天天在跑尸体了。
未来是 VR/AR 的天下。
a4854857
2019-11-01 15:24:22 +08:00
wow 移植到移动端
---------------------
17 年玩过一个叫做光明大陆的,其实那个已经得到了 wow 的下本精髓了,很需要配合。40 人本还要上 yy,不然过不去。
然后还是出了一个电脑端的,之后都是在用电脑端玩了,不过的确很不适合现在的快餐休闲年代了。
13200126217
2019-11-02 11:55:53 +08:00
pimpl
2019-11-02 14:22:16 +08:00
可以考虑用 kaldi,我以前做过基于 kaldi 的命令识别,在 kadli 输出结果上,加上对集外词基于 SVM 算法,结果还不错。
locoz
2019-11-05 11:28:57 +08:00
@ohooooo #1 哈哈哈哈哈哈哈哈。家里人:这人该不会是傻了吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/615220

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX