CN116954350A - 一种手机控制角色交互的方法、系统、设备和存储介质 - Google Patents

一种手机控制角色交互的方法、系统、设备和存储介质 Download PDF

Info

Publication number
CN116954350A
CN116954350A CN202210401615.XA CN202210401615A CN116954350A CN 116954350 A CN116954350 A CN 116954350A CN 202210401615 A CN202210401615 A CN 202210401615A CN 116954350 A CN116954350 A CN 116954350A
Authority
CN
China
Prior art keywords
action
mobile phone
data
actions
dance
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
CN202210401615.XA
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 Momo Information Technology Co Ltd
Original Assignee
Beijing Momo Information Technology 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 Momo Information Technology Co Ltd filed Critical Beijing Momo Information Technology Co Ltd
Priority to CN202210401615.XA priority Critical patent/CN116954350A/zh
Publication of CN116954350A publication Critical patent/CN116954350A/zh
Pending legal-status Critical Current

Links

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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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/24Constructional details thereof, e.g. game controllers with detachable joystick handles
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72427User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting games or graphical animations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/011Emotion or mood input determined on the basis of sensed human body parameters such as pulse, heart rate or beat, temperature of skin, facial expressions, iris, voice pitch, brain activity patterns

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Telephone Function (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明公开了一种手机控制角色交互的方法,包括:生成虚拟人物;移动手机完成任意动作;采集手机动作数据;将动作数据按照预设处理规则进行处理;将处理后的结果按照预设判断规则进行适配判断,判定手机完成了何种规定动作;根据规定动作的适配结果输出虚拟人物的预设交互动作。本发明创新了手机控制交互方式,通过陀螺仪和重力传感器等多种手机固有传感器,识别出手部舞蹈动作类型和动作幅度,并以此作为与手机游戏中虚拟人物交互的基础。同时,识别用户手部动作的数据处理方法耗费算力低,手机动作交互体验优秀,较好地实现了可玩性和互动性的融合提升。

Description

一种手机控制角色交互的方法、系统、设备和存储介质
技术领域
本发明属于虚拟互动游戏领域,具体涉及一种手机控制角色交互的方法、系统、设备和存储介质,尤其是一种利用识别手机动作实现用户与虚拟角色互动舞蹈动作的方法。
背景技术
随着互联网技术的发展,网上购物、网络游戏、在线互动娱乐和网上交友互动等新模式越来越普及。随着人们的娱乐需求越来越多,不同网络行为之间的融合趋势越来越明显,尤其是网络游戏和在线互动娱乐,由于自身特点和受众群体高度重合的原因,越来越体现出一种融合的态势。
目前移动端主流的音舞类娱乐工具为《XX炫舞》、《XXX舞团》、《全民XX》等,交互方式均为指尖触碰手机上下左右键盘控制虚偶完成舞蹈动作的模式,虽然这种模式与十几年前大热的互动娱乐游戏《X舞团》操作方式基本一致,但是却很难回到2005-2008年之间《X舞团》的火爆时代。
究其原因主要是这种简单易操作无需深入思考的游戏模式,无法持续激起用户对游戏角色的控制欲,对游戏角色不能产生代入感,游戏动作局限于点击手机屏幕的指定区域,这种简单的重复操作对于玩家而言,不够生动、没有挑战、无趣味性。总体来看,这种原始的“X舞团”式人机交互模式既不能满足游戏用户的游戏需求,也不能较好的满足社交型用户的社交需求。针对新生代的需求,市场上也出现了一些对新交互形式进行探索的游戏和APP。
比如现有技术一公开了一种基于多部位动作识别的互联健身竞技系统,包括四位一体动作识别单元、智能手机客户端、显示设备及互联网服务端;所述四位一体动作识别单元用于采集佩戴部位肢体运动三轴加速度分量数据、三轴角速度数据及三轴磁场分量,包括四个独立穿戴于人体肢体上的可穿戴智能单元,所述可穿戴智能单元包括相互电连接电源模块、数字处理器、加速度计、陀螺仪、磁传感器及蓝牙模块;所述智能手机客户端与四位一体动作识别单元通过蓝牙连接,用于接收各肢体部位运动姿态数据,生成动作指令,并实现数据交互,包括相互电连接的动作分析模块、虚拟竞技模块、互联通讯模块、健身数据分析模块及图像处理模块;所述显示设备与智能手机客户端连接,用于接收智能手机客户端发送的数据,显示图像及相关运动数据;所述互联网服务端与智能手机客户端连接,用于使处于不同地域的用户能够在同一虚拟场景中进行线上竞技,并生成智能健身大数据库,包括相互电连接的互联通讯模块、健身大数据模块、客户端管理模块。该方案通过智能穿戴设备采集人体各个部分的动作,目的是真实的还原用户的动作,通过还原后动作参数与标准数据库中的动作参数进行比对,分析出人体的动作,进而根据分析结果对这些动作进行进一步扩展应用,比如动作是否到位等。该方案的实际上并没有关注到利用手部动作完成与手机交互的需求,缺少交互性和娱乐性。同时,只是提出了功能层面的构想,对具体实现的方法只字未提,比如如何去保证识别的准确性和实时性。此外,该方案对动作的识别采用了占用系统资源极大的比对方式,需要在系统中预先存储足够数量的动作评判标准和数据。鉴于不同个体的运动速度、幅度等存在较大的差异性,需要存储的标准动作的数量相当庞大,不适应现在手机系统运行流畅度的要求。
在目前使用手机动作进行互动的领域,还没有出现互动性和可玩性较好的产品。现有的互动方式普遍集中在类似微信摇一摇这种简单应用中,没有提供一种手部动作和手机呈现内容之间的娱乐竞技互动联系,同时,动作类型和呈现方式单一,很难满足年轻用户对互动体验的高要求。因此,如何针对新一代年轻人的需求开发出适合的互动娱乐模式,并使其与人体生理特点和手机的功能特点有机结合成为亟需要解决的问题。
发明内容
为了配合新世代年轻人对娱乐和社交需求的发展趋势,在音乐舞蹈类娱乐社交领域,需要一种新型音乐舞蹈类游戏的交互方式,打破原始的指尖触碰方向键控制舞蹈动作的简单手游模式。为了达到上述目的,本发明提供一种手机控制角色交互的方法,所述方法包括:
1)生成虚拟人物角色;
2)移动手机完成任意动作;
3)采集手机的动作数据;
4)将动作数据按照预设处理规则进行处理;
5)将处理后的结果按照预设判断规则进行适配判断,判定手机完成了何种规定动作;
6)根据规定动作的适配结果输出虚拟人物的预设交互动作。
进一步的,步骤5)中,所述规定动作至少包括第(1)组:向左,向右,向上,向下,向前,向后;第(2)组:前倾,后仰;或第(3)组:绕z轴旋转。
进一步的,判定(1)组动作时,通过传感器获取x、y和z三个坐标系的加速度,从而确定用户的移动方向,具体为,采用一个数组队列记录整个运动状态中沿x、y和z三个坐标轴加速度的数据,然后截取后三分之一的数据,分别确定x、y和z三个方向上加速度数据的绝对值,绝对值最大的那个分量代表当前运动沿该坐标轴运动,然后根据数值的正负符号判定运动方向。
进一步的,判定(1)组动作时,通过传感器获取x、y和z三个坐标系的加速度,采用一个数组队列记录整个运动状态中沿x、y和z三个坐标轴加速度的数据,然后计算全部数据绝对值的平均值,将平均值与预设的加速度阈值区间进行对比,根据对比结果将手机的运动幅度划分为小幅度、中幅度和大幅度。
进一步的,判定(1)组动作时,如果确认用户选择了女性虚拟人物角色,则可以选择女性专有动作判定模式,具体为,通过传感器获取x、y和z三个坐标系的加速度,采用一个数组队列记录整个运动状态中沿x、y和z三个坐标轴加速度的数据,然后截取后二分之一到六分之五之间的数据,分别确定x、y和z三个方向上加速度数据的绝对值,绝对值最大的那个分量代表当前运动沿该坐标轴运动,然后根据数值的正负符号判定运动方向。
进一步的,判定(2)组动作时,通过内置传感器获取x、y和z三个坐标系的重力加速度参数,计算出手机相对水平方向的偏移角度zTheta,从而得到虚拟角色的前倾或者后仰的参数,其中,为了区分前仰后倾与其他方向,限定手机偏移角度在30度以内判断第(1)组动作,超过30度才判断第(2)组动作。
进一步的,偏移角度的计算方法为:
let gravityX:CGFloat=gravity.x;
let gravityY:CGFloat=gravity.y;
let gravityZ:CGFloat=gravity.z;
let temp:CGFloat=CGFloat(sqrtf(Float(gravityX*gravityX+gravityY*gravityY)));
let zTheta=atan2(gravityZ,temp)/Double.pi*180.0;
其中,gravity代表手机系统接口给出的重力加速度数值,三个轴的数据值分别为gravityX,gravityY,gravityZ,临时变量temp代表x,y所对应的三角形的斜边,sqrtf函数返回值为x2+y2之和的开方,zTheta代表在z轴方向上手机相对x-y平面的偏移角度,Double.pi代表数学符号π(取值3.1415926)。
进一步的,判定(3)组动作时,通过传感器获取手机的heading朝向参数,进而判断用户绕z轴旋转手机的角度,最终确定虚拟角色的旋转圈数,具体为,记录动作开始时候的heading参数和结束时候的heading参数,如果差值大于140则确定为旋转两圈,大于100小于140则确定为旋转一圈,大于35小于100则确定为旋转半圈。
进一步的,步骤2)中,所述规定动作还包括第(4)组,该组动作为手机晃动动作与手指敲击手机屏幕或者手指划过屏幕动作的顺序组合,具体为,在判定手机完成了某一个规定动作后,在一个预设时间段内持续继续检测用户手指是否敲击了手机屏幕或者手指划过屏幕,并进一步检测敲击的区域位置和敲击次数,或者划行的长度和时间,根据预设规则判定敲击屏幕动作和划过屏幕动作对应的特殊动作,触发虚拟人物的特殊动作。
进一步的,所述规定动作还包括第(5)组,该组动作为第(1)至(3)组单个规定动作任意组合形成的连续动作,选定该模式后,单个规定动作完成后需要手机在最终位置停留一个预设时间段,然后将手机返回接近到原始状态再开始下一个规定动作,手机返回原始状态的动作不计入虚拟人物的动作,在连续录入动作完成后,由系统按顺序生成组合舞蹈动作。
进一步的,还包括按照预设完整舞蹈动作完成移动手机动作的形式,具体为:(1)获取一段完整的连续舞蹈画面作为预设舞蹈动作;(2)对该段舞蹈根据节拍进行动作划分;(3)对每个节拍上的动作进行分析,并根据分析结果确定该节拍内完成的舞蹈动作;(4)其中,分析方法为根据该节拍内画面的起始帧、结束帧和若干中间帧的图像变化确定;(5)其中,动作的分析采用神经网络模型实现;(6)根据神经网络输出的结果确定每个节拍的舞蹈动作,并与系统预设的规定动作进行匹配;(7)将匹配结果输出为用户模仿该段舞蹈时需要顺序完成的规定动作并提示给用户;(8)用户在模仿该段舞蹈时,可以采用分节拍模仿模式,或者采用连续动作模仿模式。
此外,本发明还提供了一种系统,用于手机控制角色交互的方法的实现,包括:
1)人物生成模块:用于生成虚拟人物角色;
2)动作采集模块:用于在用户移动手机完成任意动作后,采集相应的手机动作数据;
3)动作数据处理模块:用于将动作数据按照预设处理规则进行处理;
4)动作判断模块:将处理后的结果按照预设判断规则进行适配判断,判定手机完成了何种规定动作;
5)动作输出模块:根据规定动作的适配结果输出虚拟人物的预设交互动作。。
一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现前面任一所述的方法步骤。
一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现前面任一所述的方法步骤。
本发明的有益效果是:
1、动作识别真实度高。传统的互动娱乐类项目,首先就是要准确获取人体的动作,就像现有技术一描述的那样。但是作为一款注重交互性的娱乐游戏,动作的准确性并不是最重要的因素。区别于现有的动作采集技术,本发明并没有一味追求动作识别的准确性和实时性,而是把再现用户的真实意图放在了非常重要的位置。也就是说,用户晃动手机的动作,表明了用户想要完成的一个规定动作,我们采集数据后的分析,应该尽量贴近用户想要完成的这个动作。对此,我们根据人体运动的特点,优化了数据采集后的处理分析过程,甚至针对男性和女性手臂动作各自的特点,设计了有针对性的算法,从而使得数据分析的结果更加“真实”。这也为游戏中的对战和竞技模式提供了很好的基础,让游戏互动更具有娱乐性,而不是一板一眼的去卡点,高度紧张的完成一连串的手指动作。
2、识别速度快。现有技术中,在动作采集中非常注重动作轨迹的获取,因此,会高频采集动作数据并进行分析,并且这些数据包含的种类和数量非常庞大,通常还需要进行复杂的转换计算才能完成数据的初步处理,之后,一般是通过这些轨迹数据与数据库预存的数据的分析比对得出动作是否标准的结论,有些时候甚至会对比极短时间段内的数据,造成数据初步处理和最终的比对都需要很大的存储空间和系统算力。这种规模的算力需求,对于PC端的游戏来讲通常没有压力,但是对于手机端的游戏来讲,就会存在很大的卡顿、发热可能性。本发明的动作判定方法,充分考虑了手机系统算力的承受能力,采集的只是手机内部传感器可以提供的常规数据,并且数据处理中会根据人手部动作的特点对数据进行一定程度的取舍,只使用我们规定部分的数据进行初步处理,并且处理结果为简单的有符号数值,后面与规定动作对应数值的比对完全不需要消耗算力,仅仅是几个单点数据值之间的比对,大大降低了后期比对的复杂度。通过这两个步骤的优化,使得本发明的数据获取和处理过程迅速并且不容易出错,十分适合当前手机端游戏的基本理念。
3、交互性强。本发明将人机交互模式创新为利用手机陀螺仪和重力传感器收集动作数据,将手机本身模拟为角色站立,通过控制手机的方向、重力加速度、角度等参数控制角色舞蹈,解决了单一的游戏交互模式,提升玩家之间的交互性。摇手机这种交互方式类似于细胞的分裂,具备高可传播性,而且突破了传统GUI对交互方式对限制,更能容易让用户关联摇动交互动作和舞蹈动作。此外,本发明还针对社交需求找到了改进方案,创造了单人舞、双人舞、舞池以及IM系统,提供足够多的互动舞蹈模式和舞蹈场景以供用户社交使用。
4、趣味性强。用户可以先上下晃动手机,左右摇摆手机,转动手机弧度,俯仰角度,摇动速度也可以不同,这些动作均有学习成本,且每个用户手的灵活性也不一样,比如调酒师做出各种手部动作就更有优势和优越感,而这种差异也是促使用户更愿意挑战的因素,增加趣味性和竞争性。此外,本发明支持自己创作舞蹈动作,不受预先编制好的舞蹈动作的限制,一个人也能靠不同的手机摇晃组合让虚拟人物跳出千姿百态的舞蹈,还支持舞蹈拆解,可分节拍摇动手机形成舞蹈,更简单更易上手。用户的手部动作无需追求精确的走位和幅度,只需要大致完成指定的动作即可,降低了一些难度,增加了游戏的流畅度和动作成功率,让用户有信心和兴趣持续投入到舞蹈动作的挑战上。
综上,我们改变了手机控制交互的方式,通过手机陀螺仪和重力传感器等多种手机固有传感器,识别出舞蹈动作类型和动作幅度,并以此作为与手机游戏中虚拟人物交互的基础。同时,我们提供一种可以做到快速准确识别用户手部动作的数据处理方法,计算量远小于终端设备算力承受上限,能够达到通过手机控制完成的动作交互的优秀体验,较好地实现了可玩性和互动性的融合提升。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明交互方法的处理流程图;
图2为一个实施例的数据采集示意图;
图3为一个实施例的手机角色交互画面示意图;
图4为一个实施例的手机角色交互画面示意图;
图5为一个实施例的手机角色交互画面示意图;
图6为本发明的系统示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。
另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
如图1所示,本发明提供一种手机控制角色交互的方法,所述方法包括:1)生成虚拟人物角色;2)移动手机完成任意动作;3)采集手机的动作数据;4)将动作数据按照预设处理规则进行处理;5)将处理后的结果按照预设判断规则进行适配判断,判定手机完成了何种规定动作;6)根据规定动作的适配结果输出虚拟人物的预设交互动作。
本发明涉及一种通过手机动作来进行游戏人物动作控制的新交互方法。随着互联网技术的发展,人们的娱乐需求越来越多,目前移动端主流的音舞类娱乐工具为《XX炫舞》、《XXX舞团》、《全民XX》等,主要游戏模式为手机用户快速移动指尖,按照指定顺序和时间间隔触碰手机指定区域显示的上下左右箭头,控制虚拟人物完成相应的舞蹈动作。但是,这种模式却再也难回到05-08年之间《X舞团》的火爆时代,究其原因,主要是这种简单而缺乏变化的手指动作交互方式,无法持续激起用户对游戏角色的控制欲、游戏角色无代入感,体会不到动作类游戏带来的愉悦感,对于玩家而言,这种简单的手指重复动作不够生动、无趣味性,变化少。同时,这种模式不利于拓展和承载用户和用户之间的社交需求,让社交欲望降低到一个很低的水平。
为此,我们在舞蹈类交互中引入了手部动作+手机动作的模式,通过手部的运动带动手机完成一定轨迹的运动,进而控制虚拟人物完成一系列的动作。这种交互模式,通常都会利用手机的传感器硬件完成运动数据的采集,然后对数据进行分析和处理,得到开发者需要的结果。但是我们经过实践发现,由于人手部动作的不确定性比较大,带动手机运动的轨迹和速度也变化的不是很有规律,所以比较难完成一些精细化的动作捕捉、收集和比对判断。像我们大家所熟知的X信摇一摇,实际上就是对人手晃动手机动作进行的一个简单捕捉和判断,因为这个动作本身有比较明确的触发条件,没有方向和幅度这些多余因素的干扰,所以判断起来相对比较简单和准确。但是,如果要用手带动手机完成比较复杂和精确的动作,在识别时就会遇到很大的麻烦。比如同样的向上挥手动作,男用户和女用户的运动轨迹就会很不一样,运动持续时间、幅度和力度相差更远。如何准确地获取手部运动数据,一直是本领域追求的目标。比如某款号称是“将各厂商过往几十年积累的关于人机交互的经验全都沦为废纸”的体感游戏机,为了获得精准的控制器运动数据,采用了各种各样的方法,努力提高轨迹和力度跟踪的精准度,当然,作为代价其也需要为游戏机配备强大的数据采集和处理能力。而作为手机来讲,其可用于游戏的算力相对有限,不要求对运动轨迹做出精确的还原,同时,手机受限于体积、成本以及与系统其他功能配套等原因,也无法采用更加专业数量更多的各类型传感器。因此,如何在有限的条件下,较好地还原用户的动作意图,创造出更好的游戏效果和游戏体验,不要因为生理上的差异导致游戏结果出现较大的偏差,是我们这个发明主要想解决的问题。
首先,和大多数互动类游戏类似,进入游戏后会要求用户选择虚拟人物角色的各项数据,包括选择用户性别界面;用户头像信息采集模块;用户专属虚拟形象形成模块;用户虚拟形象自定义模块。为了解决游戏虚拟角色代入感问题,我们摒弃了统一身高、脸型、发型、穿着服饰的组合生成角色模式,用户可根据自己的喜好打造专属于自己的角色,满足社交型用户的社交需求。一方面提供高还原用户脸型的虚拟造型系统,用户可以在自定义模式下,导入自己的照片生成相应的3D卡通虚拟造型,也可以在众多样本中选择自己最喜欢的脸型、发型、眼睛、鼻子、嘴唇等组合成自己喜欢的形象;另一方面,还可以选择道具库中的各种服装、鞋帽和配饰等,通过这种在舞蹈互动游戏中创新的角色打造模式和交互方式,改进了音舞类游戏的体验,打造出更多的社交场景和社交需求。角色属性确定后,在游戏中虚拟人物就会以用户选定的形象出现,并完成各种预设的舞蹈动作,可以给用户带来极大的满足感和真实体验。
系统开始进入交互后,用户可以根据自己的喜好自由地移动或者晃动手机,也可以根据系统程序提供的动作模板或者导向指引完成指定的手机移动动作,这些手部动作因为手机和手掌融为一体而被传递给手机,用户通过控制手部的动作轨迹和力度,基本可以达到预定动作的要求,完成用户对手机动作的控制。同时,手机内的各种固有传感器会持续采集手机的运动数据,主要包括手机的加速度参数和朝向角度参数,通过这两个基本的数据,可以为后续进一步的一系列处理和计算提供数据基础。为了保证本发明交互控制方法在手机上可以得到顺畅地运行,我们目前只要采集加速度和朝向参数就可以完成后续的计算,保证了算力的节约。
之后,我们将手机收集到的加速度和朝向参数数据按照预设处理规则进行处理。在我们之前的加速度数据处理方法,都是对手部运动的所有运动轨迹、加速度和运动方向进行采集,并在此基础上进行数据比对分析,通常来讲,这类实时采集追求全面性和真实性,会对数据处理的算力要求较高,并且反馈的结果也是多种多样。相对来讲,我们注重娱乐性和互动性,所以对动作的判断并不追求完整的实时轨迹,而是注重判断用户的动作意图,这种意图通常是和规定动作相匹配的。因为我们在游戏中设定的规定动作数量实际上是有限的,所以就要求我们将用户所有的手部运动,尽量归结为预设的规定动作,这样才有助于保持游戏的连贯性和娱乐性。为此,我们设计了一些简单易行的数据处理规则,比如筛选采集数据的时间段,摒弃复杂算法而采用简单的比大小之类的简单算法。一方面维持了游戏的流畅性,同时还可以较高程度地还原用户晃动手机的动作意图,体现真实游戏互动性,不让游戏因为用户不同的肢体结构和手部动作习惯而导致规定动作的判断存在重大差异。
这之后,我们会将处理后的结果按照预设判断规则进行适配判断,判定手机完成了何种规定动作。这个步骤相对简单,因为提前已经制作好了数据库表单,判断规则已经存入其中,一旦确定了某一个参数的最后数值和符号,就可以根据预设的规则进行适配判断,进而给出一个判断结果,比如向左,或者向左然后向上等。需要说明的是,虽然有些时候用户的手部动作并没有按照想执行的动作完成,系统也会根据传感器数值的处理结果,根据规则判定用户完成了什么规定动作。
最后,系统根据规定动作的适配结果输出虚拟人物的预设交互动作。这里,交互动作也就是虚拟人物的舞蹈动作,也是提前在应用舞蹈动作库中存储好的。整个流程简单说就是应用程序处理手机硬件采集的数据,得到相应的预设规定动作,然后再调用Unity引擎的api来驱动虚拟人物展示特定舞蹈动作。理论上讲,手机硬件比如陀螺仪和重力加速度获得的手机移动数据与Unity的api返回的舞蹈动作都是一一对应的,对应关系是由设计者根据手机模拟人体手部运动模式提前进行定义,比如手机前倾超过多少角度对应人物前倾,手机围绕Z轴旋转多少角度对应人物转圈舞蹈等。这里,系统最后输出的舞蹈动作,可以根据需要任意选择模式,单个动作、组合动作或者连续动作都是可以的。
进一步的,步骤5)中,规定动作至少包括第(1)组:向左,向右,向上,向下,向前,向后;第(2)组:前倾,后仰;或第(3)组:绕z轴旋转。这里面的三组动作,可以称之为手机的基本动作,不涉及动作和动作之间的组合和衔接,单纯的完成一个规定动作,就会对应触发虚拟人物的一个舞蹈动作。比如,向左挥动手机,判定为向左,虚拟人物就会向左跨步,同时向左挥手;也可以匹配为向左挥动手机,虚拟人物完成向左旋转一圈的舞蹈动作。总之,一旦系统判定手机完成了“向左”的规定动作,就会在舞蹈动作库中选择与该规定动作对应的预设舞蹈动作,并使用3D引擎将其驱动,完成在手机或者投屏上的显示。规定动作可以设定很多组和很多单体动作,但是这本身对数据处理就是一个挑战,所以,为了保持游戏的连贯性和流畅性,我们没有设计那么多基本规定动作,而是相对简化了这些规定动作。比如向左挥动手机的动作,我们没有把向左这个动作进行更细的划分,比如向左上、左中、左下等。当然,设计更多的规定动作在理论上和实践上是完全可行的,只不过需要明显地增加手机系统的算力和存储。
进一步的,判定(1)组动作时,通过传感器获取x、y和z三个坐标系的加速度,从而确定用户的移动方向,具体为,采用一个数组队列记录整个运动状态中沿x、y和z三个坐标轴加速度的数据,然后截取后三分之一的数据,分别确定x、y和z三个方向上加速度数据的绝对值,绝对值最大的那个分量代表当前运动沿该坐标轴运动,然后根据数值的正负符号判定运动方向。
本发明将人机交互模式创新为利用手机陀螺仪和重力传感器二合一识别舞蹈动作类型和动作幅度,将手机本身模拟为角色站立,通过控制手机的运动方向、重力加速度、转动角度、倾斜角度等参数控制角色舞蹈。通过陀螺仪我们可以获得x,y,z三个坐标系的加速度(userAcceleration),从而获取用户当前时刻的运动状态,包括移动方向。判断上下左右前后的指标用户运动加速度只有在运动的时候才会返回数据,所以只要判断有没有加速度数据返回就可以判断是否在进行移动手机的动作。如前所述,我们的游戏并不追求对运动轨迹的完美再现,只需满足我们判断用户手部运动意图即可。因此,我们的算法处理主要以去除用户多余手部动作的“脏”数据为核心,比如说用户拿手机向左移动,用户手部的实际运动曲线通常是同时有向左和向上(或者向左和向下)的运动指数,我们通过简化算法,保留其运动轨迹的主要方向,只判断这个运动过程最后部分的加速度数据,并根据不同的速度分量来相对精确的判断用户的运动。比如,用户在向左挥动手臂的时候,带动着手机同时向左移动,正常用户的手部在向左运动时不会笔直地向左移动,经过大量测试,我们发现该动作大概率会同时包含有向左和向上的运动分量。这个时候手机硬件传感器系统会通过API给我们返回向左和向上的运动分量,我们采用一个队列记录整个运动状态的返回数据,然后截取整个队列后面三分之一的数据,这样就能大大简化数据处理的总量。具体计算时,只需计算向上和向左哪个分量的平均数值最大,最大的那个数值属于哪个坐标轴,就是沿哪个坐标轴运动,正负符号就代表当前方向,不再去考虑其他数据的大小和方向。我们通过大量实验证明,由于肘关节作为运动初始部位的特点,手部运动更多时候呈现出来的是一种平动和转动相结合的运动,在手部运动快结束或者运动中后段的时刻通常是整个运动意图的真实状态体现,我们以这段时间的方向作为手部动作意图的方向准确率大大提升。通过我们这种简单算法处理的结果就是,很容易判断出上,下,左,右,前,后这几个基本方向,然后就可以将判断结果返回给系统用做后续业务的处理。
参考图2的例子,我们从手机API获得了用户的加速度数据,包括前后顺序和相对应的运动分量,图2是针对一段时间手部运动在手机API中获取的加速度数据,我们制作了一个运动分量作为纵坐标的曲线示意图,已经基本能展示出来整个加速度数值和方向沿x轴方向运动的走势。
在整个队列中,我们获取了如下的数据信息:[0.64652907848358154,0.991446852684021,1.2929573059082031,1.4309231042861938,1.5255753993988037,1.5630614757537842,1.5082021951675415,1.4024903774261475,1.3021039962768555,1.146971583366394,0.91148871183395386,0.58505046367645264,-0.63890910148620605,-0.91290980577468872,-1.0345215797424316,-1.0669131278991699,-1.0675280094146729,-1.0845816135406494,-1.0931657552719116,-1.0017318725585938,-0.87182480096817017,-0.74190628528594971,-0.59959214925765991]。
图2的折线图和上面的数据就是向左晃动或者挥动手机产生的x轴加速度数据,当然,同时采集的还有y轴加速度数据,这里为了简洁没有显示。数据为正是向右的加速度,数据为负是向左的加速度。我们还发现,用户正常向左晃动手机时,绝大部分情况下会有一个先向右的晃动,最后才是跟着向左的晃动。我们采用的数据方案是先用队列记录整个运动的所有数据,然后计算时只取后半部分中绝对值最大的数据就是-1.093,它是负数代表方向向左,其它的右,上,下,前后,都是应用这个逻辑。判断上下左右用的用户加速度userAcceleration这个参数,数据结构是typedef struct{double x;double y;doublez;}CMAcceleration。对于智能手机来讲,通常会返回x,y,z三个坐标轴的加速度数值,有一点需要注意,这里返回的数值应该去除重力加速度对运动轨迹的影响,也就是用户在x,y,z三个轴方向上单纯加速度的数值。在判断当前运动方向更趋向于哪个规定方向时,也就是判断当前速度会被归结为朝向哪个轴运动,我们会比较x,y,z三个轴采集到的加速度数据的绝对值,所有数值中绝对值最大的那个,就代表当前运动方向。在这里实例中,y轴方向返回的加速度数值都是小于x轴方向的,因此,这次的运动就会被认为是沿着x轴方向的一个运动。当然,这个运动方向是我们提前规定好的。所以,如果只设定上下左右这种绝对的方向,就不会出现判断为左上、左下这种中间方向的情形。图2纵轴是当前用户加速度在x轴方向上的数值,横轴就是获取到的数据在数组中的序列位置,本发明的逻辑是在数据数组取后三分之一序列位置上的数据,经与其他轴方向的数值比较后找到其中绝对值最大的那个数值,那个数值属于哪个轴方向上的数值,则判定手机沿着哪个坐标轴的方向进行运动;然后,根据数值的正负符号判断方向,比如沿x轴符号为正则向右,符号为负则向左。其他几个方向也是按照同样的方法进行。
进一步的,判定(1)组动作时,通过传感器获取x、y和z三个坐标系的加速度,采用一个数组队列记录整个运动状态中沿x、y和z三个坐标轴加速度的数据,然后计算全部数据绝对值的平均值,将平均值与预设的加速度阈值区间进行对比,根据对比结果将手机的运动幅度划分为小幅度、中幅度和大幅度。
在实际舞蹈动作的编排设定中,如果只有几个单纯方向的动作只能触发相应的舞蹈动作,则整个舞蹈编排下来会显得动作比较单调,所以,我们在单纯方向的判断时,额外设计了动作幅度这个数据。这个数据的来源与方向判断是一样的,也是通过对用户加速度数值的分析和处理得到的。该方法将加速度数值的大小划分为小中大三个档次范围,在某一个坐标轴方向上所有取值的平均值落入哪个档次就判定为挥手力度属于哪个档次,并将该结果反馈给系统,系统会将动作幅度与动作类型的判断组合起来,相当于增加了两倍的动作样式。每个不同档次的力度都可以触发相应的舞蹈动作,比如向左垫脚跳,向左迈步跳或者旋转,向左踢腿跳或高抬小腿跳。这样,就能把同一个方向上的动作尽量做到丰富一些,娱乐性和互动性也会更强一些。
进一步的,判定(1)组动作时,如果确认用户选择了女性虚拟人物角色,则可以选择女性专有动作判定模式,具体为,通过传感器获取x、y和z三个坐标系的加速度,采用一个数组队列记录整个运动状态中沿x、y和z三个坐标轴加速度的数据,然后截取后二分之一到六分之五之间的数据,分别确定x、y和z三个方向上加速度数据的绝对值,绝对值最大的那个分量代表当前运动沿该坐标轴运动,然后根据数值的正负符号判定运动方向。
在设计时,我们发现男用户和女用户挥手动作的轨迹和力度相差较大,同样的动作男女用户做完后,系统判定结果的一致性有所欠缺,比如一个女用户,反复做出向左挥手的动作,系统最后给出的方向判定结果,会出现大部分时候向左,但是有小部分时候会是向下。实践中,很可能出现男用户左右前后平动完成度较高,不同运动分量数值差异较大的情况,很容易判断出运动方向的情况。但是女用户完成平动动作时,比如向左挥手,就会因为动作习惯、肌肉力量、动作认知等方面的不同而产生与男用户差别较大的运动轨迹和加速度数值,比较明显的是动作开始阶段力度和方向控制度较低,容易出现不一致的情形;再就是动作结束阶段,由于力量不足会导致方向指向性和力度分布与前面阶段产生较大差异,很容易形成基本沿弧形外边缘切线向下的动作,这一阶段尤其容易引发过量的向下分量造成结果的误判。为此,我们针对女性用户的生理特点和动作规律,调整了数据处理的规则,使之更容易满足系统判断的要求,更符合女性用户的生理特点和心理特点,不会让角色之间的互动变成高难度的竞技操作。对于动作难度的部分,可以在设计动作连接和过渡的时候给与充分考虑,让单个规定动作的实现难度不会影响用户的体验。
进一步的,判定(2)组动作时,通过内置传感器获取x、y和z三个坐标系的重力加速度参数,计算出手机相对水平方向的偏移角度zTheta,从而得到虚拟角色的前倾或者后仰的参数,其中,为了区分前仰后倾与其他方向,限定手机偏移角度在30度以内判断第(1)组动作,超过30度才判断第(2)组动作。
实践中,我们采集了大量的移动手机动作,发现在向左、向右、向下和向上摇动手机时,运动过程后段的前倾和后仰的分量明显增大,呈现一种弧线运动叠加到本来的平面运动中的状态,我们判断这与人的关节构造和发力原理有关系,属于通常都会存在的情况。因此,在上下左右四个运动方向中,我们要弱化运动最后阶段俯仰分量对于确定最后运动方向的影响。为此,针对俯仰分量有可能影响正常方向判断的情形,我们设计了在采集加速度时同时采集并识别的后仰或者前倾的角度数值,根据手机运动检测到的数据来判断是否需要判断前倾或者后仰动作,如果前倾后仰角度没有超过30度,则认为是人体手部运动产生的自然俯仰分量,不适配相应的前倾或后仰动作,只分析上下左右的运动方向和幅度。对于专门的前后俯仰判断模式来讲,判断手机倾斜角度需要用户在翻转手机后,将手机回归原位,否则一直停留在某个角度,无法准确计算偏移角度。
进一步的,偏移角度的计算方法为:
let gravityX:CGFloat=gravity.x;
let gravityY:CGFloat=gravity.y;
let gravityZ:CGFloat=gravity.z;
let temp:CGFloat=CGFloat(sqrtf(Float(gravityX*gravityX+gravityY*gravityY)));
let zTheta=atan2(gravityZ,temp)/Double.pi*180.0;
其中,gravity代表手机系统接口API给出的重力加速度数值,三个轴的数据值分别为gravityX,gravityY,gravityZ,临时变量temp代表x,y所对应的三角形的斜边,sqrtf函数返回值为x2+y2之和的开方,zTheta代表在z轴方向上手机相对x-y平面的偏移角度,Double.pi代表数学符号π(取值3.1415926)。上个公式就是求解三维空间某个点和原点连线与z轴的夹角的计算方法,我们采集和处理了另外一组传感器数据gravityX,gravityY,gravityZ,分析出了前倾或者后仰的状态,通过计算得到了偏移角度zTheta。
进一步的,判定(3)组动作时,通过传感器获取手机的heading朝向参数,进而判断用户绕z轴旋转手机的角度,最终确定虚拟角色的旋转圈数,具体为,记录动作开始时候的heading参数和结束时候的heading参数,如果差值大于140则确定为旋转两圈,大于100小于140则确定为旋转一圈,大于35小于100则确定为旋转半圈。旋转是舞蹈动作中重要的组成部分,针对这种动作,我们提取了另外一组朝向传感器的数据,通过计算这组数据得到用户绕竖直轴z轴旋转手机的角度,进而根据适配规则触发相应的旋转动作,充分利用了手机固设的传感器资源,达到了较好的互动效果和舞蹈效果。我们判断旋转朝向结果采用延时的方案,0.5秒内用户的朝向heading参数没有变化则认为这个时刻为初始朝向,在0.5秒内快速旋转运动并记录这段时间所有的运动参数来判断手机最终的转动角度。
进一步的,步骤2)中,规定动作还包括第(4)组,该组动作为手机晃动动作与手指敲击手机屏幕或者手指划过屏幕动作的顺序组合,具体为,在判定手机完成了某一个规定动作后,在一个预设时间段内持续继续检测用户手指是否敲击了手机屏幕或者手指划过屏幕,并进一步检测敲击的区域位置和敲击次数,或者划行的长度和时间,根据预设规则判定敲击屏幕动作和划过屏幕动作对应的特殊动作,触发虚拟人物的特殊动作。手机控制的交互方式中,左右手配合完成的动作相对来讲难度较高,完成后带给用户的满足感也很强,因此,我们设计了两种交互方式叠加的动作模式。在用户向左挥动手机完成一个规定动作后,如果在一个很短的时间段内,传感器紧接着又采集到了滑动或者敲击屏幕的操作,则判断用户在完成一种特殊的动作组合。通常这种动作都是由右手挥动手机的动作,加上左手滑动屏幕的动作组合而成的,充分调动了用户的左右手,并且需要具备一定的协调能力才能完成,可以大大增加游戏的娱乐性和参与性。
进一步的,规定动作还包括第(5)组,该组动作为第(1)至(3)组单个规定动作任意组合形成的连续动作,选定该模式后,单个规定动作完成后需要手机在最终位置停留一个预设时间段,然后将手机返回接近到原始状态再开始下一个规定动作,手机返回原始状态的动作不计入虚拟人物的动作,在连续录入动作完成后,由系统按顺序生成组合舞蹈动作。对于较为高端和熟练的用户,单个舞蹈动作显然不能满足娱乐性和交互性的更高要求,因此,我们在交互方式上增加了连续动作的模式,使之更具有娱乐性和挑战性。
进一步的,除了传统的自由发挥模式,本发明还提供了一种模仿或者说挑战模式,也就是按照预设完整舞蹈动作完成移动手机动作的形式,具体为:(1)获取一段完整的连续舞蹈画面作为预设舞蹈动作;(2)对该段舞蹈根据节拍进行动作划分;(3)对每个节拍上的动作进行分析,并根据分析结果确定该节拍内完成的舞蹈动作;(4)其中,分析方法为根据该节拍内画面的起始帧、结束帧和若干中间帧的图像变化确定;(5)其中,动作的分析采用神经网络模型实现;(6)根据神经网络输出的结果确定每个节拍的舞蹈动作,并与系统预设的规定动作进行匹配;(7)将匹配结果输出为用户模仿该段舞蹈时需要顺序完成的规定动作并提示给用户;(8)用户在模仿该段舞蹈时,可以采用分节拍模仿模式,或者采用连续动作模仿模式。在这种模式下,用户与虚拟人物之间的交互变得更加个性化,更具体验感,用户可以选择自己喜欢的舞蹈或者舞蹈形象作为互动的对象。但是需要注意的是,舞蹈动作的选择不宜过于复杂和奇特,否则神经网络模型的识别准确度会下降,各动作之间的衔接也会随之出现问题。开始训练神经网络时,应该选择节拍和动作分割完整和标准的舞蹈,在积累了一定数量的训练量后,可以完成相对复杂一点的舞蹈的识别。实践中,模型对单纯左右上下移动身体、手部和腿部的动作判断较为准确,对转动等复杂动作的识别还有提升空间。需要注意的是,神经网络识别的动作类型,依然是系统预设好的规定动作类型,这样有助于简单地实现自定义舞蹈动作和系统舞蹈库预存动作之间的匹配,虽然这样会影响输入舞蹈的观赏性和还原度。这种不足只能通过在系统中增加规定动作的类型和增加相当数量的舞蹈动作配置文件解决。
此外,结合图1至图5描述的根据本发明实施例的手机控制角色交互的方法可以由相应的电子设备来实现。图6是示出根据本发明实施例的硬件结构300示意图。
本发明还公开了一种系统,用于手机控制角色交互的方法的实现,包括:1)人物生成模块:用于生成虚拟人物角色;2)动作采集模块:用于在用户移动手机完成任意动作后,采集相应的手机动作数据;3)动作数据处理模块:用于将动作数据按照预设处理规则进行处理;4)动作判断模块:将处理后的结果按照预设判断规则进行适配判断,判定手机完成了何种规定动作;5)动作输出模块:根据规定动作的适配结果输出虚拟人物的预设交互动作。
以及,一种设备,其特征在于,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器完成前面任一项所角色交互方法。
以及,一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时完成如前面任一项所述的角色交互方法。
本实施例中的实现本发明的设备300包括:处理器301、存储器302、通信接口303和总线310,其中,处理器301、存储器302、通信接口303通过总线310连接并完成相互间的通信。
具体地,上述处理器301可以包括中央处理器(CPU),或者特定集成电路(ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
也就是说,设备300可以被实现为包括:处理器301、存储器302、通信接口303和总线310。处理器301、存储器302和通信接口303通过总线310连接并完成相互间的通信。存储器302用于存储程序代码;处理器301通过读取存储器302中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行本发明任一实施例中的方法,从而实现结合附图描述的方法和装置。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。

Claims (14)

1.一种手机控制角色交互的方法,所述方法包括:
1)生成虚拟人物角色;
2)移动手机完成任意动作;
3)采集手机的动作数据;
4)将所述动作数据按照预设处理规则进行处理;
5)将处理后的结果按照预设判断规则进行适配判断,判定手机完成了何种规定动作;
6)根据规定动作的适配结果输出虚拟人物的预设交互动作。
2.根据权利要求1所述的方法,其特征在于,步骤5)中,所述规定动作至少包括第(1)组:向左,向右,向上,向下,向前,向后;第(2)组:前倾,后仰;或第(3)组:绕z轴旋转。
3.根据权利要求2所述的方法,其特征在于,判定(1)组动作时,通过传感器获取x、y和z三个坐标系的加速度,从而确定用户的移动方向,具体为,采用一个数组队列记录整个运动状态中沿x、y和z三个坐标轴加速度的数据,然后截取后三分之一的数据,分别确定x、y和z三个方向上加速度数据的绝对值,绝对值最大的那个分量代表当前运动沿该坐标轴运动,然后根据数值的正负符号判定运动方向。
4.根据权利要求2所述的方法,其特征在于,判定(1)组动作时,通过传感器获取x、y和z三个坐标系的加速度,采用一个数组队列记录整个运动状态中沿x、y和z三个坐标轴加速度的数据,然后计算全部数据绝对值的平均值,将平均值与预设的加速度阈值区间进行对比,根据对比结果将手机的运动幅度划分为小幅度、中幅度和大幅度。
5.根据权利要求2所述的方法,其特征在于,判定(1)组动作时,如果确认用户选择了女性虚拟人物角色,则可以选择女性专有动作判定模式,具体为,通过传感器获取x、y和z三个坐标系的加速度,采用一个数组队列记录整个运动状态中沿x、y和z三个坐标轴加速度的数据,然后截取后二分之一到六分之五之间的数据,分别确定x、y和z三个方向上加速度数据的绝对值,绝对值最大的那个分量代表当前运动沿该坐标轴运动,然后根据数值的正负符号判定运动方向。
6.根据权利要求2所述的方法,其特征在于,判定(2)组动作时,通过内置传感器获取x、y和z三个坐标系的重力加速度参数,计算出手机相对水平方向的偏移角度zTheta,从而得到虚拟角色的前倾或者后仰的参数,其中,为了区分前仰后倾与其他方向,限定手机偏移角度在30度以内判断第(1)组动作,超过30度才判断第(2)组动作。
7.根据权利要求6所述的方法,其特征在于,偏移角度的计算方法为:
let gravityX:CGFloat=gravity.x;
let gravityY:CGFloat=gravity.y;
let gravityZ:CGFloat=gravity.z;
let temp:CGFloat=CGFloat(sqrtf(Float(gravityX*gravityX+gravityY*gravityY)));
let zTheta=atan2(gravityZ,temp)/Double.pi*180.0;
其中,gravity代表手机系统接口给出的重力加速度数值,三个轴的数据值分别为gravityX,gravityY,gravityZ,临时变量temp代表x,y所对应的三角形的斜边,sqrtf函数返回值为x2+y2之和的开方,zTheta代表在z轴方向上手机相对x-y平面的偏移角度,Double.pi代表数学符号π(取值3.1415926)。
8.根据权利要求2所述的方法,其特征在于,判定(3)组动作时,通过传感器获取手机的朝向参数,进而判断用户绕z轴旋转手机的角度,最终确定虚拟角色的旋转圈数,具体为,记录动作开始时候的朝向参数和结束时候的朝向参数,如果差值大于140则确定为旋转两圈,大于100小于140则确定为旋转一圈,大于35小于100则确定为旋转半圈。
9.根据权利要求2所述的方法,其特征在于,步骤2)中,所述规定动作还包括第(4)组,该组动作为手机晃动动作与手指敲击手机屏幕或者手指划过屏幕动作的顺序组合,具体为,在判定手机完成了某一个规定动作后,在一个预设时间段内持续继续检测用户手指是否敲击了手机屏幕或者手指划过屏幕,并进一步检测敲击的区域位置和敲击次数,或者划行的长度和时间,根据预设规则判定敲击屏幕动作和划过屏幕动作对应的特殊动作,触发虚拟人物的特殊动作。
10.根据权利要求2所述的方法,其特征在于,所述规定动作还包括第(5)组,该组动作为第(1)至(3)组单个规定动作任意组合形成的连续动作,选定该模式后,单个规定动作完成后需要手机在最终位置停留一个预设时间段,然后将手机返回接近到原始状态再开始下一个规定动作,手机返回原始状态的动作不计入虚拟人物的动作,在连续录入动作完成后,由系统按顺序生成组合舞蹈动作。
11.根据权利要求1所述的方法,其特征在于,还包括按照预设完整舞蹈动作完成移动手机动作的形式,具体为:(1)获取一段完整的连续舞蹈画面作为预设舞蹈动作;(2)对该段舞蹈根据节拍进行动作划分;(3)对每个节拍上的动作进行分析,并根据分析结果确定该节拍内完成的舞蹈动作;(4)其中,分析方法为根据该节拍内画面的起始帧、结束帧和若干中间帧的图像变化确定;(5)其中,动作的分析采用神经网络模型实现;(6)根据神经网络输出的结果确定每个节拍的舞蹈动作,并与系统预设的规定动作进行匹配;(7)将匹配结果输出为用户模仿该段舞蹈时需要顺序完成的规定动作并提示给用户;(8)用户在模仿该段舞蹈时,可以采用分节拍模仿模式,或者采用连续动作模仿模式。
12.一种系统,用于手机控制角色交互的方法的实现,包括:
1)人物生成模块:用于生成虚拟人物角色;
2)动作采集模块:用于在用户移动手机完成任意动作后,采集相应的手机动作数据;
3)动作数据处理模块:用于将动作数据按照预设处理规则进行处理;
4)动作判断模块:将处理后的结果按照预设判断规则进行适配判断,判定手机完成了何种规定动作;
5)动作输出模块:根据规定动作的适配结果输出虚拟人物的预设交互动作。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-11任一所述的方法步骤。
14.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现权利要求1-11任一所述的方法步骤。
CN202210401615.XA 2022-04-17 2022-04-17 一种手机控制角色交互的方法、系统、设备和存储介质 Pending CN116954350A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210401615.XA CN116954350A (zh) 2022-04-17 2022-04-17 一种手机控制角色交互的方法、系统、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210401615.XA CN116954350A (zh) 2022-04-17 2022-04-17 一种手机控制角色交互的方法、系统、设备和存储介质

