用于在三维虚拟环境中控制对象的运动的方法

文档序号:6359683阅读:168来源:国知局
专利名称:用于在三维虚拟环境中控制对象的运动的方法
技术领域
本发明涉及如在权利要求I的前序部分描述的用于在三维虚拟环境中控制对象的运动的方法和如在权利要求5的前序部分描述的系统。
背景技术
当前,在三维虚拟环境中准确、平稳和直观地移动对象要求任一人机接ロ设备(还称为HID)对于虚拟现实和/或人的两个手的协调而具体定制,每个手控制模拟输入设备上的两个自由度。已知的用于三维虚拟环境中的对象的运动控制的带有两个模拟游戏杆的控制台是在传统家庭游戏系统中实现的解决方案。每ー个模拟游戏杆允许两个自由度。该交互机制依赖于目标应用的可用性要求,但用于三维虚拟世界中的虚拟人的典型控制机制是ー个 游戏杆(通常是左边的)控制虚拟人的线性运动,而另ー个游戏杆(通常是右边的)控制相机角度的运动。更多分裂性的控制设备,如任天堂(Nintendo) Wii带有的控制设备,还需要两个手的配合以捕获三维世界中的运动一只手通过在Nunchuck上呈现的模拟操作杆控制两个自由度,而另ー只手通过倾斜Wii遥控器控制额外的两个自由度。此外,美国专利申请(公开号US2004/0260507,
公开日2004年12月23日)公开了一种用于測量角和线性速度的专用传感器硬件,然而,在专业虚拟现实VR系统中使用的更高级的跟踪技术高精度地捕获全部六个自由度,但使用昂贵的、专用和复杂的装置。在另ー个美国专利申请(公开号US2009/0209343,
公开日2009年8月20日)中公开了ー种拍摄系统,其通过将手和身体运动转换成第二人生(Second Life)中的虚拟人的运动来工作。向前轻触一点,虚拟人就会走,轻触得快,虚拟人就会跑,轻触得太快,你就会跌倒。先前描述的用于在三维环境中控制对象的运动的系统每ー个都是不利的,因为需要相对复杂的系统控制该运动,其中复杂性在该系统中是需要的,即,用于分析人的姿势的照相机设置和处理环境以及在三维世界中控制对象的运动所需要的身体协调的水平。

发明内容
本发明的目的是提供ー种上述已知类型的用于在三维虚拟环境中控制对象的运动的方法,但其中,用于在这种三维虚拟环境中控制对象的系统的复杂性被降低。根据本发明,该目的通过根据权利要求I的方法、根据权利要求5的系统、根据权利要求7的对象运动控制模块、根据权利要求9的相关客户机设备和根据权利要求10的相关人机接ロ设备实现。实际上,首先通过检测指针在ニ维表面上的初始位置来确定ニ维表面上的起始点,并基于所确定的该起始点,围绕起始点在ニ维表面上分配第一区域,围绕所述第一区域在ニ维表面上分配第二区域,接着围绕第二区域在该表面上分配第三区域,随后根据指针在表面上的连续运动和与运动被检测到的区域相关联的对象运动控制函数,将对象运动控制函数分配给每个所分配的区域,从而生成对象运动控制指令。第二分配区域是不包括第一分配区域的分配区域,第三分配区域是不包括第一分配区域和第二分配区域的分配区域。本发明的附加优点在于只需要单手交互,并且该方案可使用现成的硬件(例如触摸敏感表面)容易实现,允许三个自由度并允许在三维环境中控制对象的角和线性速度,这对于休闲的玩家或对于以直观方式导航3D虚拟环境是足够的。本发明的另ー个特有的特征在权利要求2、权利要求6和权利要求8中描述。如果指针的运动发生在第一分配区域内,则对象运动控制函数意味着对象在三维虚拟环境中没有运动,如果指针的运动在第二区域内被检测到,则对象运动控制函数意味着在三维虚拟环境中仅涉及/指示对象的角运动,其中角速度根据指针的运动获得,或者在指针的运动在第三区域内被检测到的情况下,对象运动控制函数意味着在三维虚拟环境 中涉及/指示对象的旋转和线性运动,其中角和线性速度根据指针的运动获得。需要注意,在权利要求中使用的术语“包括”不应当被解释为限于其后所列出的装置。因此,表述“设备包括装置A和B”的范围不应当限于仅由组件A和B构成的设备。它意味着对于本发明,设备仅有的相关组件是A和B。同样,需要注意,权利要求中使用的术语“连接”不应被解释为仅限于直接连接。因此,表述“设备A连接到设备B”的范围不应当限于设备A的输出直接连接到设备B的输入的设备或系统。它意味着在A的输出和B的输入之间存在路径,它可以是包括其它设备或装置的路径。


