本技术涉及虚拟现实,特别是涉及一种基于虚拟现实的组件交互方法、装置、设备和介质。
背景技术:
1、随着计算机技术的发展,出现了虚拟现实(vr,virtual reality)技术,虚拟现实是一种可以与现实世界相似或完全不同的模拟体验,其基本实现方式是计算机模拟虚拟环境从而给人以环境沉浸感。随着社会生产力和科学技术的不断发展,各行各业对虚拟现实技术的需求日益旺盛。
2、传统技术中,虚拟现实空间中用户与组件之间的交互主要是用户手持交互手柄,通过操作交互手柄上的物理按钮来实现与组件的交互,交互效率低。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够提升交互效率的基于虚拟现实的组件交互方法、装置、设备和介质。
2、第一方面,本技术提供了一种组件交互方法,所述方法包括:
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、上述基于虚拟现实的组件交互方法、装置、设备、介质和计算机程序产品,显示处于虚拟现实空间的交互组件,当操作体在虚拟现实空间中运动,操作体与交互组件之间存在至少两个距离,使得在操作体与交互组件之间分别相距至少两个距离的情况下,分别显示交互组件为不同的第一组件状态。当操作体与交互组件接触,显示交互组件为第二组件状态;第二组件状态表征交互组件被选中,第二组件状态不同于任意的第一组件状态。由于交互组件的组件状态变换可通过操作体靠近交互组件的距离远近来实现,因此,在虚拟现实空间中,只需要通过操作体与交互组件之间的距离就可直观地感知交互组件所处的状态,在操作体与交互组件接触接时可触发交互组件被选中,而不需要操作交互手柄上的物理按钮等繁琐操作,因而提升了交互效率。
1.一种基于虚拟现实的组件交互方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述当操作体在所述虚拟现实空间中运动,所述操作体与所述交互组件之间存在至少两个距离,使得在所述操作体与所述交互组件之间分别相距所述至少两个距离的情况下,分别显示所述交互组件为不同的第一组件状态,包括:
3.根据权利要求2所述的方法,其特征在于,所述当操作体在所述虚拟现实空间中运动,所述操作体与所述交互组件之间存在至少两个预设区域,使得所述操作体在分别位于所述两个预设区域的情况下,分别显示所述交互组件为不同的第一组件状态,包括:
4.根据权利要求3所述的方法,其特征在于,所述第一预设区域包括未选择区域;所述第二预设区域包括待触发区域;所述第一预设区域对应的第一组件状态包括组件未被选择的组件默认状态;所述第二预设区域对应的第一组件状态包括组件待触发状态;
5.根据权利要求4所述的方法,其特征在于,所述待触发区域包括瞄准区域和感应区域;所述组件待触发状态包括所述瞄准区域对应的组件瞄准状态,以及所述感应区域对应的组件感应状态;
6.根据权利要求5所述的方法,其特征在于,所述在所述操作体从所述瞄准区域运动至所述感应区域的情况下,显示所述交互组件为所述组件感应状态,包括:
7.根据权利要求2所述的方法,其特征在于,所述当操作体在所述虚拟现实空间中运动,所述操作体与所述交互组件之间存在至少两个预设区域,使得所述操作体在分别位于所述两个预设区域的情况下,分别显示所述交互组件为不同的第一组件状态,包括:
8.根据权利要求1所述的方法,其特征在于,所述交互组件上设置有隐形体积框;所述交互组件位于所述隐形体积框中;
9.根据权利要求1所述的方法,其特征在于,所述当所述操作体与所述交互组件接触,显示所述交互组件为第二组件状态,包括:
10.根据权利要求9所述的方法,其特征在于,所述当所述操作体与所述交互组件持续接触,且持续接触的时长满足预设触发时长,显示所述交互组件为第二组件状态,包括:
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
12.根据权利要求1所述的方法,其特征在于,所述方法还包括:
13.根据权利要求1所述的方法,其特征在于,所述交互组件包括固定部件和活动部件;所述当所述操作体与所述交互组件接触,显示所述交互组件为第二组件状态,包括:
14.根据权利要求13所述的方法,其特征在于,所述方法还包括:
15.根据权利要求1所述的方法,其特征在于,所述交互组件为一级交互组件;所述至少两个距离为至少两个第一距离;所述方法还包括:
16.根据权利要求1所述的方法,其特征在于,所述方法还包括:
17.一种组件交互装置,其特征在于,所述装置包括:
18.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至16中任一项所述的方法的步骤。
19.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至16中任一项所述的方法的步骤。
20.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至16中任一项所述的方法的步骤。