Publications (1)

Publication Number Publication Date
CN116954350A true CN116954350A (zh) 2023-10-27

Family

ID=88458965

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210401615.XA Pending CN116954350A (zh) 2022-04-17 2022-04-17 一种手机控制角色交互的方法、系统、设备和存储介质

Country Status (1)

Country Link
CN (1) CN116954350A (zh)

Similar Documents

Publication Publication Date Title
KR101700468B1 (ko) 사용자로부터 학습된 입력을 통해 비주얼 표현을 활성화하는 방법
KR101643020B1 (ko) 애니메이션을 체이닝하는 방법 및 애니메이션 블렌딩 장치
CN102470273B (zh) 基于玩家表情的视觉表示表情
CN111744200A (zh) 由图像或视频数据生成虚拟角色
LaViola et al. 3D spatial interaction: applications for art, design, and science
Ishigaki et al. Performance-based control interface for character animation
CN102448566A (zh) 骨架以外的姿势
US11995754B2 (en) Enhanced animation generation based on motion matching using local bone phases
JP2011170856A (ja) 複数の検出ストリームを用いたモーション認識用システム及び方法
US11816772B2 (en) System for customizing in-game character animations by players
CN113781609A (zh) 一种基于音乐节奏的舞蹈动作实时生成系统
CN108815845B (zh) 人机交互的信息处理方法及装置、计算机设备及可读介质
JP5458245B2 (ja) 動作制御装置、その方法、及びプログラム
JP2011170857A (ja) 最小のディレイでモーション認識を行うシステム及び方法
US11049309B2 (en) Motion tracking and image recognition of hand gestures to animate a digital puppet, synchronized with recorded audio
CN116954350A (zh) 一种手机控制角色交互的方法、系统、设备和存储介质
CN102004552A (zh) 一种基于跟踪点识别的加强用户现场运动体验的方法和系统
Bernardes Jr et al. Design and implementation of a flexible hand gesture command interface for games based on computer vision
Wu et al. Interface design for somatosensory interaction
JP4650961B2 (ja) ゲーム装置
JP4531804B2 (ja) ゲーム装置
Oshita Motion control with strokes
Xu A Natural User Interface for Virtual Object Modeling for Immersive Gaming
CN117339212A (zh) 控制虚拟游戏角色交互的方法、存储介质及电子装置
Angeren Mobile augmented reality interaction using gestures via pen tracking

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