通过结合附图參考以下的实施例描述,本发明的上述和其它目的和特征将会更加明显,并且发明本身可以得到更好的理解,其中图I表示用于在三维虚拟环境中控制对象的运动的系统,其具有设备和连接网络并且其中本发明的实施例得以实现。图2表示对象运动控制模块的功能性结构,其用于在根据本发明的用于在三维虚拟环境中控制对象的运动的系统中使用。图3a表示ニ维表面,其上面分配有起始点和第一、第二、第三区域。图3b进ー步表示指针在ニ维表面上相对于起始点和第一、第二、第三分配区域的运动。
具体实施例方式在下面的段落中,将參考附图描述根据本发明的用于在三维虚拟环境中控制对象的运动的系统和相关设备的实现。在该描述的第一段中,描述如分别在图I和图2中呈现的该网络的主要组件及其功能部分。在第二段中,定义在前面提到的网络组件与所描述的功能部分之间的所有连接。在接下来的段落中,描述用于在三维虚拟环境中控制对象的运动的系统的实际执行。本发明的该实施例的关键组件,如图I所示,是应用服务器3D-4S,其部署了如第二人生、仙境(Wonderland)、OpenCroque> Solipsys的三维虚拟环境3DVE或任何其它三维虚拟环境/世界。虽然为了简化的原因,只示出了一个应用服务器3D-4S,但通常有超过ー个的这种应用服务器。另外,存在用于接入三维虚拟环境的客户机设备CLD,其中客户机设备CLD通常是个人计算机、如个人数字助理的移动PC或移动电话等,并且客户机设备CLD具有经由DSL、电缆、WiFi或者其它的因特网接入。客户机设备CLD通常还执行用于接入如第二人生的三维虚拟环境3DVE的客户机应用。为了在这种三维虚拟环境3DVE中控制如用户虚拟人的对象的运动,存在人机交互设备HID,在本发明中是具有触摸屏的移动通信设备,可选择地,也可以是膝上型计算机的触摸板或者甚至是用于控制客户机设备CLD的鼠标。需要重点指出的是,在本发明中公开的交互机制不需要在人机交互设备HID上提供3D环境,也不需要終端用户直接目光接触人机交互设备HID。
人机交互设备HID可通过有线或无线连接而连接到客户机装置CLD。有线连接可以是USB、火线(Firewire)、串行端ロ、以太网、光纤或者任何其它连接。无线连接技术包括wifi、wimax、蓝牙、红外、3G、LTE或者任何其它无线连接。客户机设备CLD可通过因特网连接或任何其它合适的连接(如内部网、蓝牙、wifi、wimax、3G网络等)直接或间接(例如通过接入网络连接)地连接到应用服务器3D-AS。此外,客户机设备CLD或者应用服务器3D-4S可以包括对象运动控制模块0MCM,用于将来自HID的输入数据转换成三维世界内对象的预期运动。可选择地,对象运动控制模块OMCM的功能可分布在客户机设备CLD、应用服务器3D-4S和任何其它中间设备上。对象运动控制模块OMCM首先包括初始指针检测部IPDP,其能够通过检测指针在ニ维表面上的位置来确定ニ维表面上的起始点,其中二维表面可以是膝上型计算机设备的触摸板或PDA的触摸敏感屏。可选择地,如果作为人机交互装置HID的鼠标在作为ニ维表面的桌子或另ー个表面上移动,则按压鼠标按钮的地方指示交互的起始点。另外,存在区域分配部ZAP和对象运动控制指令生成部IGP,其中,区域分配部ZAP用于基于所确定的起始点,分配在表面上围绕起始点的第一(环形)区域、在表面上围绕第一区域的第二 (环形)区域和在表面上围绕第二区域的第三(环形)区域,对象运动控制指令生成部IGP能够根据指针的运动并另外根据与所述运动发生的每个所分配的区域相关联的对象运动控制函数,生成对象运动控制指令。应当注意,虽然在图3a和图3b中,所分配的区域I、II、III被呈现为环形,但每个这种区域也可以是三角形、矩形或具有任何其它合适的形状。在本实施例中,虽然可以替代地选择其它合适的形状,但这些所分配的区域被假定为环形。在本方法和系统中的对象运动控制函数意味着I.如果指针的运动在第一(环形)区域内被检测到,则对象在三维虚拟环境中没有运动;或者2.如果指针的运动在第二 (环形)区域内被确定/检测到,则对象在三维虚拟环境中的运动是角运动,其中对象的运动的角速度根据指针的运动获得;或者3.如果指针的运动在第三区域内被检测到,则对象在三维虚拟环境中的运动是旋转和线性运动,其中旋转和线性速度根据指针的运动获得。对象运动控制模块OMCM具有输入端子I2,其同时是是初始指针检测部IPDP的输入端子,其中初始指针检测部IPDP被连接到区域分配部ZAP,区域分配部ZAP再被连接到对象运动控制指令生成部IGP。对象运动控制指令生成部IPG具有输出端子,其同时是对象运动控制模块OMCM的输出端子。为了说明本发明的执行,假设用户正使用他的人机交互设备HID(例如他的PDA的触摸敏感表面或者甚至是连接到他的客户机设备CLD (例如,个人计算机、游戏控制台或者配备有屏幕的公共終端)的触摸屏)并使用用于浏览三维虚拟环境3DVE的客户端程序在浏览三维虚拟环境3DVE,如第二人生或仙境。假设用户开始浏览第二人生并想要用他的虚拟人在第二人生中移动。为了在第二人生中控制虚拟人的运动,用户根据预期的交互用手指或指示设备在某一位置触摸该触摸敏感表面。初始指针检测部IPDP通过检测指针在ニ维表面(即触摸屏)上的初始位置井根据该首次触摸,在ニ维表面上确定起始点。根据该所确定的起始点,区域分配部ZAP分配触摸屏表面上围绕起始点的第一区域、触摸屏表面上围绕第一区域的第二区域和触摸屏表面上围绕第二区域的第三区域。 应当指出,每个这种区域可以是环形、三角形、矩形或者具有任何其它合适的形状。在该实施例中,这些区域被假定为环形,尽管其它合适的形状可以可替代地选择。上面提到的这三个所分配的敏感区域的位置可根据指针(即手指)初始放置在触摸敏感表面上的触摸敏感区域上的位置获得,并且只要指针(即手指)在表面上被拖曳,则这些所分配的区域就維持在相同的位置。为了节省电池寿命,这些所分配区域(即在本实施例中由圆环限制)可看起来像触摸敏感表面上的视觉反馈,如果触摸敏感表面还能够如在常规触摸屏上显示图像的话,但这不是強制性的。此外,手指或指示设备在触摸敏感表面上的运动被跟踪,并且基于该运动并结合与该运动发生的区域相关联的对象运动控制函数,对象运动控制指令生成部IGP生成对象运动控制指令。如果用户的手指或者指示设备在第一(环性)区域内移动,则对象运动控制指令生成部(IGP)不生成对象运动控制指令。如果用户的手指或者指示设备滑出第一(内部)区域,然后返回到第一区域或者松开与触摸敏感表面的接触(例如,手指抬起),则IGP生成对象运动控制指令以停止移动对象。该对象运动控制指令生成部IGP生成指示三维虚拟环境3DVE根本没有对象的移动的对象运动控制指令。如果用户的手指或者指示设备随后从第一区域移动到第二环形区域内,则根据与该区域相关联的对象运动控制函数,对象在三维虚拟环境中的运动是角运动。与第二区域(在第一区域外且在第三区域外)相关联的对象运动控制函数是只有角运动在三维虚拟环境3DVE的对象上执行,其中标准化角速度根据△ 0的幅度和符号的变化获得(參见图3a),该角度由位于第一区域之外的手指的当前位置、环形的中心和所拖曳的手指最初穿过第一圆环的边界的点形成。如果A 0的幅度增加,则角速度提高。如果A 0的幅度减小,则角速度降低。如果△ 9的符号变化,则角旋转的方向将变化。随后,用户可将他的手指或指示设备拖出第二区域外而进入也被称为最远区域“旋转和线性运动敏感区域”的第三区域。
然后,对象运动控制指令生成部IGP根据在第三区域内的运动和与该第三区域相关联的对象运动控制函数,生成附加线性对象运动控制指令,其中该对象运动控制函数除了在指示设备离开最内部的环形时产生的旋转运动之外还产生标准化的线性运动分量。当手指被拖曳出第二环形时,线性运动相对于对象的当前方位的方向根据方向V (參见图3b)即从环形的中心到手指最初离开第一环形的点的矢量而获得。只要指示设备在第一环形之外的表面上被拖曳,则相对方向是固定的。如果手指在表面上不再被拖曳或者返回到第一环形内,则相对方向被重置。在第二区域(环形)之外,标准化的速度根据表示手指当前被拖曳的点与第二环形之间的距离的线段AR的长度的变化获得。手指被拖曳得距离中心越远,虚拟人则移动得越快。手指被拖曳得离第二环形越近,则虚拟人移动得越慢。如果手指被拖曳回到第二环形内,则对象运动控制函数指示停止线性运动。例如,当手指被拖曳进入第三区域内时一矢量V指向北,AR>0且A 0 =0对应于虚拟人向前走。一矢量V指向北,AR>0且A 0 >0对应于虚拟人向前走并且同时向左旋转。 一矢量V指向北,AR>0且A 0〈O对应于虚拟人向前走并且同时向右旋转。一矢量V指向东,AR>0且A 0 = 0对应于虚拟人向右平移。由对象运动控制函数生成的标准化运动的灵敏度可通过用户接ロ配置以适应用户的使用需求,所生成的相关数据可适用于由3D专用应用CLD接ロ接受的特定数据表示和协议。人机接ロ设备HID的附加按钮可被分配用于执行三维虚拟环境3DVE内对象的运动从地平面例如跳起或飞行。最后应注意,本发明的实施例在上面按照功能模块进行了描述。根据上面给出的这些模块的功能描述,对于设计电子设备领域的普通人员来说,这些模块的实施例如何用已知的电子组件制造是显然的。因此,功能模块的内容的详细结构不再给出。虽然本发明的原理已经在上面结合特定装置进行了描述,但应当清楚地理解,该描述仅仅是作为例子给出的,并不是对由后附的权利要求所限定的本发明的范围的限制。
权利要求
1.一种用于由浏览三维虚拟环境的用户的人机接ロ设备(HID)在所述三维虚拟环境中控制对象的运动的方法,所述人机接ロ设备(HID)被连接到用于接入所述三维虚拟环境的客户机设备(CLD),所述三维虚拟环境被部署在至少ー个应用服务器(3D-AS)处,所述客户机设备(CLD)和所述至少一个应用服务器(3D-AS)通过通信链路连接,其特征在于,所述方法包括以下步骤 a.通过检测指针在ニ维表面上的位置来确定在所述ニ维表面上的起始点; b.基于所述起始点,分配围绕所述起始点的所述表面上的第一区域(I)、围绕所述第一区域的所述表面上的第二区域(II)以及围绕所述第二区域的所述表面上的第三区域(III);以及 c.根据所述指针的所述运动和与所述运动被检测到的区域相关联的对象运动控制函数,生成对象运动控制指令。
2.如权利要求I所述的用于在所述三维虚拟环境中控制对象的运动的方法,其特征在于,所述方法中的所述对象运动控制函数是 dl.如果所述指针的所述运动在所述第一区域(I)内检测到,则所述对象在所述三维虚拟环境中没有运动;或者 d2.如果所述指针的所述运动在所述第二区域(II)内检测到,则所述对象在所述三维虚拟环境中的所述运动仅是角运动,其中角速度根据所述指针的所述运动获得;或者 d3.如果所述指针的所述运动在所述第三区域(III)内检测到,则所述对象在所述三维虚拟环境中的所述运动是旋转和/或线性运动,其中,所述旋转和/或线性运动的速度根据所述指针的所述运动获得。
3.如权利要求I或2所述的用于在所述三维虚拟环境中控制对象的运动的方法,其特征在干,所述人机接ロ设备(HID)是具有触摸敏感表面的客户机设备,其中,所述确定在ニ维表面上的所述起始点的步骤是检测所述指针在所述触摸敏感表面的所述ニ维表面上的位置。
4.如权利要求I或2所述的用于在所述三维虚拟环境中控制对象的运动的方法,其特征在于,所述人机接ロ设备(HID)是计算机鼠标,其中所述确定在ニ维表面上的所述起始点的步骤是检测通过点击鼠标按钮而在ニ维表面上移动的所述鼠标的初始起始点。
5.一种用于在三维虚拟环境中控制对象的运动的系统,所述系统包括浏览所述三维虚拟环境的用户的人机接ロ设备(HID),用于控制所述对象的所述运动;所述系统还包括至少ー个用于部署所述三维虚拟环境应用的应用服务器(3D-AS),其特征在于,所述系统包括 a.初始指针检测部(irop),用于通过检测指针在ニ维表面上的位置来确定在所述ニ维表面上的起始点; b.区域分配部(ZAP),用于基于所确定的所述起始点,分配围绕所述起始点的所述表面上的第一区域(I)、围绕所述第一区域(I)的所述表面上的第二区域(II)以及围绕所述第二区域(II)的所述表面上的第三区域(III);以及 c.对象运动控制指令生成部(IGP),用于根据所述指针的运动和与所述运动发生的区域相关联的对象运动控制函数,生成对象运动控制指令。
6.如权利要求5所述的用于在三维虚拟环境中控制对象的运动的系统,其特征在干,所述系统中的所述对象运动控制函数是 dl.如果所述指针的所述运动在所述第一区域(I)内被检测到,则所述对象在所述三维虚拟环境中没有运动;或者 d2.如果所述指针的所述运动在所述第二区域(II)内被检测到,则所述对象在所述三维虚拟环境中的所述运动仅是角运动,其中所述角运动根据所述指针的所述运动获得;以及 d3.如果所述指针的所述运动在所述第三区域(III)内被检测到,则所述对象在所述三维虚拟环境中的所述运动是旋转和/或线性运动,其中所述旋转和/或线性速度根据所述指针的所述运动获得。
7.一种在根据权利要求5或6所述的系统中使用的对象运动控制模块(OMCM),其特征在于,所述对象运动控制模块(OMCM)包括 a.初始指针检测部(irop),用于通过检测指针在ニ维表面上的位置来确定在所述ニ维表面上的起始点; b.区域分配部(ZAP),用于基于所确定的所述起始点,分配围绕所述起始点的所述表面上的第一区域(I)、围绕所述第一区域(I)的所述表面上的第二区域(II)以及围绕所述第二区域(II)的所述表面上的第三区域(III);以及 c.对象运动控制指令生成部(IGP),用于根据所述指针的运动和与所述运动发生的区域相关联的对象运动控制函数,生成对象运动控制指令。
8.如权利要求7所述的对象运动控制模块(0MCM),其特征在于,所述系统中的所述对象运动控制函数是 dl.如果所述指针的所述运动在所述第一区域(I)内检测到,则所述对象在所述三维虚拟环境中没有运动;或者d2.如果所述指针的所述运动在所述第二区域(II)内被检测到,则所述对象在所述三维虚拟环境中的所述运动仅是角运动,其中所述角运动根据所述指针的所述运动获得;或d3.如果所述指针的所述运动在所述第三区域(III)内被检测到,则所述对象在所述三维虚拟环境中的所述运动是旋转和/或线性运动,其中所述旋转和线性速度根据所述指针的所述运动获得。
9.一种用于在根据权利要求5或6所述的系统中使用的客户机设备(CLD),其特征在于,所述客户机设备包括根据权利要求7或8所述的对象运动控制模块。
10.一种用于在根据权利要求5或6所述的系统中使用的人机接ロ设备(HID),其特征在于,所述人机接ロ设备包括根据权利要求5或6所述的对象运动控制模块。
全文摘要
本发明涉及用于由浏览三维虚拟环境的用户的人机接口设备在三维虚拟环境中控制对象的运动的方法、系统和设备。人机接口设备被连接到用于接入三维虚拟环境的客户机设备。三维虚拟环境被部署在至少一个应用服务器(3D-AS)上。客户机设备和至少一个应用服务器通过通信链路连接。该方法首先通过检测指针在二维表面上的位置来确定在二维表面上的起始点,随后基于起始点,分配围绕起始点的表面上的第一区域、围绕第一区域的表面上的第二区域以及围绕第二区域的表面上的第三区域。另外,对象运动控制指令根据指针的运动和与检测到运动发生的区域相关联的对象运动控制函数而生成。
文档编号G06F3/048GK102770836SQ201180010633
公开日2012年11月7日 申请日期2011年2月16日 优先权日2010年2月26日
发明者S·博克 申请人:阿尔卡特朗讯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1