CN110806797A - 一种基于头部运动对游戏进行控制的方法和装置 - Google Patents

一种基于头部运动对游戏进行控制的方法和装置 Download PDF

Info

Publication number
CN110806797A
CN110806797A CN201910228023.0A CN201910228023A CN110806797A CN 110806797 A CN110806797 A CN 110806797A CN 201910228023 A CN201910228023 A CN 201910228023A CN 110806797 A CN110806797 A CN 110806797A
Authority
CN
China
Prior art keywords
data
mouse
axis
acceleration data
head
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910228023.0A
Other languages
English (en)
Inventor
马兴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Ingenic Semiconductor Co Ltd
Original Assignee
Beijing Ingenic Semiconductor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Ingenic Semiconductor Co Ltd filed Critical Beijing Ingenic Semiconductor Co Ltd
Publication of CN110806797A publication Critical patent/CN110806797A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/212Input arrangements for video game devices characterised by their sensors, purposes or types using sensors worn by the player, e.g. for measuring heart beat or leg activity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1012Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals involving biosensors worn by the player, e.g. for measuring heart beat, limb activity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/105Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals using inertial sensors, e.g. accelerometers, gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Heart & Thoracic Surgery (AREA)
  • General Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Position Input By Displaying (AREA)

Abstract

本发明提供了一种基于头部运动对游戏进行控制的方法和装置,其中,该方法包括:获取用户的头部运动数据;将所述头部运动数据模拟转换为鼠标控制数据;将所述鼠标控制数据传送至被控游戏端设备,对所述被控游戏端设备当前的游戏进行控制。通过上述方式使得用户通过头部运动就可以实现游戏控制,而无需再借助鼠标,达到了简单高效实现游戏控制的技术效果。

Description

