1.本发明实施例涉及虚拟现实技术领域,尤其涉及一种虚拟现实人机交互的方法、装置、设备和介质。
背景技术:
2.目前,在ar/vr/mr设备中用户与虚拟物体的交互主要通过以下几种方式进行:其一,通过设备识别、追踪用户的双手,在虚拟位置的相应位置中重建出用户的双手,使得用户能与虚拟物体交互,但该方式的交互范围仅限于手所能触及的范围,另外,该方式需要用户使用易疲劳的姿势(伸手抓取的姿势如图7所示)频繁移动双手,使得用户容易疲劳,无法长时间使用;其二,通过给用户佩戴手柄,从手柄发出一道虚拟光线,用户看到光线所指的地方然后按下按钮就可以与远处的物体交互;但该方式中,交互的种类与数量局限于按键的组合,而且不利于用户与近距离的物体交互,另外,由于光线在近场光点大,在远场光点小,造成用户识别光点困难;再者,物体越远,光点移动的速度会随着距离增加而加快,(例如:物体在手的两米处,手转动了10度,那么计算可得光点会移动约34厘米,而如果物体在4米处,同样的动作,光点会移动68厘米)通过虚拟光线与物体交互,对物体的控制的准确度比较低,并且交互方式少,学习成本高,效率低。
技术实现要素:
3.本发明提供一种虚拟现实人机交互的方法、装置、设备和介质,以实现在虚拟世界中,人可以精准控制虚拟对象,并且可以在精准控制虚拟对象的过程中避免用户产生疲劳感。
4.为实现上述目的,本发明第一方面实施例提出了一种虚拟现实人机交互的方法,包括以下步骤:
5.筛选出与人手实际交互的虚拟对象;
6.获取所述虚拟对象和所述人手分别在虚拟视场中的位置、以及所述虚拟对象的内容;
7.根据所述虚拟对象和所述人手分别在虚拟视场中的位置、以及所述虚拟对象的内容确定设置在所述虚拟视场中的虚拟光标的移动速度;
8.如果所述虚拟对象处于远场区,则根据所述虚拟对象和所述人手分别在虚拟视场中的位置,获取所述虚拟视场中所述虚拟对象和所述人手之间的相对距离;
9.根据所述相对距离和第一预设关系确定设置所述虚拟光标的移动速度;所述第一预设关系和所述虚拟对象的内容对应设置;
10.其中,所述远场区是指用户手臂伸直,所述人手不可触及的区域。
11.根据本发明的一个实施例,所述根据所述虚拟对象和所述人手分别在虚拟视场中的位置、所述虚拟对象的内容确定设置在所述虚拟视场中的虚拟光标的移动速度包括:
12.如果所述人手处于舒适区,所述虚拟对象处于舒适区,则所述移动速度与所述人
手的移动速度相同;
13.如果所述人手处于舒适区,所述虚拟对象处于近场区,则根据所述虚拟对象和所述人手分别在虚拟视场中的位置,获取所述虚拟视场中所述虚拟对象和所述人手之间的相对距离,根据所述相对距离和第二预设关系确定设置所述虚拟光标的移动速度,所述第二预设关系与所述虚拟对象内容对应设置;
14.如果所述人手处于近场区,所述虚拟对象处于舒适区或近场区,则所述移动速度与所述人手的移动速度相同;
15.其中,所述舒适区是指以胳膊肘为支撑点,所述手掌画圆形成的区域;所述近场区是指手臂伸直,所述手掌画圆形成的区域除去所述舒适区所剩的区域。
16.根据本发明的一个实施例,所述虚拟现实人机交互的方法还包括:根据所述虚拟对象和所述人手分别在虚拟视场中的位置确定设置在所述虚拟视场中的虚拟光标是否显示在所述虚拟视场中;
17.其中,如果所述人手在舒适区,所述虚拟对象在舒适区,则所述虚拟光标不显示;
18.如果所述人手在舒适区,所述虚拟对象在近场区或远场区,则所述虚拟光标显示;
19.如果所述人手在近场区,所述虚拟对象在舒适区或近场区,则所述虚拟光标不显示;
20.如果所述人手在近场区,所述虚拟对象在远场区,则所述虚拟光标显示;
21.其中,所述舒适区是指以胳膊肘为支撑点,所述手掌画圆形成的区域;所述近场区是指手臂伸直,所述手掌画圆形成的区域除去所述舒适区所剩的区域。
22.根据本发明的一个实施例,在根据所述虚拟对象和所述人手分别在虚拟视场中的位置确定设置在所述虚拟视场中的虚拟光标是否显示在所述虚拟视场中之前还包括:
23.根据所述虚拟对象的内容确定设置在所述虚拟视场中虚拟光标是否显示在所述虚拟视场中;
24.其中,如果所述虚拟对象的内容与所述人手具有反馈动作,则所述虚拟光标显示;如果不具有反馈动作,则依据所述根据所述虚拟对象和所述人手分别在虚拟视场中的位置确定设置在所述虚拟视场中的虚拟光标是否显示在所述虚拟视场中的步骤执行。
25.根据本发明的一个实施例,在所述虚拟视场中显示的所述虚拟光标与所述虚拟对象保持第一预设距离。
26.根据本发明的一个实施例,当所述虚拟光标与所述虚拟对象之间的距离小于所述第一预设距离时,所述虚拟光标吸附在所述虚拟对象上。
27.根据本发明的一个实施例,所述虚拟现实人机交互的方法,还包括:
28.获取所述人手的姿态;
29.根据所述人手的姿态调整所述虚拟光标的显示在所述虚拟视场中的大小、移动速度、形状中的一种或多种。
30.根据本发明的一个实施例,所述筛选出与人手实际交互的虚拟对象,包括:
31.获取多个虚拟对象和人手分别在虚拟视场中的位置;
32.根据每个所述虚拟对象和所述人手分别在虚拟视场中的位置筛选与所述人手待交互虚拟对象并放置在交互列表中;
33.自所述交互列表中筛选出与所述人手实际交互的虚拟对象。
34.根据本发明的一个实施例,所述根据每个所述虚拟对象和所述人手分别在虚拟视场中的位置筛选与所述人手待交互虚拟对象并放置在交互列表中包括:
35.如果所述人手处于舒适区,所述虚拟对象处于舒适区,则将所述虚拟对象放置在所述交互列表中;
36.如果所述人手处于舒适区,所述虚拟对象处于近场区或者远场区,则发出一道虚拟光线,所述虚拟光线围绕所述虚拟对象在第二预设距离范围内,将所述虚拟对象放置在所述交互列表中;
37.如果所述人手处于近场区,所述虚拟对象处于近场区,则将所述虚拟对象放置在所述交互列表中;
38.如果所述人手处于近场区,所述虚拟对象处于远场区,则发出一道虚拟光线,所述虚拟光线围绕所述虚拟对象在第二预设距离范围内,将所述虚拟对象放置在所述交互列表中;
39.其中,所述舒适区是指以胳膊肘为支撑点,所述手掌画圆形成的区域;所述近场区是指手臂伸直,所述手掌画圆形成的区域除去所述舒适区所剩的区域。
40.根据本发明的一个实施例,所述虚拟光标为手掌的3d模型。
41.为实现上述目的,本发明第二方面实施例提出了一种虚拟现实人机交互的装置,包括:
42.筛选模块,用于筛选出与人手实际交互的虚拟对象;
43.获取模块,用于获取所述虚拟对象和所述人手分别在虚拟视场中的位置、以及所述虚拟对象的内容;
44.移动速度确定模块,用于根据所述虚拟对象和所述人手分别在虚拟视场中的位置、以及所述虚拟对象的内容确定设置在所述虚拟视场中的虚拟光标的移动速度;
45.如果所述虚拟对象处于远场区,则根据所述虚拟对象和所述人手分别在虚拟视场中的位置获取所述虚拟视场中,所述虚拟对象和所述人手之间的相对距离;
46.根据所述相对距离和第一预设关系确定设置所述虚拟光标的移动速度;所述第一预设关系和所述虚拟对象的内容对应设置;其中,所述远场区是指用户手臂伸直,所述人手不可触及的区域。
47.为实现上述目的,本发明第三方面实施例提出了一种虚拟现实人机交互的电子设备,所述电子设备包括:
48.一个或多个处理器;
49.存储装置,用于存储一个或多个程序;
50.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如前所述的虚拟现实人机交互的方法。
51.为实现上述目的,本发明第四方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如前所述的虚拟现实人机交互的方法。
52.根据本发明实施例提出的虚拟现实人机交互的方法、装置、设备和介质,其中,该方法包括:筛选出与人手实际交互的虚拟对象;获取所述虚拟对象和所述人手分别在虚拟视场中的位置、以及所述虚拟对象的内容;根据所述虚拟对象和所述人手分别在虚拟视场中的位置、以及所述虚拟对象的内容确定设置在所述虚拟视场中的虚拟光标的移动速度;
如果所述虚拟对象处于远场区,则根据所述虚拟对象和所述人手分别在虚拟视场中的位置,获取所述虚拟视场中所述虚拟对象和所述人手之间的相对距离;根据所述相对距离和第一预设关系确定设置所述虚拟光标的移动速度;所述第一预设关系和所述虚拟对象的内容对应设置;其中,所述远场区是指用户手臂伸直,所述人手不可触及的区域。由此,该方法可以实现在虚拟世界中,人可以精准控制虚拟对象,并且可以在精准控制虚拟对象的过程中避免用户产生疲劳感。
附图说明
53.图1是本发明实施例提出的虚拟现实人机交互的方法的流程图;
54.图2是本发明一个实施例提出的虚拟现实人机交互的方法的流程图;
55.图3是本发明另一个实施例提出的虚拟现实人机交互的方法的流程图;
56.图4是本发明又一个实施例提出的虚拟现实人机交互的方法的流程图;
57.图5是本发明实施例提出的虚拟现实人机交互的装置的方框示意图;
58.图6是本发明实施例提出的虚拟现实人机交互的电子设备的方框示意图;
59.图7是现有技术中用户的一个交互姿势示意图;
60.图8是本发明实施例提出的虚拟现实人机交互的方法中用户的一个站姿舒适姿势示意图;
61.图9是本发明一个实施例提出的虚拟现实人机交互的方法中用户的一个站姿舒适姿势示意图;
62.图10是本发明另一个实施例提出的虚拟现实人机交互的方法中用户的一个站姿舒适姿势示意图;
63.图11是本发明又一个实施例提出的虚拟现实人机交互的方法中用户的一个站姿舒适姿势示意图;
64.图12是本发明实施例提出的虚拟现实人机交互的方法中用户的一个坐姿舒适姿势示意图;
65.图13是本发明一个实施例提出的虚拟现实人机交互的方法中用户的一个坐姿舒适姿势示意图;
66.图14是本发明另一个实施例提出的虚拟现实人机交互的方法中用户的一个坐姿舒适姿势示意图;
67.图15是本发明实施例提出的虚拟现实人机交互的方法中虚拟光标示意图。
具体实施方式
68.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
69.目前,在虚拟现实人机交互中,一般通过给用户佩戴手柄,从手柄发出并显示一道虚拟光线,用户看到光线所指的地方然后按下按钮就可以与远处的物体交互,这样导致用户的手以第一速度在移动时,交互到物体上的光点以第二速度移动,第二速度大于第一速度,即速度与手和物体之间的距离满足,速度等于角速度乘以相对距离(半径),相对距离越
远,速度越大,这样造成用户的手以很小速度移动,到达物体的速度就很大,进而很快的划过物体(杯子),不能精准的控制物体。或者,用户的手以很大速度移动,但相对于划过较大物体来说,速度还是很小进而很慢的划过物体(建筑物)。
70.另外,视觉舒适距离与内容的大小有关(详情参考电视机和显示器的推荐摆放距离)。内容越大(例如显示器窗口),视觉舒适距离越大。例如14英寸笔记本屏幕一般放置在距离用户60
‑
70cm的地方。这个距离就是交互舒适区的边缘。然而由于ar/vr/mr内容的特性,虚拟窗口的大小一般在14英寸大小及以上,也就是说视觉上看起来舒服的窗口一般会放在交互近场内,交互舒适区之外。在这种情况下,hololens2使用的方法就会让用户不断移动手肘以点击舒适区外的可交互内容(如按钮等),但是也会让用户快速疲劳。从经验来看,在不断滑动页面来浏览网页的情况下,用户在20分钟内就会感到疲劳。这对于日常工作是不可接受的。
71.为了解决上述问题,本发明实施例提出了一种虚拟现实人机交互的方法,可以实现在虚拟世界中,人可以精准控制虚拟对象。
72.实施例一
73.图1是本发明实施例提出的虚拟现实人机交互的方法的流程图。如图1所示,该方法包括以下步骤:
74.s110,筛选出与人手实际交互的虚拟对象;
75.需要说明的是,虚拟对象即为显示在虚拟视场中的静态物体(立方体、玩具枪等)、动态物体(动物等)、网络界面等。
76.s120,获取虚拟对象和人手分别在虚拟视场中的位置、以及所述虚拟对象的内容;
77.可以理解的是,在本实施例中将虚拟视场划分为三个区,舒适区、近场区和远场区,其中,人在站姿的姿势下(如附图8至附图11所示),一般胳膊肘在身体之后,使得整手臂的重心垂线与身体垂直方向基本平行,也就是以胳膊肘为支点,小臂与大臂呈锐角姿势,或者,人在坐姿的姿势下(如附图12至附图14所示),一般胳膊肘支撑在桌面上,使得小臂与大臂呈锐角姿势;这两种姿势下,大臂基本不运动,由此,手臂不易产生疲劳感;进而将在这两种姿势下,即在大臂基本不运动,小臂与大臂呈锐角姿势下,手掌可以触及的范围,称之为舒适区。另外,不论人是在站姿还是坐姿的情况下,小臂与大臂呈钝角展开,此时,手掌可以触及的范围,称之为近场区。需要说明的是,近场区是除去舒适区之外的剩余区域。再者,不论人是在站姿还是坐姿的情况下,整个手臂伸展开够不到的区域,均称之为远场区。舒适区、近场区和远场区的范围可以提前预设,或者通过深度学习的方式,来个性化定义不同用户的舒适区、近场区和远场区,也就是说,在虚拟现实设备进行初始化的过程中,可以提示用户以舒适姿势,在舒适区内作出各种手势,记录并学习每个用户因人而异的判断舒适区的标准。
78.s130,根据虚拟对象和人手分别在虚拟视场中的位置、以及所述虚拟对象的内容确定设置在虚拟视场中的虚拟光标的移动速度;
79.其中,虚拟对象的内容可以是,立体手枪、一汪水、建筑物、杯子、网页、小兔子等等,即虚拟对象物体本身附带所表示的内容。
80.s131,如果虚拟对象处于远场区,则根据虚拟对象和人手分别在虚拟视场中的位置,获取虚拟视场中虚拟对象和人手之间的相对距离;并根据相对距离和第一预设关系确
定设置虚拟光标的移动速度;所述第一预设关系和所述虚拟对象的内容对应设置;
81.需要说明的是,在确定虚拟对象和人手在虚拟视场中的位置后,如果虚拟对象在远场区,人手不管是在近场区还是在舒适区,人手都够不到该虚拟对象,如果人手要与该虚拟对象进行交互,那么可以通过在虚拟视场中设置虚拟光标,通过建立人手与虚拟光标之间的对应关系,来控制虚拟光标的移动,使得虚拟光标与虚拟对象之间进行交互,以此来体验人手与虚拟对象之间的交互,需要说明的是,虚拟光标与人手分离,接近虚拟对象设置。即通过虚拟光标替代真实的人手与虚拟对象进行交互。
82.基于此,可以根据人手与虚拟对象之间的在虚拟视场中的相对距离,以及第一预设关系确定虚拟光标的移动速度。其中,第一预设关系可以提前设置。
83.举例来说,第一预设关系可以为其中,v为修正后的虚拟光标的移动速度,r为人手与虚拟对象之间的在虚拟视场的相对距离,ω为人手运动的角速度,a为比例因子常数。进而,修正后的虚拟光标移动的速度v可以以第一预设关系求得,v与r之间为非线性相关关系,使得修正后的虚拟光标的移动速度v小于修正前的虚拟光标的移动速度,即,使得修正后的虚拟光标的移动速度v变慢。该示例适宜虚拟对象为细小的物体的例子。比如虚拟对象为带杯把的杯子,用户需要体验抓住杯子把,那么在舒适区或者近场区的人手动作不用太大,并且控制虚拟光标的动作比预先的动作更慢,使得用户可以更好地体验抓住杯子杯把。
84.另外,第一预设关系还可以为v=aωr,其中,v为修正后的虚拟光标的移动速度,r为人手与虚拟对象之间的在虚拟视场的相对距离,ω为人手运动的角速度,a为比例因子常数。进而,修正后的虚拟光标移动的速度v可以以第一预设关系求得,v与r之间为线性相关关系,使得修正后的虚拟光标的移动速度v大于修正前的虚拟光标的移动速度,即,使得修正后的虚拟光标的移动速度v变快,该示例适宜虚拟对象为较大宏观物体的例子,比如虚拟对象为建筑物,用户想要触摸该建筑物中的某个窗口,真实的人手移动很短的距离,虚拟光标的移动的速度不够更快捷的移动到建筑物的某个窗口,或者移动该建筑物,那么可以增大虚拟光标的移动速度,使得更快的达到建筑物的某个窗口或者移动该建筑物。
85.再者,第一预设关系还可以为v=ωr,即根据虚拟对象内容,不需要修正虚拟光标的移动速度,前两者的v增大还是减小是相对于v=ωr来说的。
86.由此,根据人手与虚拟对象之间的在虚拟视场中的相对距离,以及第一预设关系确定虚拟光标的移动速度,使得虚拟光标的移动速度与修正前的虚拟光标的移动速度不同。其中,第一预设关系与虚拟对象本身内容相关,当虚拟对象本身内容确定后,并且在虚拟视场中的位置确定后,第一预设关系就确定。第一预设关系的设定可以通过深度学习方式生成。最终可以根据相对距离和第一预设关系来确定虚拟光标的移动速度。进而,使得用户可以更精准的抓取虚拟对象,提高用户体验。
87.s132,如果人手处于舒适区,虚拟对象处于舒适区,则移动速度与人手的移动速度相同;
88.也就是说,用户以舒适的姿态使得人手处于舒适区,并且虚拟对象也处于舒适区,则虚拟光标的移动速度与人手的移动速度相同。其中,虚拟光标可以与人手重合,由于虚拟对象就在手边,无需修正虚拟光标的移动速度。由此,虚拟光标的移动速度与人手的移动速度相同即可,用户就可以真实的体验与虚拟对象的互动。
89.s133,如果人手处于舒适区,虚拟对象处于近场区,则根据虚拟对象和人手分别在虚拟视场中的位置,获取虚拟视场中虚拟对象和人手之间的相对距离,根据相对距离和第二预设关系确定设置虚拟光标的移动速度,所述第二预设关系与所述虚拟对象内容对应设置;
90.也就是说,用户以舒适的姿态使得人手处于舒适区,但是虚拟对象处于近场区,需要用户伸直手臂才能够到,但用户不想伸直手臂,那么根据相对距离和第二预设关系确定设置虚拟光标的移动速度,第二预设关系式可以为v’=ωr,即,以用户的手的移动速度求得角速度ω,再依据第二关系式和相对距离可以求得虚拟光标的移动速度。需要说明的是,虚拟光标与人手分离,接近虚拟对象设置。进而,可以满足用户的舒适度,避免用户的疲劳感。并也不影响与虚拟对象的交互体验。
91.在该步骤中,可以参照步骤s131步骤中的设定。根据虚拟对象的内容增大虚拟光标的移动速度或者减小虚拟光标的移动速度,增大或减小是相对于v’=ωr来说的。
92.s134,如果人手处于近场区,虚拟对象处于舒适区或近场区,则移动速度与人手的移动速度相同;
93.也就是说,用户以舒适的姿态使得人手处于近场区,说明用户伸展了手臂,那么可以触碰到舒适区或近场区的虚拟对象,则虚拟光标的移动速度与人手的移动速度相同,其中,虚拟光标可以与人手重合,用户可以真实的体验与虚拟对象的互动。
94.实施例二
95.图2是本发明一个实施例提出的虚拟现实人机交互的方法的流程图。该实施例是在实施例一的基础上的进一步优化,如图2所示,该方法包括:
96.s210,筛选出与人手实际交互的虚拟对象;
97.s220,获取所述虚拟对象和所述人手分别在虚拟视场中的位置;
98.步骤s210和步骤s220已经在实施例一中详述,此处不再赘述。
99.s230,根据虚拟对象和人手分别在虚拟视场中的位置确定设置在虚拟视场中的虚拟光标是否显示在虚拟视场中;
100.s231,如果人手在舒适区,虚拟对象在舒适区,则虚拟光标不显示;
101.也就是说,用户以舒适的姿态使得自己的手处于舒适区,并且虚拟对象也处于舒适区,用户只要伸手就可以触碰到虚拟对象,从而与虚拟对象进行交互,并不需要显示虚拟光标。
102.s232,如果人手在舒适区,虚拟对象在近场区或远场区,则虚拟光标显示;
103.也就是说,用户以舒适的姿态使得自己的手处于舒适区,并且虚拟对象处于近场区或者远场区,用户伸手不能触碰到虚拟对象,则需要通过虚拟光标与虚拟对象进行交互,虚拟光标与虚拟对象的交互替代了用户自己的手与虚拟对象的交互。可以降低用户手臂的疲劳感。
104.s233,如果人手在近场区,虚拟对象在舒适区或近场区,则虚拟光标不显示;
105.也就是说,用户以舒适的姿态使得自己的手处于近场区,并且虚拟对象处于舒适区或者近场区,用户只要伸手就可以触碰到虚拟对象,从而与虚拟对象进行交互,并不需要显示虚拟光标。
106.s234,如果人手在近场区,虚拟对象在远场区,则虚拟光标显示。
107.也就是说,用户以舒适的姿态使得自己的手处于近场区,并且虚拟对象处于远场区,用户伸手不能触碰到虚拟对象,则需要通过虚拟光标与虚拟对象进行交互,虚拟光标与虚拟对象的交互替代了用户自己的手与虚拟对象的交互。
108.需要说明的是,在虚拟视场中显示的虚拟光标与虚拟对象保持第一预设距离。在步骤s232和步骤s234中,在用户与虚拟对象交互过程中,虚拟光标均是显示在虚拟视场中的,为了保证虚拟光标与虚拟对象更好的交互,从而需要虚拟光标与虚拟对象保持第一预设距离(可以提前设定),也就是虚拟光标处于以虚拟对象为中心,半径为第一预设距离的球面上。
109.可以理解的是,当虚拟光标与虚拟对象之间的距离小于第一预设距离时,虚拟光标吸附在虚拟对象上。
110.也就是说,虚拟光标与虚拟对象之间的距离一般为第一预设距离,但是当虚拟光标受到外部触发,比如用户的一个挤压手势,使得虚拟光标与虚拟对象之间的距离小于第一预设距离,那么虚拟光标就吸附在虚拟对象上,随着虚拟对象的动作而动作。
111.根据本发明的一个实施例,在根据虚拟对象和人手分别在虚拟视场中的位置确定设置在虚拟视场中的虚拟光标是否显示在虚拟视场中之前还包括:
112.根据虚拟对象的内容确定设置在虚拟视场中虚拟光标是否显示在虚拟视场中;
113.其中,如果虚拟对象的内容与人手具有反馈动作,则虚拟光标显示;如果不具有反馈动作,则依据根据虚拟对象和人手分别在虚拟视场中的位置确定设置在虚拟视场中的虚拟光标是否显示在虚拟视场中的步骤执行。
114.需要说明的是,反馈动作是指虚拟对象与用户的手交互的过程中,对用户的手有反馈,比如,在玩枪战游戏时,开枪之后,枪有一个向后的压枪过程,使得手有震颤感,那这样,不管虚拟对象枪是处在哪个区,人手处在哪个区,都要显示虚拟光标,来体现开枪之后的震颤。可以理解的是,如果虚拟对象处于近场区或远场区,人手处于舒适区,或者虚拟对象处于远场区,人手处于近场区,则在虚拟视场中显示的虚拟光标与虚拟对象保持第一预设距离。当虚拟光标与虚拟对象之间的距离小于第一预设距离时,虚拟光标吸附在虚拟对象上。也就是,虚拟光标吸附在枪上,当开枪之后,枪震动时,可以带动虚拟光标震动,还原真实的压枪场景,从而提高用户的体验。其中,需要说明的是,如果虚拟对象处于舒适区,人手处于舒适区,或者虚拟对象处于近场区或者舒适区,人手处于近场区,则虚拟光标的显示与人手重合。
115.再比如,虚拟对象为小兔子,用户想体验喂养小兔子,那么当用户手持胡萝卜喂养小兔子时,小兔子咬到胡萝卜时,用户的手会随着胡萝卜颤抖一下,此时,虚拟光标吸附到胡萝卜上,可以反映震颤感。
116.在另一实施例中,虚拟光标吸附在虚拟对象上,还起到标志性作用。比如,虚拟对象是水盒,水盒里装满水,为了逼真体验,一般将水盒设置为透明的,用户在玩水盒中的水后,需要移动水盒,而又看不见水盒,那可以一直使得虚拟光标显示,起到标志作用,从而拖动虚拟光标,来拖动水盒。
117.再比如,在两米外有一扇智能门,门上有一个把手,通过物联网以及物体识别,用户可以将虚拟光标贴附在实体把手上,通过虚拟光标“拉动”把手。把手的运动实际上由电机实现,但是在体验上却是类似隔空操控的体验。
118.或者,推动物体的动作可以设置为单手轻推的动作,类似于推门。当虚拟光标依附于门上,并且复制出用户手部轻推的动作的时候,用户可以很自然地将推动的意图和实际要发生的交互联系起来。如果仅仅使用一个光点作为虚拟光标,这是不足以让用户将自己手部的动作与要发生的交互联系起来的。
119.根据本发明的一个实施例,虚拟现实人机交互的方法,还包括:
120.获取人手的姿态;
121.根据人手的姿态调整虚拟光标的显示在虚拟视场中的大小、移动速度、形状中的一种或多种。
122.在实施例一和实施例二中,解释了虚拟光标的移动速度和虚拟光标在什么情况下进行显示。
123.而当虚拟光标的移动速度确定后,还可以获取人手的姿态,比如两手指一直做分开动作,可以继续放大虚拟光标的移动速度,或者,两手指一直做收拢动作,可以继续缩小虚拟光标的移动速度。
124.虚拟光标可以为手掌的3d模型,比如人手(如图15所示,位于中间的手即为虚拟光标)或者猫爪或者其他动物爪等。在用户与虚拟对象交互过程中,虚拟光标的动作可以与人手的动作完全相同。
125.另外,在一些实施例中,虚拟对象较小,而预设的虚拟光标显示较大,此时,可以获取用户的手的姿态,比如全手掌收拢的手势,来缩小虚拟光标的显示大小,同样的,虚拟对象较大,而预设的虚拟光标显示较小,此时,可以获取用户的手的姿态,比如全手掌反复展开的手势,来放大虚拟光标的显示大小。以使得用户与虚拟对象交互过程中,虚拟光标与虚拟对象在大小比例上更加匹配。
126.由此,通过预设的虚拟光标的移动速度、大小和形状等,还可以根据人手的姿态进行调整,满足了用户的需求,提升了用户的体验。在理想情况下,用户应该感觉到他们多了一双可以无限延伸的虚拟手,帮助他们与近场远场的虚拟物体交互,而不会阻碍他们在舒适区中的交互。
127.再者,本实施例还提出了一个用来评估交互疲劳度的指标,即测量单位时间内手肘的移动距离,叫做手肘均速。坐姿下,用户做出舒适交互动作时,手肘不用运动,而是小臂以手肘为支点做圆周运动,这种情况下,手肘均速一般为1
‑
2cm/s;站姿下,用户做出舒适交互动作时,小臂以手肘为支点做圆周运动,手肘为平衡重心会适度运动,手肘均速一般为3
‑
5cm/s;当用户需要伸手触及近场物体时,手肘均速一般不慢于10cm/s,用户很容易疲劳。在测试中,用户使用hololens2进行点击等操作时,手肘均速约为10cm/s,达到了疲劳区间。
128.实施例三
129.图3是本发明另一个实施例提出的虚拟现实人机交互的方法的流程图。该实施例是对实施例一和实施例二的进一步的优化,如图3所示,该方法包括:
130.s310,获取多个虚拟对象和人手分别在虚拟视场中的位置;
131.s320,根据每个虚拟对象和人手分别在虚拟视场中的位置筛选与人手待交互虚拟对象并放置在交互列表中;
132.s330,自交互列表中筛选出与人手实际交互的虚拟对象。
133.根据本发明的一个实施例,根据每个虚拟对象和人手分别在虚拟视场中的位置筛
选与人手待交互虚拟对象并放置在交互列表中包括:
134.s331,如果人手处于舒适区,虚拟对象处于舒适区,则将虚拟对象放置在交互列表中;
135.s332,如果人手处于舒适区,虚拟对象处于近场区或者远场区,则发出一道虚拟光线,虚拟光线围绕虚拟对象在第二预设距离范围内,将虚拟对象放置在交互列表中;
136.s333,如果人手处于近场区,虚拟对象处于近场区,则将虚拟对象放置在交互列表中;
137.s334,如果人手处于近场区,虚拟对象处于远场区,则发出一道虚拟光线,虚拟光线围绕虚拟对象在第二预设距离范围内,将虚拟对象放置在交互列表中;
138.需要说明的是,步骤s332和步骤s334中的虚拟光线可以显示或者不显示,用户可根据体验需求进行设定。
139.举例来说,多个虚拟对象分别包括玩具枪、立方体、杯子、镜子、雨伞、小兔子,玩具枪、立方体设置在舒适区;杯子、镜子设置在近场区;雨伞、小兔子设置在远场区。
140.当人手处于舒适区时,处于舒适区的玩具枪、立方体可能会与用户进行交互体验,进而,将舒适区的玩具枪、立方体放置在交互列表中。另外,当人手处于舒适区时,也有可能仅是为了保持舒适的姿态与近场区或者远场区的虚拟对象进行交互,这时根据虚拟光线是否围绕在虚拟对象周围第二预设距离范围内来判断,当虚拟光线击中虚拟对象,或者虚拟光线围绕在虚拟对象周围第二预设距离范围内,表明这些虚拟对象有可能与人手进行交互,则放置在交互列表中。
141.当人手处于近场区时,说明用户并不想与舒适区的虚拟对象进行交互,而可能想与近场区中的虚拟对象进行交互,进而将近场区中杯子、镜子放置在交互列表中。另外,当人手处于近场区时,也有可能是想与远场区的虚拟对象进行交互,这时根据虚拟光线是否围绕在虚拟对象周围第二预设距离范围内来判断,当虚拟光线击中虚拟对象,或者虚拟光线围绕在虚拟对象周围第二预设距离范围内,表明这些虚拟对象有可能与人手进行交互,则放置在交互列表中。
142.从而,得到了根据用户意向与虚拟对象交互的列表。之后,自该列表中筛选出用户意向最高的虚拟交互对象作为实际交互的虚拟对象。该过程可以根据用户之前的习惯、爱好等通过深度学习的方式来进行。在确定虚拟对象的位置,虚拟对象的内容之后,可以根据用户的手的位置,来确定虚拟光标的移动速度以及是否进行显示,以及显示的大小、形状等。进而,用户可以与虚拟对象进行交互。
143.根据本发明的一个具体实施例,如图4所示,该方法包括:
144.s401,获取多个虚拟对象和人手分别在虚拟视场中的位置;
145.s402,根据每个虚拟对象和人手分别在虚拟视场中的位置筛选与人手待交互虚拟对象并放置在交互列表中;
146.s403,自交互列表中筛选出与人手实际交互的虚拟对象;
147.s404,获取虚拟对象和人手分别在虚拟视场中的位置、以及所述虚拟对象的内容;
148.s405,根据虚拟对象和人手分别在虚拟视场中的位置、以及所述虚拟对象的内容确定设置在虚拟视场中的虚拟光标的移动速度;
149.同时,s406,根据虚拟对象和人手分别在虚拟视场中的位置确定设置在虚拟视场
中的虚拟光标是否显示在虚拟视场中;
150.s407,获取人手的姿态;
151.s408,根据人手的姿态调整虚拟光标的显示在虚拟视场中的大小、移动速度、形状中的一种或多种。
152.基于此,该方案提供了更多远场交互的可能,提高了远场交互的准确度,增加了反馈,并且提供了更多手势交互的应用方向,从而整体改善用户在使用ar/vr/mr设备时的体验。
153.实施例四
154.图5是本发明实施例提出的虚拟现实人机交互的装置的方框示意图。如图5所示,该装置100包括:
155.筛选模块110,用于筛选出与人手实际交互的虚拟对象;
156.获取模块120,用于获取虚拟对象和人手分别在虚拟视场中的位置、以及所述虚拟对象的内容;
157.移动速度确定模块130,用于根据虚拟对象和人手分别在虚拟视场中的位置、以及所述虚拟对象的内容确定设置在虚拟视场中的虚拟光标的移动速度;
158.第一移动速度确定子模块,用于如果虚拟对象处于远场区,则根据虚拟对象和人手分别在虚拟视场中的位置获取虚拟视场中,虚拟对象和人手之间的相对距离;
159.根据相对距离和第一预设关系确定设置虚拟光标的移动速度;所述第一预设关系和所述虚拟对象的内容对应设置;
160.其中,远场区是指用户手臂伸直,人手不可触及的区域。
161.根据本发明的一个实施例,所述根据所述虚拟对象和所述人手分别在虚拟视场中的位置、所述虚拟对象的内容确定设置在所述虚拟视场中的虚拟光标的移动速度包括:
162.第二移动速度确定子模块,如果所述人手处于舒适区,所述虚拟对象处于舒适区,则所述移动速度与所述人手的移动速度相同;
163.第三移动速度确定子模块,如果所述人手处于舒适区,所述虚拟对象处于近场区,则根据所述虚拟对象和所述人手分别在虚拟视场中的位置,获取所述虚拟视场中所述虚拟对象和所述人手之间的相对距离,根据所述相对距离和第二预设关系确定设置所述虚拟光标的移动速度,所述第二预设关系与所述虚拟对象内容对应设置;
164.第四移动速度确定子模块,如果所述人手处于近场区,所述虚拟对象处于舒适区或近场区,则所述移动速度与所述人手的移动速度相同;
165.其中,所述舒适区是指以胳膊肘为支撑点,所述手掌画圆形成的区域;所述近场区是指手臂伸直,所述手掌画圆形成的区域除去所述舒适区所剩的区域。
166.根据本发明的一个实施例,所述虚拟现实人机交互的装置还包括:
167.虚拟光标显示模块,用于根据所述虚拟对象和所述人手分别在虚拟视场中的位置确定设置在所述虚拟视场中的虚拟光标是否显示在所述虚拟视场中;
168.第一虚拟光标显示子模块,用于如果所述人手在舒适区,所述虚拟对象在舒适区,则所述虚拟光标不显示;
169.第二虚拟光标显示子模块,用于如果所述人手在舒适区,所述虚拟对象在近场区或远场区,则所述虚拟光标显示;
170.第三虚拟光标显示子模块,用于如果所述人手在近场区,所述虚拟对象在舒适区或近场区,则所述虚拟光标不显示;
171.第四虚拟光标显示子模块,用于如果所述人手在近场区,所述虚拟对象在远场区,则所述虚拟光标显示;
172.其中,所述舒适区是指以胳膊肘为支撑点,所述手掌画圆形成的区域;所述近场区是指手臂伸直,所述手掌画圆形成的区域除去所述舒适区所剩的区域。
173.根据本发明的一个实施例,还包括:
174.虚拟光标特殊显示模块,用于根据所述虚拟对象的内容确定设置在所述虚拟视场中虚拟光标是否显示在所述虚拟视场中;
175.其中,如果所述虚拟对象的内容与所述人手具有反馈动作,则所述虚拟光标显示;如果不具有反馈动作,则依据虚拟光标显示模块功能进行操作。
176.根据本发明的一个实施例,在所述虚拟视场中显示的所述虚拟光标与所述虚拟对象保持第一预设距离。
177.根据本发明的一个实施例,当所述虚拟光标与所述虚拟对象之间的距离小于所述第一预设距离时,所述虚拟光标吸附在所述虚拟对象上。
178.根据本发明的一个实施例,所述虚拟现实人机交互的装置,还包括:
179.姿态获取模块,用于获取所述人手的姿态;
180.调整模块,用于根据所述人手的姿态调整所述虚拟光标的显示在所述虚拟视场中的大小、移动速度、形状中的一种或多种。
181.根据本发明的一个实施例,所述装置还包括:
182.第一筛选子模块,用于获取多个虚拟对象和人手分别在虚拟视场中的位置;
183.第二筛选子模块,用于根据每个所述虚拟对象和所述人手分别在虚拟视场中的位置筛选与所述人手待交互虚拟对象并放置在交互列表中;
184.第三筛选子模块,用于自所述交互列表中筛选出与所述人手实际交互的虚拟对象。
185.根据本发明的一个实施例,第二筛选子模块包括:
186.第一筛选子单元,用于如果所述人手处于舒适区,所述虚拟对象处于舒适区,则将所述虚拟对象放置在所述交互列表中;
187.第二筛选子单元,用于如果所述人手处于舒适区,所述虚拟对象处于近场区或者远场区,则发出一道虚拟光线,所述虚拟光线围绕所述虚拟对象在第二预设距离范围内,将所述虚拟对象放置在所述交互列表中;
188.第三筛选子单元,用于如果所述人手处于近场区,所述虚拟对象处于近场区,则将所述虚拟对象放置在所述交互列表中;
189.第四筛选子单元,用于如果所述人手处于近场区,所述虚拟对象处于远场区,则发出一道虚拟光线,所述虚拟光线围绕所述虚拟对象在第二预设距离范围内,将所述虚拟对象放置在所述交互列表中;
190.其中,所述舒适区是指以胳膊肘为支撑点,所述手掌画圆形成的区域;所述近场区是指手臂伸直,所述手掌画圆形成的区域除去所述舒适区所剩的区域。
191.根据本发明的一个实施例,所述虚拟光标为手掌的3d模型。
192.该实施例为实施例一至实施例三对应的装置的部分,相关模块的功能已经在实施例一至实施例三中叙述,此处不再赘述。上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。值得注意的是,上述装置的实施例中,所包括的各个模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
193.实施例五
194.图6是本发明实施例提出的虚拟现实人机交互的电子设备的方框示意图。如图6所示,该电子设备500包括:
195.一个或多个处理器501;
196.存储装置502,用于存储一个或多个程序;
197.当一个或多个程序被一个或多个处理器501执行,使得一个或多个处理器501实现如前所述的虚拟现实人机交互的方法。
198.该方法包括:
199.s110,筛选出与人手实际交互的虚拟对象;
200.s120,获取虚拟对象和人手分别在虚拟视场中的位置、以及所述虚拟对象的内容;
201.s130,根据虚拟对象和人手分别在虚拟视场中的位置、以及所述虚拟对象的内容确定设置在虚拟视场中的虚拟光标的移动速度;
202.如图6所示,该电子设备500包括处理器501、存储装置502、输入装置503和输出装置505;设备中处理器501的数量可以是一个或多个,图6中以一个处理器501为例;设备中的处理器501、存储装置502、输入装置503和输出装置505可以通过总线或其他方式连接,图6中以通过总线连接为例。
203.存储装置502作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中虚拟现实人机交互的方法对应的程序指令。处理器501通过运行存储在存储装置502中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的虚拟现实人机交互的方法。
204.存储装置502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置502可进一步包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
205.输入装置503可用于接收输入的指令请求,以及产生与设备的教师设置以及功能控制有关的键信号输入。输出装置505可包括显示屏等显示设备。
206.实施例六
207.本发明实施例还提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器501执行时实现如前所述的虚拟现实人机交互的方法。
208.该方法包括:
209.s110,筛选出与人手实际交互的虚拟对象;
210.s120,获取虚拟对象和人手分别在虚拟视场中的位置、以及所述虚拟对象的内容;
211.s130,根据虚拟对象和人手分别在虚拟视场中的位置、以及所述虚拟对象的内容确定设置在虚拟视场中的虚拟光标的移动速度;
212.也就是说,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令可以执行本发明任意实施例所提供的虚拟现实人机交互方法中的相关操作。
213.通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read
‑
only memory,rom)、随机存取存储器(random access memory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
214.综上所述,根据本发明实施例提出的虚拟现实人机交互的方法、装置、设备和介质,其中,该方法包括:筛选出与人手实际交互的虚拟对象;获取所述虚拟对象和所述人手分别在虚拟视场中的位置、以及所述虚拟对象的内容;根据所述虚拟对象和所述人手分别在虚拟视场中的位置、以及所述虚拟对象的内容确定设置在所述虚拟视场中的虚拟光标的移动速度;如果所述虚拟对象处于远场区,则根据所述虚拟对象和所述人手分别在虚拟视场中的位置,获取所述虚拟视场中所述虚拟对象和所述人手之间的相对距离;根据所述相对距离和第一预设关系确定设置所述虚拟光标的移动速度;所述第一预设关系和所述虚拟对象的内容对应设置;其中,所述远场区是指用户手臂伸直,所述人手不可触及的区域。由此,该方法可以实现在虚拟世界中,人可以精准控制虚拟对象,并且可以在精准控制虚拟对象的过程中避免用户产生疲劳感。
215.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
转载请注明原文地址:https://win.8miu.com/read-250237.html