发明内容
本发明所要解决的技术问题是提供一种虚拟现实六自由度交互方法,以解决现有的虚拟现实交互技术中,外部定位设备搭建麻烦,且互相之间存在干扰的问题。
为了解决上述问题,本发明提供了一种虚拟现实六自由度交互方法,其应用于虚拟现实装置,虚拟现实装置包括摄像头和手柄,其包括:
从虚拟现实空间中的多个虚拟物体中选中并吸附目标虚拟物体至手柄,虚拟现实空间包括虚拟空间坐标系,虚拟空间坐标系以摄像头为原点建立;
通过摄像头获取实时手部信息;
分析实时手部信息中是否包含预设手势动作信息;
若实时手部信息不包含预设手势动作信息,则根据实时手部信息获取操作手柄的手部移动轨迹,并根据手部移动轨迹控制目标虚拟物体在虚拟空间坐标系中进行三维平移操作;
接收用户通过手柄发送的旋转指令,并根据旋转指令控制目标虚拟物体在虚拟空间坐标系中进行三维旋转操作;
融合三维平移操作和三维旋转操作,以实现目标虚拟物体的六自由度交互;
若实时手部信息包含预设手势动作信息,则执行与预设手势动作信息对应的操作。
作为本发明实施例的进一步改进,从虚拟现实空间中的多个虚拟物体中选中并吸附目标虚拟物体至手柄的步骤,包括:
从虚拟现实空间中的多个虚拟物体中选中目标虚拟物体;
通过摄像头获取并分析当前手部信息;
若当前手部信息与预设移动手势匹配时,移动目标虚拟物体至以摄像头为中心的预设范围之内,以致手柄吸附目标虚拟物体。
作为本发明实施例的进一步改进,融合三维平移操作和三维旋转操作,以实现目标虚拟物体的六自由度交互的步骤之后,还包括:
检测是否获取到用户通过手柄输入的移交指令;
若获取到用户通过手柄输入的移交指令,则根据移交指令将目标虚拟物体移交至未持有手柄的手部。
作为本发明实施例的进一步改进,融合三维平移操作和三维旋转操作,以实现目标虚拟物体的六自由度交互的步骤之后,还包括:
检测是否获取到用户输入的释放指令;
若获取到用户输入的释放指令,则根据释放指令释放目标虚拟物体。
为了解决上述问题,本发明还提供了一种虚拟现实装置,其包括摄像头和手柄,其包括:
吸附模块,用于从虚拟现实空间中的多个虚拟物体中选中并吸附目标虚拟物体至手柄,虚拟现实空间包括虚拟空间坐标系,虚拟空间坐标系以摄像头为原点建立;
获取模块,用于通过摄像头获取实时手部信息;
分析模块,用于分析实时手部信息中是否包含预设手势动作信息;
平移模块,用于若实时手部信息不包含预设手势动作信息,则根据实时手部信息获取操作手柄的手部移动轨迹,并根据手部移动轨迹控制目标虚拟物体在虚拟空间坐标系中进行三维平移操作;
旋转模块,用于接收用户通过手柄发送的旋转指令,并根据旋转指令控制目标虚拟物体在虚拟空间坐标系中进行三维旋转操作;
融合模块,用于融合三维平移操作和三维旋转操作,以实现目标虚拟物体的六自由度交互;
手势识别模块,用于若实时手部信息包含预设手势动作信息,则执行与预设手势动作信息对应的操作。
作为本发明实施例的进一步改进,吸附模块包括:
选中单元,用于从虚拟现实空间中的多个虚拟物体中选中目标虚拟物体;
获取与分析单元,用于通过摄像头获取并分析当前手部信息;
移动单元,用于若当前手部信息与预设移动手势匹配时,移动目标虚拟物体至以摄像头为中心的预设范围之内,以致手柄吸附目标虚拟物体。
作为本发明实施例的进一步改进,其还包括:
第一检测模块,用于检测是否获取到用户通过手柄输入的移交指令;
移交模块,用于若获取到用户通过手柄输入的移交指令,则根据移交指令将目标虚拟物体移交至未持有手柄的手部。
作为本发明实施例的进一步改进,其还包括:
第二检测模块,用于检测是否获取到用户输入的释放指令;
释放模块,用于若获取到用户输入的释放指令,则根据释放指令释放目标虚拟物体。
为了解决上述问题,本发明还提供了一种终端,终端包括至少一处理器、存储器及接口,至少一处理器、存储器及接口均通过总线连接;
存储器存储计算机程序;
至少一个处理器执行存储器存储的计算机程序,使得终端执行上述任一项的虚拟现实六自由度交互方法的步骤。
为了解决上述问题,本发明还提供了一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任一项的虚拟现实六自由度交互方法的步骤。
相比于现有技术,本发明提供的虚拟现实六自由度交互方法通过摄像头获取用户的实时手部信息,根据用户的实时手部信息获取用户手部的移动轨迹,映射至虚拟空间坐标系中,从而获取目标虚拟物体的三维平移轨迹,再通过手柄获取目标虚拟物体的三维旋转轨迹,将三维平移轨迹和三维旋转轨迹融合即可实现与目标虚拟物体的六自由度交互,不需要通过外部定位设备来实现,降低了成本,同时也避免了出现外部定位设备之间相互干扰的问题,并且不存在外部定位设备复杂的安装过程,用户体验好。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用来限定本发明。
图1展示了本发明虚拟现实六自由度交互方法的一种实施例。在本实施例中,该虚拟现实六自由度交互方法应用于虚拟现实装置,虚拟现实装置包括摄像头和手柄,而自由度指的是物体在空间里面的基本运动方式,总共有六种。任何运动都可以拆分成这三种基本平移运动方式和三种基本旋转运动方式,其中,三种基本平移运动方式包括上下平移、左右平移和前后平移,三种基本旋转运动方式包括前后翻转、左右摇摆和水平转动。如图1所示,该虚拟现实六自由度交互方法包括:
步骤S1,从虚拟现实空间中的多个虚拟物体中选中并吸附目标虚拟物体至手柄。
具体地,虚拟现实空间包括虚拟空间坐标系,虚拟空间坐标系以摄像头为原点建立,用户在虚拟现实空间中,需要与目标虚拟物体进行交互时,需要通过手柄选中并吸附目标虚拟物体,当操作手柄的手部移动时,吸附与手柄之上的目标虚拟物体跟随手部的移动而移动。
步骤S2,通过摄像头获取实时手部信息。
步骤S3,分析实时手部信息中是否包含预设手势动作信息。若实时手部信息不包含预设手势动作信息,则执行步骤S4。
具体地,通过摄像头获取的用户手部的实时手部信息包括有手势动作信息和非手势动作信息,而手势动作信息中包括预设手势动作信息。当实时手部信息不包含预设手势动作信息时,执行步骤S4。
步骤S4,根据实时手部信息获取操作手柄的手部移动轨迹,并根据手部移动轨迹控制目标虚拟物体在虚拟空间坐标系中进行三维平移操作。
具体地,目标虚拟物体吸附于手柄上,通过实时手部信息获取到用户操作手柄的手部移动轨迹,并将该手部移动轨迹映射至虚拟空间坐标系中,根据映射至虚拟空间坐标系中的手部移动轨迹,控制目标虚拟物体在虚拟空间坐标系中进行三维平移操作。
步骤S5,接收用户通过手柄发送的旋转指令,并根据旋转指令控制目标虚拟物体在虚拟空间坐标系中进行三维旋转操作。
具体地,该手柄为带有IMU传感器,通过IMU传感器即可很好的捕捉物体三种基本旋转运动方式。因此,通过接收用户通过手柄发送的旋转指令,即可控制目标虚拟物体再虚拟空间坐标系中进行三维旋转操作。
步骤S6,融合三维平移操作和三维旋转操作,以实现目标虚拟物体的六自由度交互。
步骤S7,执行与预设手势动作信息对应的操作。
具体地,该虚拟现实装置中设有至少一个预设手势动作信息,每个预设手势动作信息对应设有相应的操作,例如将目标虚拟物体缩小、放大等。当实时手部信息包括预设手势动作信息时,将其与至少一个预设手势动作信息相匹配,匹配成功后,执行与该预设手势动作信息对应的操作。
本实施例中,通过摄像头获取用户手部的实时手部信息,当实时手部信息中不包含预设手势动作信息时,则获取其手部移动轨迹,再根据手部移动轨迹实现对目标虚拟物体进行三维平移操作,而通过手柄又可实现对目标虚拟物体进行三维旋转操作,融合三维平移操作和三维旋转操作即可实现与目标虚拟物体之间的六自由度交互,其不需借助外部定位设备来对用户的手部进行定位,就可实现与目标虚拟物体之间的六自由度交互,避免了出现多个用户同时使用时出现外部定位设备之间相互干扰的问题,同时省去了安装搭建外部定位设备的过程,降低了生产成本,提升了用户体验。当实时手部信息中包含预设手势动作信息时,通过识别用户的手势,并执行与手势对应的操作,从而完成用户与目标虚拟物体之间的交互操作,其交互方式更为丰富,且交互操作过程更为自然,非常适合在诸如教学、实验等虚拟场景中应用。
将本发明的虚拟现实六自由度交互方法应用于虚拟现实装置的过程中,用户的行动是受到行动限制的,例如教室,用户并不能在教室中随便的行走,而是需要在固定位置操作,从而与虚拟世界中的虚拟物品进行交互。因此,上述实施例的基础上,其他实施例中,如图2所示,步骤S1包括:
步骤S10,从虚拟现实空间中的多个虚拟物体中选中目标虚拟物体。
步骤S11,通过摄像头获取并分析当前手部信息。
步骤S12,若当前手部信息与预设移动手势匹配时,移动目标虚拟物体至以摄像头为中心的预设范围之内,以致手柄吸附目标虚拟物体。
具体地,当选定目标虚拟物体之后,获取用户的当前手部信息,若当前手部信息与预设移动手势匹配时,将目标虚拟物体移动至用户可操作的范围之内。例如,在用户选定目标虚拟物体后,可通过挥手来控制拉近目标虚拟物体,再与目标虚拟物体之间进行交互。应当理解的是,用户还可通过手势来拉远目标虚拟物体。
本实施例中,当用户行动受限时,如实验或者教学场景中,都不允许用户大范围的移动,来实现虚拟场景中的行走取物,因此需要将用户与目标虚拟物体之间的交互控制在一定区域范围内。本实施例通过手势操作即可实现取放用户操作区域范围之外的目标虚拟物体,并通过摄像头实现与目标虚拟物体的体前六自由度交互,无需在虚拟空间中行走,其适用于更多的场景中。
将本发明的虚拟现实六自由度交互方法应用于虚拟现实装置的过程中,还需进一步实现用户与目标虚拟物体之间的交互。因此,上述实施例的基础上,其他实施例中,如图3所示,步骤S6之后,还包括:
步骤S20,检测是否获取到用户通过手柄输入的移交指令。若获取到用户通过手柄输入的移交指令,则执行步骤S21。
具体地,该移交指令用于将目标虚拟物体从手柄移交至其他部分,如用户未操作手柄的手部并吸附。当获取到该移交指令时,执行步骤S21。当未获取到该移交指令时,则维持现状。
步骤S21,根据移交指令将目标虚拟物体移交至未持有手柄的手部。
本实施例中,用户不仅可以通过手柄吸附目标虚拟物体,还可将目标虚拟物体移交至未操作手柄的手部,再与目标虚拟物体之间进行交互,其进一步丰富了用户与目标虚拟物体之间交互操作的方式。
将本发明的虚拟现实六自由度交互方法应用于虚拟现实装置的过程中,在与目标虚拟物体之间的交互操作完成之后,还需要释放目标虚拟物体。因此,上述实施例的基础上,其他实施例中,如图4所示,步骤S6之后,还包括:
步骤S30,检测是否获取到用户输入的释放指令。若获取到用户输入的释放指令,则执行步骤S31。
具体地,用户在与目标虚拟物体进行交互完成之后,还需要释放目标虚拟物体,以便用户与其他目标虚拟物体进行交互或者执行其他操作,因此,在检测到用户输入的释放指令后,执行步骤S31。若未检测到用户输入的释放指令,则维持现状。
步骤S31,根据释放指令释放目标虚拟物体。
具体地,该释放指令可通过手柄来输入,也可通过手部的手势动作信息来输入。在接收到释放指令之后,可释放该目标虚拟物体,可以选择将目标虚拟物体放回在原位置,也可以将目标虚拟物体放在虚拟场景任何可以放置的位置。
图5展示了本发明虚拟现实装置的一种实施例。在本实施例中,如图5所示,该虚拟现实装置包括摄像头和手柄,其包括吸附模块10、获取模块11、分析模块12、平移模块13、旋转模块14、融合模块15和手势识别模块16。
其中,吸附模块10,用于从虚拟现实空间中的多个虚拟物体中选中并吸附目标虚拟物体至手柄,虚拟现实空间包括虚拟空间坐标系,虚拟空间坐标系以摄像头为原点建立;获取模块11,用于通过摄像头获取实时手部信息;分析模块12,用于分析实时手部信息中是否包含预设手势动作信息;平移模块13,用于若实时手部信息不包含预设手势动作信息,则根据实时手部信息获取操作手柄的手部移动轨迹,并根据手部移动轨迹控制目标虚拟物体在虚拟空间坐标系中进行三维平移操作;旋转模块14,用于接收用户通过手柄发送的旋转指令,并根据旋转指令控制目标虚拟物体在虚拟空间坐标系中进行三维旋转操作;融合模块15,用于融合三维平移操作和三维旋转操作,以实现目标虚拟物体的六自由度交互;手势识别模块16,用于若实时手部信息包含预设手势动作信息,则执行与预设手势动作信息对应的操作。
上述实施例的基础上,其他实施例中,如图6所示,吸附模块10包括选中单元100、获取与分析单元101和移动单元102。
其中,选中单元100,用于从虚拟现实空间中的多个虚拟物体中选中目标虚拟物体;获取与分析单元101,用于通过摄像头获取并分析当前手部信息;移动单元102,用于若当前手部信息与预设移动手势匹配时,移动目标虚拟物体至以摄像头为中心的预设范围之内,以致手柄吸附目标虚拟物体。
上述实施例的基础上,其他实施例中,如图7所示,该虚拟现实装置还包括第一检测模块20和移交模块21。
其中,第一检测模块20,用于检测是否获取到用户通过手柄输入的移交指令;移交模块21,用于若获取到用户通过手柄输入的移交指令,则根据移交指令将目标虚拟物体移交至未持有手柄的手部。
上述实施例的基础上,其他实施例中,如图8所示,该虚拟现实装置还包括第二检测模块30和释放模块31。
其中,第二检测模块30,用于检测是否获取到用户输入的释放指令;释放模块31,用于若获取到用户输入的释放指令,则根据释放指令释放目标虚拟物体。
关于上述实施例中虚拟现实装置的各模块实现技术方案的其他细节,可参见上述实施例中的虚拟现实六自由度交互方法中的描述,此处不再赘述。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
图9展示了本发明终端的一种实施例,为了便于说明,仅示出了与本发明实施例相关的部分。在本实施例中,该终端包括至少一处理器1、存储器2及接口3,至少一处理器1、存储器2及接口3均通过总线连接;
存储器2存储计算机程序;
至少一个处理器1执行存储器2存储的计算机程序,使得终端执行上述实施例所述的虚拟现实六自由度交互方法的步骤。
本发明还公开了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例所述的虚拟现实六自由度交互方法的步骤。
本实施例中的存储介质可以是只读存储器、可存储静态信息和指令的静态存储设备、随机存取存储器、或者可存储信息和指令的动态存储设备,也可以是电可擦可编程只读存储器、只读光盘、或其他光盘存储、光碟存储、磁盘存储介质或者其他磁存储设备。
以上对发明的具体实施方式进行了详细说明,但其只作为范例,本发明并不限制于以上描述的具体实施方式。对于本领域的技术人员而言,任何对该发明进行的等同修改或替代也都在本发明的范畴之中,因此,在不脱离本发明的精神和原则范围下所作的均等变换和修改、改进等,都应涵盖在本发明的范围内。