一种基于头部运动对游戏进行控制的方法和装置
技术领域
本发明涉及数据控制技术领域,特别涉及一种基于头部运动对游戏进行控制的方法和装置。
背景技术
随着互联网技术的不断发展,和游戏技术的不断发展。越来越多的人通过手机和电脑来玩一些以第一人称视角的射击游戏。例如:穿越火线(CF)、CS、火线突击、神庙逃亡等。然而,无论是在安卓手机上,还是在台式机上玩,一般都是需要通过手机来左右上下的摆动来进行遥控,或者是通过手机进行控制的。
为了增强游戏的娱乐性和新鲜感,可以通过智能眼镜的摆动来与游戏中的画面摆动进行同步。例如:在玩穿越火线的时候,第一人称视角的键盘可以控制人物的左右移动前进后退、鼠标的点击控制开枪射击。基于此,可以利用可穿戴的眼镜通过头部左晃动和右晃动来控制游戏人物中的靶星左右移动,例如:抬头就是前进、低头就是后退、点击触摸板就是开枪,为了实现该技术仅需要一根USB线与主设备连接。
然而,针对如何实现具体的控制指令的转换,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种基于头部运动对游戏进行控制的方法,以达到通过头部运动就可以实现对游戏进行控制的目的,该方法包括:
获取用户的头部运动数据;
将所述头部运动数据模拟转换为鼠标控制数据;
将所述鼠标控制数据传送至被控游戏端设备,对所述被控游戏端设备当前的游戏进行控制。
在一个实施方式中,获取用户的头部运动数据包括:
获取用户的头部在x轴的加速度数据、y轴的加速度数据和z轴的加速度数据。
在一个实施方式中,将所述头部运动数据模拟转换为鼠标控制数据包括:
通过HAL层对用户的头部x轴的加速度数据、y轴的加速度数据和z轴的加速度数据进行平均值采样计算,得到人为晃动时的瞬时加速数据;
根据所述瞬时加速数据模拟计算得到鼠标的移动距离和移动速度;
将所述鼠标的移动距离和移动速度通过ioct1字符设备接口写入鼠标协议数据中。
在一个实施方式中,所述鼠标协议为通用的HID协议。
在一个实施方式中,将所述鼠标控制数据传送至被控游戏端设备,包括:
将所述鼠标控制数据以结构体的形式进行打包;
对打包后的数据进行switch判断,以将所述鼠标控制数据转换为相应的鼠标事件;
将转换后得到的鼠标事件通过USB数据线传送至所述被控游戏端设备。
本发明实施例还提供了一种基于头部运动对游戏进行控制的装置,以达到通过头部运动就可以实现对游戏进行控制的目的,该装置包括:
获取模块,用于获取用户的头部运动数据;
转换模块,用于将所述头部运动数据模拟转换为鼠标控制数据;
传送模块,用于将所述鼠标控制数据传送至被控游戏端设备,对所述被控游戏端设备当前的游戏进行控制。
在一个实施方式中,所述获取模块具体用于获取用户的头部在x轴的加速度数据、y轴的加速度数据和z轴的加速度数据。
在一个实施方式中,所述转换模块包括:第一计算单元,用于通过HAL层对用户的头部x轴的加速度数据、y轴的加速度数据和z轴的加速度数据进行平均值采样计算,得到人为晃动时的瞬时加速数据;
第二计算单元,用于根据所述瞬时加速数据模拟计算得到鼠标的移动距离和移动速度;
写入单元,用于将所述鼠标的移动距离和移动速度通过ioct1字符设备接口写入鼠标协议数据中。
在一个实施方式中,所述鼠标协议为通用的HID协议。
在一个实施方式中,所述传送模块包括:
打包单元,用于将所述鼠标控制数据以结构体的形式进行打包;
判断单元,用于对打包后的数据进行switch判断,以将所述鼠标控制数据转换为相应的鼠标事件;
传送单元,用于将转换后得到的鼠标事件通过USB数据线传送至所述被控游戏端设备。
在本发明实施例中,通过将头部运动数据模拟转换为鼠标控制数据,并将鼠标控制数据传送至游戏端,从而实现对游戏的控制。通过上述方式使得用户通过头部运动就可以实现游戏控制,而无需再借助鼠标,达到了简单高效实现游戏控制的技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1是根据本发明实施例的智能眼镜的结构示意图;
图2是根据本发明实施例的游戏控制方法流程图;
图3是根据本发明实施例的基于头部运动对游戏进行控制的方法的方法流程图;
图4是根据本发明实施例的基于头部运动对游戏进行控制的装置的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在本例中,考虑到为了实现基于可穿戴设备对游戏的控制,可以通过可穿戴设备中的MPU传感器进行驱动,可以是通过可穿戴设备系统内部的HID类鼠标协议代取代与主机相连的鼠标;具体的,可以是通过USB线与主机相连,MPU传感器产生的加速数据和角度数据会通过协议转化成鼠标协议中的指令,然后,通过USB传入主机。
然而,虽然上述方式从理论上可以完成可穿戴设备对游戏的控制,不过仍需要解决如下几个问题:
1)实现这种接口需要利用鼠标本身设备内部的HID协议代码,且需要将该协议代码移植并与MPU驱动进行融合。
2)鼠标端的硬件接口需要与可穿戴设备端保持一致,且与主机相连的接口需要是USB接口,这样就可能导致电路的不兼容或者功耗增加,且不能保证完全的模拟实现。
3)会存在距离限制问题,当人的运动用力过猛的时候,有可能会导致扯坏USB连接线。
为了解决上述问题,对现有的基于鼠标的控制进行说明和分析如下:目前游戏中所使用的鼠标主要是光机式鼠标,鼠标移动时会带动胶球滚动,胶球的滚动又摩擦鼠标内的分管的水平和垂直两个方向的栅轮滚轴,从而驱动栅轮转动。栅轮的轮沿为格栅状,紧靠格栅两侧,一侧是红外发光管,另一侧是红外接收组件。这样,鼠标的移动将会被转换为水平和垂直栅轮不同方向和转速的转动。栅轮转动时,栅轮的轮齿周期性遮挡红外发光管发出的红外线照射到水平和垂直两个红外接收组件,从而产生脉冲。鼠标内控制芯片通过两个脉冲的相位差判断得到水平或垂直栅轮的转动方向,通过脉冲的频率判定栅轮的转动速度,并不断通过数据线向主机传送鼠标移动信息,主机通过处理使屏幕上的光标同鼠标同步移动。
对于鼠标而言,还有如下几种定位方式:
1)轨迹球定位编辑轨迹球定位的工作原理与光栅的工作原理类似,只是改变了滚轮的运动方式,其球座是固定不动的,直接用手拨动轨迹球来控制鼠标箭头的移动。轨迹球被搓动时,带动其左右及上下两侧的滚轴,滚轴上带有栅轮,通过发光管和接收组件产生脉冲信号进行定位。不过轨迹球的滚轮积大、行程长,这种定位方式能够作出十分精确的操作。并且轨迹球另一大优点是稳定,通过一根手指来操控定位,不会因为手部动作移动影响定位。此外,也有使用光电方式的轨迹球,其工作原理和发光二级管定位类似。
2)二极管定位编辑是大多数光电鼠标的定位方式,这是一种电眼的工作方式。在光电鼠标内部有一个发光二极管,通过该发光二极管发出的光线,照亮光电鼠标底部表面(这就是为什么鼠标底部总会发光的原因)。然后将光电鼠标底部表面反射回的一部分光线,经过一组光学透镜,传输到一个光感应器件(微成像器)内进行成像。这样,当光电鼠标移动时,其移动轨迹便会被记录为一组高速拍摄的连贯图像。最后利用光电鼠标内部的一块专用图像分析芯片(DSP,数字微处理器)对移动轨迹上摄取的一系列图像进行分析处理,通过对这些图像上特征点位置的变化进行分析,来判断鼠标的移动方向和移动距离,从而完成光标的定位。
3)激光定位编辑也是光电鼠标的一种定位方式,其特点是使用了激光来代替发光二极管发出的普通光。激光是电子受激发出的光,与普通光相比具有极高的单色性和直线性,用于定位的激光主要是不可见光。普通光在不同颜色表面上的反射率并不一致,这就导致光电鼠标在某些颜色表面上由于光线反射率低,导致DSP不能识别的“色盲”问题。此外,普通光在透明等物质表面无法使用,或者产生跳动。由于激光近乎单一的波长能够更好的识别表面情况,灵敏度得到有效提高,因此使用激光定位的鼠标可以有效解决这些问题。
4)蓝影定位编辑蓝影定位是由微软研发的最新的一种精确定位方式,利用BlueTrack蓝影技术的鼠标使用的是蓝色可见光,但其不利用漫反射原理,而是利用激光引擎的镜面反射点成像的原理,蓝光光源透过高角准直透镜打到任意物体表面后,反射光进入汇聚透镜传入CMOS芯片中进行蓝影定位处理。而光学传感器(CMOS Detector)就如同一台高速连拍照相机一样每秒钟拍摄上千张相片,并将其传入图像处理芯片中,芯片对每张图片进行对比最终得出鼠标的移动轨迹。蓝影鼠标的兼容性非常好,可以适应各种桌面,无论是表面光滑的大理石台面上,还是透明的玻璃上,甚至在粗糙的客厅地毯上都能够精确定位。
以上是现有的几种鼠标移动方向和移动距离的确定方式的原理。
在Linux系统下,大部分usb鼠标驱动大致分为三个部分:usb设备驱动部分,用于获取鼠标设备通过usb协议传送过来的坐标和动作事件;input子系统部分;中断上报事件部分,下面对这三个部分说明如下:
1)usb设备驱动部分,在系统启动的时候,系统将会与所有的usb设备相匹配,会扫描USB驱动中注册端口这个端口,这个端口是鼠标设备用于存放即将要发送数据的地方,可以将这个扫描的过程叫做配置。无论是Windows还是Linux内核,都会自动进行这些工作,配置的过程很比较复杂,在这个过程中,系统会建立该设备的设备、配置、接口、设置、端点的描述信息;建立与usb设备传输的通道(这些都是遵循usb协议),在此之后,usb设备的驱动程序与这些接口相匹配。然后,对设备进行一些初始化工作,例如:分配urb,其中,urb是鼠标来数据了,就会调用这个,是用于准备接收数据用的。
2)中断部分,一个数据来临时,usb核心层会触发一个回调函数,这个回调函数在设备驱动注册后在通过Kernel提供的一个Api调用后就会提交给hcd(usb控制器)来调度接收和发送数据。
3)Input子系统,在驱动中注册一个input设备,当获得鼠标的的坐标数据时,需要向系统的udev结点上报坐标和动作事件,余下的部分将交由系统层完成。-
基于此,在本例中考虑到可以通过可穿戴设备的移动产生的加速度和角速度计算得到距离和角度数据,通过这些数据可以替换为鼠标产生的事件。对于主机系统侧的鼠标驱动是不需要关心的,只需要做好替换工作就可以做到通过可穿戴设备来进行游戏控制了。
对于鼠标而言,鼠标内部一般包括两个模块:一部分是DSP芯片和光栅机械传感器,两者通过物理的移动来产生数字信号,然后计算得到移动中每个点的坐标和距离;另一部分是作为usb设备部分,用于遵循usb设备端协议,将数据通过usb线传送至主机。
在MPU Sensor驱动中会一直产生中断,相应的驱动程序会一直得到加速度数据。将可穿戴设备(例如:眼镜)看作一个整体。如图1所示,在三维方向延伸出3个轴线,例如,以z轴作为受到的重力值,可程式控制,且程式控制范围为±2g、±4g、±8g和±16g的3轴加速器。通过加速计数据,可以在HAL层进行平均值采样运算,从而得到人为晃动的瞬时加速数据,并将其换算为鼠标的移动距离和移动速度,然后,再通过ioctl字符设备接口将移动距离和移动速度写回到鼠标的源码中。
假设鼠标内部芯片有一个芯片也是重力感应Sensor(也可能是光学感应),那么当移动鼠标或者是点击产生数据的时候后,这些数据会通过usb线走HID协议送到上述的驱动中去。基于此考虑到可以将该HID协议代码移植到可穿戴设备的Kernel中,这样可穿戴设备就可以变为一个可穿戴的移动鼠标。相应的,被传输的数据源就是通过头部的晃动MPU产生的数据通过计算将最终的结果进行分类,然后按照上述的HID协议将移动速度、移动距离、角度、移动方向以结构体的形式对数据进行打包,并可以做switch判断,使得上述头部运动的数据转换为鼠标上下左右移动的事件,也就是说,MPU产生的事件需要与鼠标对应的事件保持对应,从而最终可以将MPU产生的事件转换为原始鼠标的数据发送到主机,因为系统和协议是支持鼠标的但是不支持MPU的。
具体的,MPU时时刻刻产生加速度数据和角速度数据,经过各个轴线的运动会产生不同方向的加速度的分量,通过分量可以算出瞬时的运动夹角,通过采集一段时间内的加速数据和变化分析,可以判断出可穿戴设备是运动还是静止,还是运动到某一点停止,以及具体的移动距离,并将这些数据模拟得到鼠标运动数据,然后采用鼠标的数据格式进行包装。
举例而言,MPU检测到头部向左方移动10cm,距离加速度是x轴方向产生了0.6g,角度为0,在计算得到这个数据后,可以对这个数据在程序中做手动映射,将其映射到鼠标中的移动距离事件和角度事件。例如:头部向正左方移动了10cm的事件,映射到主机端就是鼠标向左移动的10cm,对于主机侧而言,仍旧认为是鼠标发送过来的命令通过驱动上报到主机的。
通过上述方式,在具备重力传感器的可穿戴设备上与主机连接可以实现鼠标模拟。
如图1所示,在本例中提供了一种游戏用智能眼镜,可以包括:
1)穿戴部件101,用于将所述智能眼镜套在头部;
2)重力传感器102,用于感应用户的头部运动;
3)MPU103,与所述重力传感器102相连,用于获取所述头部运动数据,并将所述头部运动数据转换为鼠标控制数据,其中,所述鼠标控制数据传送至主机用于对游戏进行控制。
即,通过在可穿戴设备(例如:智能眼镜)中增加重力传感器来感应用户的头部运动,并将用户的头部运动转换为鼠标指令(例如:前后左右移动等),从而实现对游戏的控制。通过上述方式使得用户通过头部运动就可以实现游戏控制,而无需再借助鼠标,达到了简单高效实现游戏控制的技术效果。
上述的重力传感器102可以包括:加速度传感器和角速度传感器。通过加速度传感器和角速度传感器的设置,使得可以有效获取用户头部运动的移动速度、移动距离、角度、移动方向等,从而可以将其一一转换为鼠标对应的事件,从而可以被封装打包为鼠标事件,从而实现对游戏的控制。
为了实现对主机中游戏的控制,在智能眼镜上可以如图1所示,设置USB数据线104,该USB数据线可以与MPU103相连,用于将所述鼠标控制数据传送至主机。
上述USB数据线可以通过HID协议将数据传送至主机,进一步的上述智能眼镜中可以设置有Kernel模块,其中,所述HID协议位于Kernel中。
上述主机是可以任意的能够承载和玩游戏的设备,例如,可以是移动终端、可以是台式机等等。
进一步的,考虑到智能眼镜的主要作用是完成智能眼镜本申请的观看或者VR AR等技术,鼠标功能并非是智能眼镜最主要的作用,为此,可以设置一个鼠标功能控制开关,通过该控制开关,可以控制所述智能眼镜是否开启鼠标功能,从而可以使得需要进行游戏控制的时候,就开始眼镜的鼠标模拟功能,如果不需要进行游戏控制,可以将其鼠标模拟功能关闭,以适应于不同的场景需求。
基于上述的智能眼镜,可以采用如图2所示的方法步骤实现控制:
S1:通过头部运动来触发眼镜运动传感器,得到x、y、z轴的三轴的加速度数据;
S2:通过安卓标准接口上报至HAL层,模拟鼠标的运动轨迹算法,将加速度的数据按一定时间进行采样,得到一个平均加速值,从而可以算出各个方向的移动距离。然后,再将3个加速度的值模拟出鼠标定位光电值,得出模拟的坐标;。
S3:将这组数据从Hal层写到Driver层的鼠标协议代码中,然后通过usb采用中断传输的方式走usb协议将数据传输到主机;
S4:主机系统的Kernel接收到数据后,会认为这些数据是鼠标发过来的数据,并通过驱动上报给系统,以完成模拟。
通过上例所提供的智能眼镜和具体的实现方式,可以增强游戏的真实感,达到了以第一人称头部视角代替手动鼠标来控制游戏的目的,增大了游戏的乐趣。具体的,通过眼镜内部的重力传感器代替主机上的鼠标,可以增加游戏的新鲜感,游戏中的瞄准度会更高。
因为采用的HID协议,从而使得上述的装置和方法中所涉及的驱动可以是基于Linux平台的,也可以是基于Windows系统的,可以实现多种系统和设备的兼容。
在本说明书中,诸如第一和第二这样的形容词仅可以用于将一个元素或动作与另一元素或动作进行区分,而不必要求或暗示任何实际的这种关系或顺序。在环境允许的情况下,参照元素或部件或步骤(等)不应解释为局限于仅元素、部件、或步骤中的一个,而可以是元素、部件、或步骤中的一个或多个等。
图3为本申请实施例提供的一种基于头部运动对游戏进行控制的方法。虽然下文描述流程包括以特定顺序出现的多个操作,但是应该清楚了解,这些过程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。如图3所示,所述方法包括:
步骤301:获取用户的头部运动数据;
步骤302:将所述头部运动数据模拟转换为鼠标控制数据;
步骤303:将所述鼠标控制数据传送至被控游戏端设备,对所述被控游戏端设备当前的游戏进行控制。
上述步骤301获取用户的头部运动数据可以包括:获取用户的头部在x轴的加速度数据、y轴的加速度数据和z轴的加速度数据。
上述步骤302将所述头部运动数据模拟转换为鼠标控制数据可以包括:
S1:通过HAL层对用户的头部x轴的加速度数据、y轴的加速度数据和z轴的加速度数据进行平均值采样计算,得到人为晃动时的瞬时加速数据;
S2:根据所述瞬时加速数据模拟计算得到鼠标的移动距离和移动速度;
S3:将所述鼠标的移动距离和移动速度通过ioct1字符设备接口写入鼠标协议数据中。
在一个实施方式中,上述鼠标协议为通用的HID协议。
在一个实施方式中,将所述鼠标控制数据传送至被控游戏端设备,可以包括:
S1:将所述鼠标控制数据以结构体的形式进行打包;
S2:对打包后的数据进行switch判断,以将所述鼠标控制数据转换为相应的鼠标事件;
S3:将转换后得到的鼠标事件通过USB数据线传送至所述被控游戏端设备。
基于同一发明构思,本发明实施例中还提供了一种基于头部运动对游戏进行控制的装置,如下面的实施例所述。由于基于头部运动对游戏进行控制的装置解决问题的原理与基于头部运动对游戏进行控制的方法相似,因此基于头部运动对游戏进行控制的装置的实施可以参见基于头部运动对游戏进行控制的方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图4是本发明实施例的基于头部运动对游戏进行控制的装置的一种结构框图,如图4所示,可以包括:获取模块401、转换模块402和传送模块403,下面对该结构进行说明。
获取模块401,用于获取用户的头部运动数据;
转换模块402,用于将所述头部运动数据模拟转换为鼠标控制数据;
传送模块403,用于将所述鼠标控制数据传送至被控游戏端设备,对所述被控游戏端设备当前的游戏进行控制。
在一个实施方式中,获取模块401具体可以用于获取用户的头部在x轴的加速度数据、y轴的加速度数据和z轴的加速度数据。
在一个实施方式中,转换模块402可以包括:第一计算单元,用于通过HAL层对用户的头部x轴的加速度数据、y轴的加速度数据和z轴的加速度数据进行平均值采样计算,得到人为晃动时的瞬时加速数据;第二计算单元,用于根据所述瞬时加速数据模拟计算得到鼠标的移动距离和移动速度;写入单元,用于将所述鼠标的移动距离和移动速度通过ioct1字符设备接口写入鼠标协议数据中。
在一个实施方式中,所述鼠标协议可以为通用的HID协议。
在一个实施方式中,传送模块403可以包括:打包单元,用于将所述鼠标控制数据以结构体的形式进行打包;判断单元,用于对打包后的数据进行switch判断,以将所述鼠标控制数据转换为相应的鼠标事件;传送单元,用于将转换后得到的鼠标事件通过USB数据线传送至所述被控游戏端设备。
在另外一个实施例中,还提供了一种软件,该软件用于执行上述实施例及优选实施方式中描述的技术方案。
在另外一个实施例中,还提供了一种存储介质,该存储介质中存储有上述软件,该存储介质包括但不限于:光盘、软盘、硬盘、可擦写存储器等。
从以上的描述中,可以看出,本发明实施例实现了如下技术效果:在本发明实施例中,通过将头部运动数据模拟转换为鼠标控制数据,并将鼠标控制数据传送至游戏端,从而实现对游戏的控制。通过上述方式使得用户通过头部运动就可以实现游戏控制,而无需再借助鼠标,达到了简单高效实现游戏控制的技术效果。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于头部运动对游戏进行控制的方法,其特征在于,包括:
获取用户的头部运动数据;
将所述头部运动数据模拟转换为鼠标控制数据;
将所述鼠标控制数据传送至被控游戏端设备,对所述被控游戏端设备当前的游戏进行控制。
2.根据权利要求1所述的方法,其特征在于,获取用户的头部运动数据包括:
获取用户的头部在x轴的加速度数据、y轴的加速度数据和z轴的加速度数据。
3.根据权利要求2所述的方法,其特征在于,将所述头部运动数据模拟转换为鼠标控制数据包括:
通过HAL层对用户的头部x轴的加速度数据、y轴的加速度数据和z轴的加速度数据进行平均值采样计算,得到人为晃动时的瞬时加速数据;
根据所述瞬时加速数据模拟计算得到鼠标的移动距离和移动速度;
将所述鼠标的移动距离和移动速度通过ioct1字符设备接口写入鼠标协议数据中。
4.根据权利要求3所述的方法,其特征在于,所述鼠标协议为通用的HID协议。
5.根据权利要求1所述的方法,其特征在于,将所述鼠标控制数据传送至被控游戏端设备,包括:
将所述鼠标控制数据以结构体的形式进行打包;
对打包后的数据进行switch判断,以将所述鼠标控制数据转换为相应的鼠标事件;
将转换后得到的鼠标事件通过USB数据线传送至所述被控游戏端设备。
6.一种基于头部运动对游戏进行控制的装置,其特征在于,包括:
获取模块,用于获取用户的头部运动数据;
转换模块,用于将所述头部运动数据模拟转换为鼠标控制数据;
传送模块,用于将所述鼠标控制数据传送至被控游戏端设备,对所述被控游戏端设备当前的游戏进行控制。
7.根据权利要求6所述的装置,其特征在于,所述获取模块具体用于获取用户的头部在x轴的加速度数据、y轴的加速度数据和z轴的加速度数据。
8.根据权利要求7所述的装置,其特征在于,所述转换模块包括:
第一计算单元,用于通过HAL层对用户的头部x轴的加速度数据、y轴的加速度数据和z轴的加速度数据进行平均值采样计算,得到人为晃动时的瞬时加速数据;
第二计算单元,用于根据所述瞬时加速数据模拟计算得到鼠标的移动距离和移动速度;
写入单元,用于将所述鼠标的移动距离和移动速度通过ioct1字符设备接口写入鼠标协议数据中。
9.根据权利要求8所述的装置,其特征在于,所述鼠标协议为通用的HID协议。
10.根据权利要求6所述的装置,其特征在于,所述传送模块包括:
打包单元,用于将所述鼠标控制数据以结构体的形式进行打包;
判断单元,用于对打包后的数据进行switch判断,以将所述鼠标控制数据转换为相应的鼠标事件;
传送单元,用于将转换后得到的鼠标事件通过USB数据线传送至所述被控游戏端设备。
CN201910228023.0A 2018-07-20 2019-03-25 一种基于头部运动对游戏进行控制的方法和装置 Pending CN110806797A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2018108022007 2018-07-20
CN201810802200 2018-07-20

