开启左侧

[原创] 暴风白日梦手柄除了用在VR上还能干嘛?(第二期来啦)

本帖最后由 灵酱 于 2017-11-25 00:37 编辑


令人震精的第二期 白日梦手机还能干嘛 居然来啦~~~~~~
欢迎来到第二期,还未看第一期的童鞋们,为此附上链接  https://dmgeek.com/vrpost-18698-1.html
好了好了,再次欢迎来到看了终于有点软用系列了。
XXXXX: 教练!教练!看了上一期的,我也想玩怎么办?上一期看懂了,但是没软用啊!?
教练:  别慌,别慌。今天教练给你弄好了,也能让你的白日梦手柄打游戏。

6J0P3VKUY}AZ@2D[0NY0TSI.gif 那就让我们开始吧。。。
第二期是第一期的升级版,主要需要解决的是从只能看看,到到手自己玩。
   咱们先复习下上一期的内容吧。上一期为了实现飞鼠内容,咱们大费周章的使用了:手机摄像头,蓝牙,ADB,Opencv图像库,白日梦手柄,自制绿帽子,局域网通讯,javaRobot。
使用方式就是将手机摄像头对着自己,再把自制绿帽子安装在手柄上,只要在摄像头取景范围内挥舞,就能够计算出手柄在相机的位置,从而映射到显示器屏幕鼠标位置。再通过安卓ADB监听手柄的按键点击事件,同样映射到电脑中,即可实现飞鼠功能(理论上能够支持所有的蓝牙手柄)。   然而呢我们来说说这种方式的缺点吧,
      1.首先需要依靠摄像头,那么摄像头的位置就是一个关键了,只有将手柄正对着摄像头,那么理论上是最精确的。
QQ截图20171124225629.png
那么明显第三种方式是最理想的,但是却也是不可能的,因为会影响观看呢。
      2.还有就是当手柄离开取景区域后,由于找不到手柄了,所以就完全没法工作了。
      3.取景区域中不能出现绿色(较大区域),由于位置的计算采用图像算法处理中的绿幕方式,所以如果你穿着绿色衣服的话,那么就会被认为的手柄,也就是人体移动手柄了。
XXXXX:教练你讲了这么多,全是在讲第一期的东西诶。
教练:好呐,好呐。那么接下来就说第二期主要做的事情啦。



    既然我们手里拿到的暴风魔镜白日梦套装,那么我们是不是要加入暴风元素呢?那么这就是我们这期的关键了,也是在第一期中略过的。
    既然是体感手柄,那么其实我们可以直接获取到手柄中的体感数据,来支持我们对飞鼠功能的实现,在体感VR游戏中,我们将手柄向上抬手,会发现游戏中的指针射线(就这样称呼吧),也会跟着我们抬手的幅度移动,那么是不是可以根据这个原理,当抬手的时候就将鼠标位置向上移动,其他方向同理呢?既然想到了这,我们就动手吧,既然是暴风家的东西,我们当然得去他们的开发者平台了咯。好的我们顺利了下载到了暴风魔镜安卓SDK,我们就可以通过SDK拿到手柄在移动中体感数据了。
  那么我们会这么成功嘛?
  不存在的!!!~~~   
   (}NNWGPO}6IT0@QW8BI(W(V.gif
  如果存在的话,那么我们第一期就已经完成了,为什么还会有第二期。
  好吧这里我们就长话短说,在我们翻云覆雨阅读了一番Android SDK后,把Demo安装好,然后连接上手柄,最后成功打开APP,然后... 然后... 没然后了,为什么我找不到哪有相关体感手柄数据返回的回调呢?好吧就这样坑着,就出完了第一期。
  第一期后转回头来,我们选择使用Unity3D来开发手柄试一试,结果... 结果... 结果我看见了什么?↓
QQ截图20171124231227.png
  纳尼? unity3D 中的文档中有清楚的说明 魔镜体感手柄 并且名称是 Mojing motion(这和第一期中安卓adb上显示的设备名称一样)。
那么结论就是Android SDK 不支持 我的体感手柄(也有可能还是我不会用的原因)。所以就这样把第一期给坑出来了。好的既然可以使用那我们就继续吧。
  咱们的白日梦手柄是传说中的九轴手柄,那么这么高大上的东西里面有什么呢?共有3轴加速传感器、3轴陀螺仪和3轴电子罗盘(地磁传感器)。三个部分作用不同,相互配合。

然而其实我们这边就不需要这么多啦,没那么高级。
来来来,来个飞机。
图片5.png
设我们将手柄(飞机头)对着显示器,那么控制鼠标上下和左右的就是Pitch和Yaw俩个方向的数据了。
理论知识初步了解后,我们就要从专业角度分析了
我们打开我们的暴风魔镜Demo
F30492107F8DBD48D82EB2E95DE2BF9C.jpg
分析下图中的红字部分。
魔镜unity程序中:
quaternion(x, y, z, w)  四元数  [quartArray 旋转四元数]
angularArray(x, y, z)  角加速度
linearArray(x, y, z)         线加速度
FixQuate(x, y, z, w)   暴风魔镜手柄中的用于校对手柄方向用的

好麻烦,那我就说下第一个和最后一个吧。
quaternion中的x为飞机图中的Pitch,y为飞机图中的Yaw。
那么我们就可以根据这俩个值进行简单位置映射到屏幕了。
那么最后一个FixQuate是用来干嘛的呢,不知道大家记不记得,白日梦手柄中有一个圆按键,长按后就会复位到屏幕正中间,这个操作就是修正手柄所在世界坐标,让你所在的方向就是世界的正方形(不知道你有没有听懂,只要知道他是用来校准坐标用的就行了)。

  该知道的我们都知道了,那么是不是该动手开干了。
那么第一个问题就是,我们要肿么样有这种指哪打哪的感觉呢?
相当于手柄以角度的方式移动,映射到屏幕的时候就是直线的距离问题了。那么接下来上草稿图。
新建画布1.png 我就懒得多说了咯,大概意思说 显示器62.3cm*36.5cm,最佳距离手柄使用距离屏幕是31.6cm,可使用角度为,上+下60度,左+右90度。毕竟屏幕是16:9的嘛
那么接下俩就是打代码的事情了,如果将角度转换为相对位置移动。

那么点击事件怎么办呢?
QQ截图20171124220720.png
有滴有滴都有滴,官方SDK文档。
   成功获取到数据后,我们通过无线数据传递到PC的java程序里,然后控制电脑的鼠标操作。上成果。

VID_20171121_212154.gif


VID_20171124_214926.gif

xxxxVID_20171124_215000.gif


xxxxVID_20171124_215923(0).gif

xxxxVID_20171124_215923(1).gif

xxxxVID_20171124_220428(0).gif 由于这老古董游戏的屏幕比例的问题,所以有位移的情况,在正常屏幕画画gif中,是没有偏移问题滴。
那么总结的时间快到了。
我们先看看这俩期实现的原理区别要求把。
QQ截图20171125001631.png
教练:讲完了~~~~~ 各位童鞋还有什么想问的木有?
XXXX:教练教练,你这么一说完,我看懵比的看完了,那我也要玩,怎么办啊~
教练:诶,你好麻烦啊。 那我就简单的打个包给你吧。

下载地址:
http://pan.baidu.com/s/1nuPSoGh  zw0h
我是不是也可以搞个售价,把密码隐藏起来诶。

来说说要求把,
  首先手机和电脑必须在同一网络下。
  其次电脑的IP必须是192.168.61.247(你问我为什么,其实我主要是懒,懒得写成动态修改的,我就写死在这里了[这要求会死一大半人,等我哪天有心情了我就加动态修改])
  再就是需要java运行环境,因为java写的咯(java无敌的勒,上到服务,桌面端,下到手机,硬件端[这个用的好像hen少],啥都阔以做)
  最后手柄必须是暴风的白日梦手柄。

一共是俩个端的程序,第一个安卓端,第二个PC端(你问我为啥没有水果端,然而我并不会)
首先手机连接手柄,然后启动APP,再双击jar程序,只要PC端程序一接受到来自手柄的数据,立马就会实时控制鼠标,手柄中间的校准按键,长按即可。在使用的过程中请不要修改电脑分辨率,因为PC端程序在启动的时候会获取当前屏幕进行计算,并不是实时获取屏幕分辨率滴。

好滴后面就祝你好运了。



PS:关于会不会有第三期的问题呢?这个就要看情况了,之前有水友提到说把白日梦手柄直接当vive手柄一样在steamVR中玩游戏。emmm想了想好像是阔以吧。手柄数据 -》 手机 -》 PC -》翻译成OpenVR代码 -》SteamVR上 。 感觉好像有扩能吧。 看我有这本事没。
参与人数 3威望 +3 懵币 +30 收起 理由
blue_k + 1 + 10 很给力!
lyljj + 1 + 10 真技术流
夜舞的精灵 + 1 + 10 怒顶一波

查看全部评分总评分 : 威望 +3 懵币 +30

回复

发表于 2017-11-25 00:33:33 使用道具 举报

精彩评论17

上一期
暴风白日梦手柄除了用在VR上还能干嘛?(第一期)
https://dmgeek.com/vr18698-1.html

下一期
暴风白日梦手柄还能干嘛?(2.5期,程序使用说明)
https://dmgeek.com/vr19132-1.html
回复

发表于 2018-1-25 19:29:15 使用道具 举报

沙发在手,天下我有
回复

发表于 2017-11-25 00:37:43 使用道具 举报

板凳也有,从此无忧
回复

发表于 2017-11-25 00:38:12 使用道具 举报

一个小小的手柄能被酱酱玩出来这么多花样,等我回去给你加分表扬
来自安卓客户端来自安卓客户端
欢迎大家来水区闲聊赚积分啊!
回复

发表于 2017-11-25 11:54:30 使用道具 举报

lyljj 发表于 2017-11-25 11:54
一个小小的手柄能被酱酱玩出来这么多花样,等我回去给你加分表扬

因为没东西玩了咯。
回复

发表于 2017-11-25 15:22:45 使用道具 举报

灵酱 发表于 2017-11-25 15:22
因为没东西玩了咯。

你这几次威望涨的很快,再多存点懵逼,如果将来有第三期VR体验师你的希望就很大了
欢迎大家来水区闲聊赚积分啊!
回复

发表于 2017-11-25 18:43:27 使用道具 举报

支持一下,前排撒花
回复

发表于 2017-11-27 11:17:56 使用道具 举报

原来大神在民间,一个手柄也可以玩出多种花样。
回复

发表于 2017-11-27 11:29:58 使用道具 举报

为啥你的字那么难看
回复

发表于 2017-11-27 16:47:09 使用道具 举报

我来顶,为了看到第三期
来自安卓客户端来自安卓客户端
回复

发表于 2017-11-27 17:24:55 使用道具 举报

舢舨 发表于 2017-11-27 16:47
为啥你的字那么难看

(}NNWGPO}6IT0@QW8BI(W(V.gif 会打字不就好了。我好多年没写字了,握笔都没力气了。
回复

发表于 2017-11-28 09:09:27 使用道具 举报

lyljj 发表于 2017-11-25 18:43
你这几次威望涨的很快,再多存点懵逼,如果将来有第三期VR体验师你的希望就很大了 ...

那我估计得变成水神了吧
回复

发表于 2017-11-28 09:10:06 使用道具 举报

灵酱 发表于 2017-11-28 09:09
会打字不就好了。我好多年没写字了,握笔都没力气了。

比我的字好太多了,我打字还凑合,看书没问题,但提笔就写不出来了,写出来的恐怕也只能我自己能看懂。。。
欢迎大家来水区闲聊赚积分啊!
回复

发表于 2017-11-28 09:33:58 使用道具 举报

lyljj 发表于 2017-11-28 09:33
比我的字好太多了,我打字还凑合,看书没问题,但提笔就写不出来了,写出来的恐怕也只能我自己能看懂。。 ...

其实是笔尖不行,下次换成毛笔笔刷,看你们谁还说难看
回复

发表于 2017-11-28 09:50:43 使用道具 举报

灵酱 发表于 2017-11-28 09:50
其实是笔尖不行,下次换成毛笔笔刷,看你们谁还说难看

好,下次看你写毛笔字
回复

发表于 2017-11-28 09:53:13 使用道具 举报

66666666666
回复

发表于 2018-2-4 18:43:24 使用道具 举报

大佬厉害了,最后那个能用于steamvr的话就真的厉害了。还有一件事,那个啥,能把白日梦手柄连到daydream官方app吗,这个能研究出来吗???
回复

发表于 2018-2-7 22:41:44 使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

威望17

懵币2457

帖子18

发布主题
阅读排行

下载盗梦APP

关注盗梦极客
一起玩转VR

© 2015 盗梦极客 | VR虚拟现实达人社区 | VR资源及VR眼镜教程 黑ICP备15006149号 VR新手指引 联系我们