Publications (1)

Publication Number Publication Date
CN110806797A true CN110806797A (zh) 2020-02-18

Family

ID=69487340

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910228023.0A Pending CN110806797A (zh) 2018-07-20 2019-03-25 一种基于头部运动对游戏进行控制的方法和装置

Country Status (1)

Country Link
CN (1) CN110806797A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021168922A1 (zh) * 2020-02-25 2021-09-02 上海唯二网络科技有限公司 通过头戴式vr显示设备实现人机交互的方法及装置
WO2024031614A1 (en) * 2022-08-12 2024-02-15 Tze Yuk MAK A human-interface device and a method for human-machine interface

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101455903A (zh) * 2008-12-29 2009-06-17 何江 用于fps游戏的游戏手柄及其定位方法
WO2009133258A1 (fr) * 2008-03-26 2009-11-05 Smartio Sas Procede et dispositif de commande pour personne handicapee
CN103543843A (zh) * 2013-10-09 2014-01-29 中国科学院深圳先进技术研究院 基于加速度传感器的人机接口设备及人机交互方法
US20170242495A1 (en) * 2016-02-24 2017-08-24 Beijing Pico Technology Co., Ltd. Method and device of controlling virtual mouse and head-mounted displaying device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009133258A1 (fr) * 2008-03-26 2009-11-05 Smartio Sas Procede et dispositif de commande pour personne handicapee
CN101455903A (zh) * 2008-12-29 2009-06-17 何江 用于fps游戏的游戏手柄及其定位方法
CN103543843A (zh) * 2013-10-09 2014-01-29 中国科学院深圳先进技术研究院 基于加速度传感器的人机接口设备及人机交互方法
US20170242495A1 (en) * 2016-02-24 2017-08-24 Beijing Pico Technology Co., Ltd. Method and device of controlling virtual mouse and head-mounted displaying device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021168922A1 (zh) * 2020-02-25 2021-09-02 上海唯二网络科技有限公司 通过头戴式vr显示设备实现人机交互的方法及装置
WO2024031614A1 (en) * 2022-08-12 2024-02-15 Tze Yuk MAK A human-interface device and a method for human-machine interface

Similar Documents

Publication Publication Date Title
US20240168602A1 (en) Throwable interface for augmented reality and virtual reality environments
US10191559B2 (en) Computer interface for manipulated objects with an absolute pose detection component
US11625103B2 (en) Integration of artificial reality interaction modes
US20210081036A1 (en) Interaction Engine for Creating a Realistic Experience in Virtual Reality/Augmented Reality Environments
CN110650354B (zh) 虚拟动漫角色直播方法、系统、设备及存储介质
US10564731B2 (en) Processing of gesture-based user interactions using volumetric zones
US7826641B2 (en) Apparatus and method for determining an absolute pose of a manipulated object in a real three-dimensional environment with invariant features
TW202004421A (zh) 用於在hmd環境中利用傳至gpu之預測及後期更新的眼睛追蹤進行快速注視點渲染
JP2024020489A (ja) 仮想、拡張、および複合現実システムのための深度感知技法
CN105393158A (zh) 共享的和私有的全息物体
CN110806797A (zh) 一种基于头部运动对游戏进行控制的方法和装置
US20230349693A1 (en) System and method for generating input data from pose estimates of a manipulated object by using light data and relative motion data
CN110806796A (zh) 一种控制方法和装置
CN110806798A (zh) 一种基于hid协议的控制方法和装置
CN110806811A (zh) 一种通过mpu生成鼠标控制指令的方法和装置
CN110732133A (zh) 一种基于智能眼镜遥控游戏视角的方法和装置
CN110732134A (zh) 一种游戏用智能眼镜
CN113467625A (zh) 虚拟现实的控制设备、头盔和交互方法
CN105511649B (zh) 一种多点定位系统及多点定位方法
CN118678031A (zh) 基于激光投影电视的互动方法、系统、装置
CN113633962A (zh) 一种大空间多人互动集成系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200218