虚拟角色的方位确定方法、装置和存储介质
本申请要求于2017年01月18日提交中国专利局、优先权号为2017100400648、发明名称为“虚拟角色的方位确定方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉实施例及计算机领域,具体而言,涉及一种虚拟角色的方位确定方法、装置和存储介质。
背景技术
目前,在虚拟应用中,只能设置现实环境中的区域在虚拟现实中对应的虚拟区域的位置,用户对应的虚拟角色在虚拟区域中的相对位置由硬件确定,程序无法直接修改虚拟角色的位置和朝向,因而一般将虚拟应用的位置和朝向设定为虚拟应用中预设的位置和朝向。在虚拟应用启动之后,用户对应的虚拟角色需要自行寻找在虚拟区域内应处于的位置和朝向,才能开始虚拟游戏。
在用户对应的虚拟角色每次进入虚拟应用的时候,都需要用户控制虚拟角色自己寻找预定方位,比如,寻找初始位置和朝向,因而对虚拟角色的方位进行确定的灵活性低,降低用户对虚拟应用的体验。
针对上述对虚拟角色的方位进行确定的灵活性低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种虚拟角色的方位确定方法、装置和存储介质,以至少解决相关技术中对虚拟角色的方位进行确定的灵活性低的技术问题。
根据本发明实施例的一个方面,提供了一种虚拟角色的方位确定方法。该虚拟角色的方位确定方法包括:在预设场景中,获取虚拟角色的第一参照方位,其中,第一参照方位与虚拟角色待到达的预定方位重合;获取虚拟角色的当前方位相对第一参照方位的第一相对方位;将第一参照方位按照第一相对方位调整至第二参照方位,其中,预定方位相对第二参照方位的相对方位为第一相对方位,当前方位随着第一参照方位的调整而更新,更新后的当前方位与调整后的第一参照方位之间的相对方位为第一相对方位;根据第二参照方位和第一相对方位将虚拟角色的当前方位更新为预定方位。
根据本发明实施例的另一方面,还提供了一种虚拟角色的方位确定装置,包括一个或多个处理器,以及一个或多个存储程序单元的存储器,其中,程序单元由处理器执行,程序单元包括:第一获取单元,被设置为在预设场景中,获取虚拟角色的第一参照方位,其中,第一参照方位与虚拟角色待到达的预定方位重合;第二获取单元,被设置为获取虚拟角色的当前方位相对第一参照方位的第一相对方位;调整单元,被设置为将第一参照方位按照第一相对方位调整至第二参照方位,其中,预定方位相对第二参照方位的相对方位为第一相对方位,当前方位随着第一参照方位的调整而更新,更新后的当前方位与调整后的第一参照方位之间的相对方位为第一相对方位;更新单元,被设置为根据第二参照方位和第一相对方位将虚拟角色的当前方位更新为预定方位。
根据本发明实施例的另一方面,还提供了一种存储介质,其中,存储介质中存储有计算机程序,计算机程序被设置为运行时执行本发明实施例的虚拟角色的方位确定方法。
根据本发明实施例的另一方面,还提供了一种电子装置。该电子装置包括存储器和处理器,其中,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行本发明实施例的虚拟角色的方位确定方法。
在本发明实施例中,在预设场景中,获取虚拟角色的第一参照方位, 其中,第一参照方位与虚拟角色待到达的预定方位重合;获取虚拟角色的当前方位相对第一参照方位的第一相对方位;将第一参照方位按照第一相对方位调整至第二参照方位,其中,预定方位相对第二参照方位的相对方位为第一相对方位,当前方位随着第一参照方位的调整而更新,更新后的当前方位与调整后的第一参照方位之间的相对方位为第一相对方位;根据第二参照方位和第一相对方位将虚拟角色的当前方位更新为预定方位。由于获取虚拟角色的当前方位相对于第一参照方位的第一相对方位,并且将第一参照方位按照上述第一相对方位调整至第二参照方位,进而根据第二参照方位和第一相对方位将虚拟角色的当前方位更新为预定方位,达到了调整虚拟角色在预设场景中的位置的目的,避免了需要用户控制虚拟角色自己寻找预定方位,从而实现了对虚拟角色的方位进行确定的灵活性的技术效果,进而解决了相关技术中对虚拟角色的方位进行确定的灵活性低的技术问题。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种虚拟现实头盔的示意图;
图2是根据本发明实施例的一种虚拟角色的方位确定方法的流程图;
图3是根据本发明实施例的一种将第一参照朝向按照第一相对角度调整至第二参照方位指示的第二参照朝向的方法的流程图;
图4是根据本发明实施例的一种将第一参照位置的坐标按照第一相对坐标调整至第二参照方位指示的第二参照位置的方法的流程图;
图5是根据本发明实施例的一种获取虚拟角色的当前方位相对第一参照方位的第一相对方位的方法的流程图;
图6是根据本发明实施例的一种虚拟角色在虚拟现实应用中的初始状态的示意图;
图7是根据本发明实施例的一种根据调整虚拟角色的朝向的示意图;
图8是根据本发明实施例的一种调整虚拟角色的位置的示意图;
图9是根据本发明实施例的一种虚拟角色的方位确定装置的示意图;以及
图10是根据本发明实施例的一种电子装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种虚拟角色的方位确定方法的实施例。
可选地,在本实施例中,上述虚拟角色的方位确定方法可以应用于如图1所示的虚拟现实(Virtual Reality,简称为VR)头盔。图1是根据本 发明实施例的一种虚拟现实头盔的示意图。如图1所示,本发明实施例的虚拟角色的方位确定方法可以由虚拟现实头盔来执行,该虚拟现实头盔可以具有显示功能,安装有虚拟现实应用,适用于虚拟现实场景中。
下面对本发明实施例上述的虚拟角色的方位确定方法进行详细介绍。
图2是根据本发明实施例的一种虚拟角色的方位确定方法的流程图。如图2所示,该虚拟角色的方位确定方法可以包括以下步骤:
步骤S202,在预设场景中,获取虚拟角色的第一参照方位。
在本发明上述步骤S202提供的技术方案中,在预设场景中,获取虚拟角色的第一参照方位,其中,第一参照方位与虚拟角色待到达的预定方位重合。
在该实施例中,虚拟角色为用户在虚拟应用中对应的角色,与用户的实际行为相对应,比如,用户通过前进、后退、转弯等动作行为以使虚拟角色也进行前进、后退、转弯等动作行为。虚拟应用的预设场景为虚拟角色活动的场景,可以为具有一定游戏规则的游戏场景。可选地,虚拟应用为虚拟现实VR应用。
获取虚拟角色在预设场景中的第一参照方位,其中,第一参照方位与虚拟角色待到达的预定方位重合,该预定方位为虚拟角色在虚拟应用中待执行预设事件时预设的方位,由虚拟应用的程序预设,比如,该预定方位为虚拟角色在预设场景中按照游戏规则需要设定的方位和朝向,当预设事件为开启游戏的事件时,则预定方位可以为在开启游戏时虚拟角色在预设场景中预设的初始化位置和预设的朝向,也即,当虚拟角色最终处于该预定方位时,执行虚拟应用设定的开启游戏的预设事件。第一参照方位可以为预设场景中的参照对象的方位,其中,参照对象为用于在设定虚拟角色在预设场景中的方位时进行参照的对象。比如,在现实场景下,用户进入一定区域,则用户在虚拟现实应用中对应的虚拟角色进入现实场景中的区域对应的虚拟区域,该虚拟区域为虚拟角色的参照对象。
第一参照方位与预定方位重合,可选地,通过程序将参照对象的参照方位设置为与预定方位重合的方位。比如,将参照对象的朝向设置为虚拟应用预设的目标朝向。在预设坐标系中,参照对象的角度与虚拟应用预设的角度重合,将参照对象的位置设置为虚拟应用预设的预定位置,参照对象的坐标与虚拟应用预设的坐标重合。
步骤S204,获取虚拟角色的当前方位相对第一参照方位的第一相对方位。
在本发明上述步骤S204提供的技术方案中,获取用于指示虚拟角色当前在预设场景中的方位的当前方位,该当前方位由硬件确定,程序无法直接修改,比如,虚拟角色在预设场景中的当前位置、当前朝向,其中,当前位置、当前朝向由设备传感器确定,程序无法直接修改。在获取虚拟角色的第一参照方位之后,获取虚拟角色的当前方位相对第一参照方位的第一相对方位,该第一相对方位由硬件确定,程序无法直接修改第一相对方位,也即,虚拟角色与参照对象之间的第一相对方位由硬件确定,比如,由设备传感器确定,程序无法直接修改虚拟角色与参照对象之间的第一相对方位,但程序可以修改用于指示参照对象在预设场景中的方位的第一参照方位。
可选地,在获取虚拟角色的当前方位相对第一参照方位的第一相对方位时,获取虚拟角色在预设场景中的朝向与参照对象的朝向的角度差,该角度差也即为虚拟角色在预设场景中的朝向与参照对象的朝向之间的夹角,也可以获取虚拟角色在预设场景中的位置坐标与参照对象的位置坐标之间的坐标差值,也可以同时获取虚拟角色在预设场景中的朝向与参照对象的朝向之间的角度差、虚拟角色在预设场景中的位置坐标与参照对象的位置坐标之间的坐标差值。
步骤S206,将第一参照方位按照第一相对方位调整至第二参照方位。
在本发明上述步骤S206提供的技术方案中,将第一参照方位按照第一相对方位调整至第二参照方位,其中,预定方位相对第二参照方位的相 对方位为第一相对方位,当前方位随着第一参照方位的调整而更新,更新后的当前方位与调整后的第一参照方位之间的相对方位为第一相对方位。
由于第一相对方位由硬件决定,程序无法直接修改,但程序可以直接设置和修改第一参照方位,当前方位随着第一参照方位的调整而更新,更新后的当前方位与调整后的第一参照方位之间的相对方位为第一相对方位,因而程序可以直接设置和修改参照对象在预设场景中的方位,这样在参照对象在预设场景中的方位设置和修改之后,虚拟角色在预设场景中的方位也可以进行确定。
在获取虚拟角色的当前方位相对第一参照方位的第一相对方位之后,将第一参照方位按照第一相对方位调整至第二参照方位,其中,预定方位相对第二参照方位的相对方位为第一相对方位。
步骤S208,根据第二参照方位和第一相对方位将虚拟角色的当前方位更新为预定方位。
在本发明上述步骤S208提供的技术方案中,在将第一参照方位按照第一相对方位调整至第二参照方位之后,在预设场景中根据第一相对方位调整参照对象的第一参照方位以使虚拟角色的当前方位更新为预定方位。比如,在获取虚拟角色的当前朝向与参照朝向的角度差之后,调整参照对象的朝向以使虚拟角色的当前朝向更新为目标朝向,可以保持参照对象的位置不变,将参照对象按照当前朝向相对目标朝向的角度差以当前朝向相对目标朝向的方向的反方向进行旋转,从而使虚拟角色的当前朝向更新为目标朝向。
当虚拟角色的当前位置与虚拟应用的预定位置未重合时,获取虚拟角色的当前位置与参照对象的位置之间的坐标差值,可以获取在预设坐标系下当前位置的坐标与第一参照位置的坐标之间的坐标差,根据坐标差将第一参照位置按照当前位置的坐标相对参照位置的坐标的方向的反方向偏移上述坐标差,从而调整参照对象的位置以使虚拟角色的当前位置更新为预定位置,进而达到当前方位与预定方位重合的目的,避免了用户控制虚 拟角色在预设场景中自行移动以确定方位所带来的虚拟角色的方位确定不灵活的问题,达到了提高虚拟角色的方位确定的灵活性的目的,避免了用户对应的虚拟角色在进入预设场景不能立即开始使用而带来的体验差的问题,从而提升了用户体验。
通过上述步骤S202至步骤S208,在预设场景中,获取虚拟角色的第一参照方位,其中,第一参照方位与虚拟角色待到达的预定方位重合;获取虚拟角色的当前方位相对第一参照方位的第一相对方位;将第一参照方位按照第一相对方位调整至第二参照方位,其中,预定方位相对第二参照方位的相对方位为第一相对方位,当前方位随着第一参照方位的调整而更新,更新后的当前方位与调整后的第一参照方位之间的相对方位为第一相对方位;根据第二参照方位和第一相对方位将虚拟角色的当前方位更新为预定方位,可以解决相关技术中对虚拟角色的方位进行确定的灵活性低的技术问题,从而实现了对虚拟角色的方位进行确定的灵活性的技术效果。
作为一种可选的实施方式,步骤S202,获取虚拟角色的第一参照方位包括:在当前方位指示的当前位置与预定方位指示的预定位置重合时,获取第一参照方位指示的第一参照朝向,其中,第一参照朝向与预定方位指示的预定朝向重合。
虚拟角色在预设场景中的预定方位包括目标朝向,也即,由虚拟应用的程序设定的虚拟角色在预设场景中的目标朝向,为虚拟角色在虚拟应用中待执行预设事件时预设的朝向,可以通过预设坐标系下的角度进行表示。在当前方位指示的当前位置与预定方位指示的预定位置重合时,获取虚拟角色在虚拟应用的预设场景中的目标朝向。虚拟角色在进入虚拟应用按照预设规则执行预设事件之前,在当前方位指示的当前位置与预定方位指示的预定位置重合时,只需要虚拟角色在预设场景中的当前朝向与目标朝向一致就可以执行,比如,预设事件为开启游戏,当虚拟角色在预设场景中的当前朝向与目标朝向一致时,就可以直接开启游戏。通过获取虚拟角色在预设场景中的目标朝向实现了获取虚拟角色在预设场景中的预定方位。
获取第一参照方位指示的第一参照朝向,其中,第一参照朝向与预定方位指示的预定朝向重合。参照对象可以为用于在设定虚拟角色在预设场景中的朝向时进行参照的对象。该参照对象与虚拟角色之间的相对朝向由硬件确定,比如,由设备传感器确定,程序无法直接修改参照对象与虚拟角色之间的相对朝向,但程序可以修改用于指示参照对象在预设场景中的朝向的参照朝向。在获取虚拟角色在虚拟应用的预设场景中的目标朝向之后,设置第一参照朝向,使第一参照朝向与预定方位指示的预定朝向重合,也即,通过程序将参照对象的朝向设置为与目标朝向重合的朝向,可以在预设坐标系中改变参照对象的角度使参照对象的朝向与目标朝向重合。通过将参照对象的朝向设置为目标朝向实现了第一参照朝向与预定方位指示的预定朝向重合的目的。
作为一种可选的实施方式,步骤S204,获取虚拟角色的当前方位相对第一参照方位的第一相对方位包括:获取当前方位指示的当前朝向相对第一参照朝向的第一相对角度。
在虚拟角色进入虚拟应用的预设场景时,获取用于指示虚拟角色当前在预设场景中的朝向的当前朝向,该当前朝向由硬件确定,虚拟应用的程序无法直接修改。在获取第一参照方位指示的第一参照朝向之后,获取当前方位指示的当前朝向相对第一参照朝向的第一相对角度,也即,获取虚拟角色的当前朝向和参照对象的朝向之间的角度差,该角度差也即为虚拟角色在预设场景中的朝向与参照对象的朝向的夹角。通过获取当前方位指示的当前朝向相对第一参照朝向的第一相对角度实现获取虚拟角色的当前方位相对第一参照方位的第一相对方位。
作为一种可选的实施方式,步骤S206,将第一参照方位按照第一相对方位调整至第二参照方位包括:将第一参照朝向按照第一相对角度调整至第二参照方位指示的第二参照朝向,其中,预定朝向相对第二参照朝向的相对角度为第一相对角度,当前朝向随着第一参照朝向的调整而更新,更新后的当前朝向与调整后的第一参照朝向之间的相对角度为第一相对 角度,第一相对方位包括第一相对角度。
由于第一相对角度由硬件决定,程序无法直接修改,但程序可以直接设置和修改参照对象在预设场景中的朝向,也即,第一参照朝向是可以进行调整的。当前朝向随着第一参照朝向的调整而更新,更新后的当前朝向与调整后的第一参照朝向之间的相对角度为第一相对角度,第一相对方位包括第一相对角度,这样当参照对象在预设场景中的朝向设置和修改之后,虚拟角色在预设场景中的朝向也随之确定。
在获取当前方位指示的当前朝向相对第一参照朝向的第一相对角度之后,将第一参照朝向按照第一相对角度调整至第二参照方位指示的第二参照朝向,预定朝向相对第二参照朝向的相对角度为第一相对角度,可以保持参照对象的位置不变,将参照对象的朝向以预设点为旋转中心进行旋转,此时参照对象的朝向偏离目标朝向,虚拟角色的当前朝向随参照对象的朝向的旋转而旋转,直至虚拟角色的当前朝向与目标朝向重合,进而达到调整后的虚拟角色的当前朝向与目标朝向重合,避免了用户控制虚拟角色在预设场景中自行移动以确定朝向所带来的虚拟角色的方位确定不灵活的问题,达到了提高虚拟角色的方位确定的灵活性的目的,避免了用户对应的虚拟角色在进入预设场景不能立即开始使用而带来的体验差的问题,从而提升了用户体验。
作为一种可选的实施方式,将第一参照朝向按照第一相对角度调整至第二参照方位指示的第二参照朝向包括:将当前朝向相对第一参照朝向的方向确定为第一相对角度指示的角度方向;将第一参照朝向按照角度方向的反方向以第一相对角度指示的角度差旋转至第二参照朝向。
图3是根据本发明实施例的一种将第一参照朝向按照第一相对角度调整至第二参照方位指示的第二参照朝向的方法的流程图。如图3所示,该方法包括以下步骤:
步骤S301,将当前朝向相对第一参照朝向的方向确定为第一相对角度指示的角度方向。
在本发明上述步骤S301提供的技术方案中,在预设场景下,当前朝向相对第一参照朝向的方向可以为虚拟角色相对参照对象的朝向,也即,以参照对象的朝向为基准的虚拟角色的朝向。比如,参照对象的朝向为预设场景的指北朝向,虚拟角色相对参照对象的朝向为预设场景中的北向西偏45°。
步骤S302,将第一参照朝向按照角度方向的反方向以第一相对角度指示的角度差旋转至第二参照朝向。
在本发明上述步骤S302提供的技术方案中,在将当前朝向相对第一参照朝向的方向确定为第一相对角度指示的角度方向之后,由于第一相对角度不变,对参照对象按照角度方向的反方向以第一相对角度指示的角度差进行旋转。可以将参照对象的朝向以预设点为旋转点,按照第一相对角度指示的角度方向的反方向进行旋转,此时参照对象的朝向偏离目标朝向,虚拟角色的当前朝向随参照朝向的旋转而旋转。当旋转角度达到上述角度差时,旋转后的虚拟角色的当前朝向与目标朝向重合,进而达到虚拟角色的当前朝向与目标朝向重合的目的,达到了提高虚拟角色的方位确定的灵活性的目的。
该实施例通过将当前朝向相对第一参照朝向的方向确定为第一相对角度指示的角度方向;将第一参照朝向按照角度方向的反方向以第一相对角度指示的角度差旋转至第二参照朝向,实现了将第一参照朝向按照第一相对角度调整至第二参照方位指示的第二参照朝向。
作为一种可选的实施方式,步骤S208,根据第二参照方位和第一相对方位将虚拟角色的当前方位更新为预定方位包括:根据第二参照朝向和第一相对角度将虚拟角色的当前朝向更新为预定朝向。
在将第一参照朝向按照第一相对角度调整至第二参照方位指示的第二参照朝向之后,由于第一相对角度不变,根据第二参照朝向和第一相对角度将虚拟角色的当前朝向更新为预定朝向,也即,当前朝向与预定朝向重合,避免了用户控制虚拟角色在预设场景中自行移动以确定方位所带来 的虚拟角色的方位确定不灵活的问题,达到了提高虚拟角色的方位确定的灵活性的目的,避免了用户对应的虚拟角色在进入预设场景不能立即开始使用而带来的体验差的问题,从而提升了用户体验。
作为一种可选的实施方式,步骤S202,获取虚拟角色的第一参照方位包括:在当前方位指示的当前朝向与预定方位指示的预定朝向重合时,获取第一参照方位指示的第一参照位置,其中,第一参照位置与预定方位指示的预定位置重合。
虚拟角色在预设场景中的预定方位包括预定位置,为虚拟角色在虚拟应用中待执行预设事件时预设的位置,可以通过预设坐标系下的坐标进行表示。可选地,在当前方位指示的当前朝向与预定方位指示的预定朝向重合时,获取第一参照方位指示的第一参照位置。可选地,虚拟角色在进入虚拟应用按照预设规则执行预设事件之前,在当前方位指示的当前朝向与预定方位指示的预定朝向重合时,只需要虚拟角色在预设场景中的当前位置与预定位置一致就可以执行,比如,当虚拟角色在预设场景中的当前位置与预定位置一致时,则立即开启游戏。
第一参照位置可以为参照对象在预设场景中的位置,参照对象可以为用于在设定虚拟角色在预设场景中的位置时进行参照的对象。该参照对象与虚拟角色之间的相对位置由硬件确定,比如,由设备传感器确定,程序无法直接修改参照对象与虚拟角色之间的相对位置,但程序可以修改用于指示参照对象在预设场景中的朝向的参照位置。
在获取虚拟角色在虚拟应用的预设场景中的预定位置之后,获取第一参照方位指示的第一参照位置,其中,第一参照位置与预定方位指示的预定位置重合。可选地,将参照对象的位置设置为预定方位指示的预定位置,也即,通过程序将参照对象的位置设置为与预定位置重合的朝向,可以在预设坐标系中改变参照对象的角度使参照对象的位置与预定位置重合。通过将参照对象的位置设置为预定位置实现了第一参照位置与预定方位指示的预定位置重合的目的。
作为一种可选的实施方式,步骤S204,获取虚拟角色的当前方位相对第一参照方位的第一相对方位包括:获取当前方位指示的当前位置的坐标相对第一参照位置的坐标的第一相对坐标。
在虚拟角色进入虚拟应用的预设场景时,获取当前方位指示的当前位置,也即,获取用于指示虚拟角色当前在预设场景中的朝向的当前位置,该当前位置由硬件确定,虚拟应用的程序无法直接修改。在获取第一参照方位指示的第一参照位置之后,获取当前方位指示的当前位置的坐标相对第一参照位置的坐标的第一相对坐标,可以获取虚拟角色的当前位置和参照对象的位置之间的坐标差值,该坐标差值可以为虚拟角色在预设坐标系下的坐标值与参照对象在预设坐标下的坐标值之差。通过获取当前方位指示的当前位置的坐标相对第一参照位置的坐标的第一相对坐标从而实现获取虚拟角色的当前方位相对第一参照方位的第一相对方位。
作为一种可选的实施方式,步骤S206,将第一参照方位按照第一相对方位调整至第二参照方位包括:将第一参照位置的坐标按照第一相对坐标调整至第二参照方位指示的第二参照位置的坐标,其中,预定位置的坐标相对第二参照位置的坐标的相对坐标为第一相对坐标,当前位置的坐标随着第一参照位置的坐标的调整而更新,更新后的当前位置的坐标与调整后的第一参照位置的坐标之间的相对坐标为第一相对坐标,第一相对方位包括第一相对坐标。
由于第一相对坐标由硬件决定,程序无法直接修改,但程序可以直接设置和修改参照对象在预设场景中的位置,当前位置的坐标随着第一参照位置的坐标的调整而更新,更新后的当前位置的坐标与调整后的第一参照位置的坐标之间的相对坐标为第一相对坐标,第一相对方位包括第一相对坐标,这样当参照对象在预设场景中的位置设置和修改之后,虚拟角色在预设场景中的位置也随之确定。
在获取当前方位指示的当前位置的坐标相对第一参照位置的坐标的第一相对坐标之后,将第一参照位置的坐标按照第一相对坐标调整至第二 参照方位指示的第二参照位置的坐标,也即,在预设场景中根据第一相对坐标调整参照对象的位置至第二参照位置,以使当前位置与预定位置重合。可选地,将第一参照位置按照当前位置的坐标相对第一参照位置的坐标的方向的反方向以第一相对坐标指示的坐标差进行偏移,此时参照对象的位置偏离预定位置,虚拟角色的当前位置随参照对象的位置的移动而移动,直至虚拟角色的当前位置与预定位置重合,进而达到调整后的虚拟角色的当前位置与预定位置重合,避免了用户控制虚拟角色在预设场景中自行移动以确定位置所带来的虚拟角色的方位确定不灵活的问题,达到了提高虚拟角色的方位确定的灵活性的目的,避免了用户对应的虚拟角色在进入预设场景不能立即开始使用而带来的体验差的问题,从而提升了用户体验。
作为一种可选的实施方式,将第一参照位置的坐标按照第一相对坐标调整至第二参照方位指示的第二参照位置包括:将当前位置的坐标相对第一参照位置的坐标的方向确定为第一相对坐标指示的坐标方向;将第一参照位置的坐标按照坐标方向的反方向以第一相对坐标指示的坐标差偏移至第二参照位置。
图4是根据本发明实施例的一种将第一参照位置的坐标按照第一相对坐标调整至第二参照方位指示的第二参照位置的方法的流程图。如图4所示,该方法包括以下步骤:
步骤S401,将当前位置的坐标相对第一参照位置的坐标的方向确定为第一相对坐标指示的坐标方向。
在本发明上述步骤S401提供的技术方案中,在获取当前方位指示的当前位置的坐标相对第一参照位置的坐标的第一相对坐标之后,将当前位置的坐标相对第一参照位置的坐标的方向确定为第一相对坐标指示的坐标方向。在预设场景下,虚拟角色的位置相对参照对象的位置,也即,以参照对象的位置为基准的虚拟角色的位置。比如,参照对象在预设坐标系下的坐标为(0,0),虚拟角色在预设坐标系下的坐标为(a,b),虚拟角色相对参照对象的位置为在横轴偏离参照对象a距离,且在纵轴偏离参照 对象b距离所确定的位置,当前位置的坐标相对第一参照位置的坐标的方向为在横轴偏离参照对象a距离的方向,且在纵轴偏离参照对象b距离的方向,从而确定为第一相对坐标指示的坐标方向。
步骤S402,将第一参照位置的坐标按照坐标方向的反方向以第一相对坐标指示的坐标差偏移至第二参照位置。
在本发明上述步骤S402提供的技术方案中,在将当前位置的坐标相对第一参照位置的坐标的方向确定为第一相对坐标指示的坐标方向之后,将第一参照位置的坐标按照坐标方向的反方向以第一相对坐标指示的坐标差偏移至第二参照位置。可以将参照对象的位置以按照上述坐标差值进行偏移,此时参照对象的位置偏离预定位置,虚拟角色的当前位置随参照位置的移动而移动,当偏离距离达到上述第一相对坐标指示的坐标差时,偏离后的虚拟角色的当前位置与预定位置重合,进而达到虚拟角色的当前位置与预定位置重合的目的,达到了提高虚拟角色的方位确定的灵活性的目的。
该实施例通过将当前位置的坐标相对第一参照位置的坐标的方向确定为第一相对坐标指示的坐标方向;将第一参照位置的坐标按照坐标方向的反方向以第一相对坐标指示的坐标差偏移至第二参照位置实现了将第一参照位置的坐标按照第一相对坐标调整至第二参照方位指示的第二参照位置。
作为一种可选的实施方式,步骤S208,根据第二参照方位和第一相对方位将虚拟角色的当前方位更新为预定方位包括:根据第二参照位置的坐标和第一相对坐标将虚拟角色的当前位置的坐标更新为预定位置的坐标。
在将第一参照位置的坐标按照坐标方向的反方向以第一相对坐标指示的坐标差偏移至第二参照位置之后,由于第一相对坐标不变,根据第二参照位置的坐标和第一相对坐标当前位置的坐标更新为预定位置的坐标,也即,当前位置的坐标与预定位置的坐标重合,避免了用户控制虚拟角色 在预设场景中自行移动以确定方位所带来的虚拟角色的方位确定不灵活的问题,达到了提高虚拟角色的方位确定的灵活性的目的,避免了用户对应的虚拟角色在进入预设场景不能立即开始使用而带来的体验差的问题,从而提升了用户体验。
作为一种可选的实施方式,步骤S202,获取虚拟角色的第一参照方位包括:在当前方位指示的当前位置与预定方位指示的预定位置不重合,且当前方位指示的当前朝向与预定方位指示的目标朝向不重合时,获取第一参照方位指示的第一参照朝向和第一参照位置,其中,第一参照朝向与预定方位指示的预定朝向重合,第一参照位置与预定方位指示的预定位置重合。
虚拟角色在预设场景中的预定方位包括目标朝向和预定位置,也即,由虚拟应用的程序设定的虚拟角色在预设场景中的目标朝向和预定位置,为虚拟角色在虚拟应用中待执行预设事件时预设的朝向和位置,可以通过预设坐标系下的角度和坐标进行表示。可选地,在当前方位指示的当前位置与预定方位指示的预定位置不重合,且当前方位指示的当前朝向与预定方位指示的目标朝向不重合时,虚拟角色在进入虚拟应用按照预设规则执行预设事件之前,需要虚拟角色在预设场景中的当前朝向与目标朝向一致、当前位置与预定位置一致才可以执行,比如,需要虚拟角色在预设场景中的当前朝向与目标朝向一致、当前位置与预定位置一致,才可以开启游戏。
获取第一参照方位指示的第一参照朝向和第一参照位置,其中,第一参照朝向与预定方位指示的预定朝向重合,第一参照位置与预定方位指示的预定位置重合。参照对象可以为用于在设定虚拟角色在预设场景中的朝向和位置时进行参照的对象。该参照对象与虚拟角色之间的相对朝向和相对位置由硬件确定,比如,由设备传感器确定,程序无法直接修改参照对象与虚拟角色之间的相对朝向和相对位置,但程序可以修改用于指示参照对象在预设场景中的朝向的参照朝向和参照位置。在获取虚拟角色在虚拟应用的预设场景中的目标朝向和预定位置之后,将参照对象的朝向设置为 目标朝向,将参照对象的位置设置为预定位置使第一参照朝向与预定方位指示的预定朝向重合,第一参照位置与预定方位指示的预定位置重合,可以在预设坐标系中改变参照对象的角度使参照对象的朝向与目标朝向重合,在预设坐标系中改变参照对象的坐标使参照对象的位置与预定位置重合。
作为一种可选的实施方式,步骤S204,获取虚拟角色的当前方位相对第一参照方位的第一相对方位包括:获取当前方位指示的当前朝向相对第一参照朝向的第一相对角度;获取当前方位指示的当前位置的坐标相对第一参照位置的坐标的第一相对坐标。
在虚拟角色进入虚拟应用的预设场景时,获取用于指示虚拟角色当前在预设场景中的朝向的当前朝向,获取当前方位指示的当前位置,该当前朝向和当前位置由硬件确定,虚拟应用的程序无法直接修改。在获取第一参照方位指示的第一参照朝向和第一参照方位指示的第一参照位置之后,获取当前方位指示的当前朝向相对第一参照朝向的第一相对角度和当前方位指示的当前位置的坐标相对第一参照位置的坐标的第一相对坐标,也即,获取虚拟角色的当前朝向和参照对象的朝向之间的角度差,获取虚拟角色的当前位置和参照对象的位置之间的坐标差值。通过获取当前方位指示的当前朝向相对第一参照朝向的第一相对角度和当前方位指示的当前位置的坐标相对第一参照位置的坐标的第一相对坐标,实现了获取虚拟角色的当前方位相对第一参照方位的第一相对方位的目的。
图5是根据本发明实施例的一种获取虚拟角色的当前方位相对第一参照方位的第一相对方位的方法的流程图。如图5所示,该方法包括以下步骤:
步骤S501,获取当前方位指示的当前朝向相对第一参照朝向的第一相对角度。
在本发明上述步骤S501提供的技术方案中,在虚拟角色进入虚拟应用的预设场景时,获取用于指示虚拟角色当前在预设场景中的朝向的当前 朝向。在获取第一参照方位指示的第一参照朝向之后,获取当前方位指示的当前朝向相对第一参照朝向的第一相对角度,也即,获取虚拟角色的当前朝向和参照对象的朝向之间的角度差,该角度差也即为虚拟角色在预设场景中的朝向与参照对象的朝向的夹角。
步骤S502,获取当前方位指示的当前位置的坐标相对第一参照位置的坐标的第一相对坐标。
在本发明上述步骤S502提供的技术方案中,在虚拟角色进入虚拟应用的预设场景时,获取当前方位指示的当前位置,也即,获取用于指示虚拟角色当前在预设场景中的朝向的当前位置。在获取第一参照方位指示的第一参照位置之后,获取当前方位指示的当前位置的坐标相对第一参照位置的坐标的第一相对坐标,可以获取虚拟角色的当前位置和参照对象的位置之间的坐标差值,该坐标差值可以为虚拟角色在预设坐标系下的坐标值与参照对象在预设坐标下的坐标值之差。
该实施例通过获取当前方位指示的当前朝向相对第一参照朝向的第一相对角度;获取当前方位指示的当前位置的坐标相对第一参照位置的坐标的第一相对坐标实现了获取虚拟角色的当前方位相对第一参照方位的第一相对方位。
作为一种可选的实施方式,步骤S206,将第一参照方位按照第一相对方位调整至第二参照方位包括:将第一参照朝向按照第一相对角度调整至第二参照方位指示的第二参照朝向,其中,预定朝向相对第二参照朝向的相对角度为第一相对角度,当前朝向随着第一参照朝向的调整而更新,更新后的当前朝向与调整后的第一参照朝向之间的相对角度为第一相对角度,第一相对方位包括第一相对角度;步骤S208,根据第二参照方位和第一相对方位将虚拟角色的当前方位更新为预定方位包括:根据第二参照朝向和第一相对角度将虚拟角色的当前朝向更新为预定朝向。
当前朝向随着第一参照朝向的调整而更新,更新后的当前朝向与调整后的第一参照朝向之间的相对角度为第一相对角度,该第一相对方位包括 第一相对角度,这样当参照对象在预设场景中的朝向设置和修改之后,虚拟角色在预设场景中的朝向也随之确定。
在获取当前方位指示的当前朝向相对第一参照朝向的第一相对角度之后,将第一参照朝向按照第一相对角度调整至第二参照方位指示的第二参照朝向,预定朝向相对第二参照朝向的相对角度为第一相对角度,可以保持参照对象的位置不变,将参照对象的朝向以预设点为旋转中心进行旋转,此时参照对象的朝向偏离目标朝向,虚拟角色的当前朝向随参照对象的朝向的旋转而旋转,直至虚拟角色的当前朝向与目标朝向重合。
在将第一参照朝向按照角度方向的反方向以第一相对角度指示的角度差旋转至第二参照朝向之后,由于第一相对角度不变,根据第二参照朝向和第一相对角度将虚拟角色的当前朝向更新为预定朝向,避免了用户控制虚拟角色在预设场景中自行移动以确定方位所带来的虚拟角色的方位确定不灵活的问题,达到了提高虚拟角色的方位确定的灵活性的目的,避免了用户对应的虚拟角色在进入预设场景不能立即开始使用而带来的体验差的问题,从而提升了用户体验。
作为一种可选的实施方式,在根据第二参照朝向将虚拟角色的当前朝向更新为预定朝向之后,将第一参照方位按照第一相对方位调整至第二参照方位还包括:将第一参照位置的坐标按照第一相对坐标调整至第二参照方位指示的第二参照位置的坐标,其中,预定位置的坐标相对第二参照位置的坐标的相对坐标为第一相对坐标,当前位置的坐标随着第一参照位置的坐标的调整而更新,更新后的当前位置的坐标与调整后的第一参照位置的坐标之间的相对坐标为第一相对坐标,第一相对方位包括第一相对坐标;根据第二参照方位和相对方位将虚拟角色的当前方位更新为预定方位还包括:根据第二参照位置的坐标和第一相对坐标将虚拟角色的当前位置的坐标更新为预定位置的坐标。
当前位置的坐标随着第一参照位置的坐标的调整而更新,更新后的当前位置的坐标与调整后的第一参照位置的坐标之间的相对坐标为第一相 对坐标,第一相对方位包括第一相对坐标,这样当参照对象在预设场景中的位置设置和修改之后,虚拟角色在预设场景中的位置也随之确定。
在将第一参照朝向按照第一相对角度调整至第二参照方位指示的第二参照朝向之后,将第一参照位置的坐标按照第一相对坐标调整至第二参照方位指示的第二参照位置的坐标以使当前位置与预定位置重合。可选地,将第一参照位置按照当前位置的坐标相对第一参照位置的坐标的方向的反方向以第一相对坐标指示的坐标差进行偏移,此时参照对象的位置偏离预定位置,虚拟角色的当前位置随参照对象的位置的移动而移动,直至虚拟角色的当前位置与预定位置重合,进而达到调整后的虚拟角色的当前位置与预定位置重合。
在将第一参照位置的坐标按照坐标方向的反方向以第一相对坐标指示的坐标差偏移至第二参照位置之后,根据第二参照位置的坐标和第一相对坐标将虚拟角色的当前位置的坐标更新为预定位置的坐标,也即,当前位置的坐标与预定位置的坐标重合,避免了用户控制虚拟角色在预设场景中自行移动以确定方位所带来的虚拟角色的方位确定不灵活的问题,达到了提高虚拟角色的方位确定的灵活性的目的,避免了用户对应的虚拟角色在进入预设场景不能立即开始使用而带来的体验差的问题,从而提升了用户体验。
作为一种可选的实施方式,在根据第二参照方位将虚拟角色的当前方位更新为预定方位之后,控制虚拟角色在虚拟应用中执行预设事件。
在根据第二参照方位和第一相对方位将虚拟角色的当前方位更新为预定方位之后,控制虚拟角色在虚拟应用中执行预设事件,该预设事件可以为开启虚拟角色在游戏中按照游戏规则执行的行为活动,比如,使用武器、攻打、防御、逃跑等行为活动,此处不做任何限制。
作为一种可选的实施方式,虚拟应用为虚拟现实应用。
对于上述实施例,虚拟应用可以为虚拟现实应用,上述方法可以应用 于游戏场景与现实场景有关的虚拟现实应用,该虚拟现实用于需要设定用户对应的虚拟角色的初始位置和初始朝向,无论用户在现实区域中的位置如何,都可以将用户对应的虚拟角色在游戏场景中的位置和朝向设置为虚拟现实应用中预设的位置和朝向,提高了对虚拟角色的方位进行确定的灵活性使用户可以立即体验虚拟现实应用,避免了用户每次进入应用时,需要用户对应的虚拟角色自己寻找预定位置和朝向,影响用户对虚拟现实应用的体验效果。
下面结合优选的实施例对本发明的技术方案进行说明。
该实施例的硬件环境可以为HTC Vive设备,虚拟应用为虚拟现实应用,预设场景为游戏场景,虚拟角色为用户对应的虚拟角色,参照对象为虚拟房间。
在现实环境中,用户进入房间,而通过HTC Vive设备在虚拟现实应用中对应的虚拟角色,进入到房间在虚拟现实应用中对应的虚拟房间,虚拟角色和虚拟房间处于游戏场景中。虚拟角色与虚拟房间的相对位置由硬件决定,比如,由设备传感器决定,程序无法对其进行修改,但是程序可以修改虚拟房间在游戏场景中的方位,包括修改虚拟房间在游戏场景中的朝向和位置。
该实施例的虚拟角色的方位确定方法包括以下步骤:
第一步,在游戏场景中,将虚拟房间的位置和朝向设置为虚拟现实应用预先设定的位置和朝向,其中,虚拟房间的位置和朝向为第一参照方位,虚拟现实应用预先设定的位置和朝向为虚拟角色待到达的预定方位,第一参照方位与虚拟角色待到达的预定方位重合。
图6是根据本发明实施例的一种虚拟角色在虚拟现实应用中的初始状态的示意图。其中,虚拟房间的位置如图6所示,虚拟房间在游戏场景中的朝向如A点上的箭头所指示朝向,虚拟房间在游戏场景中的方位为虚拟角色最终要达到的预定方位,也即,虚拟房间在预设场景中的朝向为虚拟 角色最终要达到的目标朝向,虚拟房间在预设场景中的位置为虚拟角色最终要达到的预定位置。虚拟角色在游戏场景中的当前位置在虚拟房间的左上方,虚拟角色在游戏场景中的当前朝向如B点上的箭头所指示朝向。虚拟角色的当前朝向和虚拟房间的朝向之间的夹角为α,获取夹角α,也即,获取虚拟角色的当前方位指示的当前朝向相对第一参照方位指示的第一参照朝向的第一相对角度为α。
第二步,在获取到虚拟角色的当前朝向和虚拟房间的朝向之间的夹角α之后,将虚拟房间绕A点以当前朝向相对第一参照朝向的方向的反方向旋转角度α,也即,获取当前方位指示的当前朝向相对第一参照朝向的第一相对角度,将第一参照朝向按照上述反方向以第一相对角度指示的角度差偏旋转至第二参照朝向,根据第二参照朝向和第一相对角度将虚拟角色的当前朝向更新为预定朝向。
图7是根据本发明实施例的一种根据调整虚拟角色的朝向的示意图。如图7所示,虚拟角色与虚拟房间之间的相对朝向由硬件确定,比如,由设备传感器确定,程序无法直接修改虚拟角色与虚拟房间之间的相对朝向,但程序可以修改虚拟房间在游戏场景中的朝向。在预设场景中,根据虚拟角色的朝向和虚拟房间的朝向之间的夹角α调整虚拟房间在游戏场景中的朝向以使虚拟角色在游戏场景中的当前朝向与游戏设定的目标朝向重合。可选地,保持虚拟房间在游戏场景中的位置不变,绕A点以虚拟角色相对虚拟房间的方向的反方向旋转角度α,此时虚拟房间的朝向偏离目标朝向,由于虚拟角色与虚拟房间之间的相对朝向不变,虚拟角色的当前朝向随虚拟房间的朝向的改变而改变,B′点上箭头所指示的朝向为虚拟角色调整之后的朝向,从而使得虚拟角色在旋转之后的当前朝向与目标朝向重合。
第三步,获取虚拟角色的当前位置相对虚拟房间的坐标差值,按照坐标差值调整虚拟角色的当前位置至预定位置,也即,获取当前方位指示的当前位置的坐标相对第一参照位置的坐标的第一相对坐标,将第一参照位置的坐标按照当前位置的坐标相对第一参照位置的坐标的方向的反方向 以第一相对坐标指示的坐标差偏移至第二参照位置,根据第二参照位置的坐标和第一相对坐标将虚拟角色的当前位置的坐标更新为预定位置的坐标。
图8是根据本发明实施例的一种调整虚拟角色的位置的示意图。如图8所示,在虚拟角色的当前朝向与目标朝向重合之后,获取图7所示的B′点与A点之间的坐标差值,将A向相反朝向移动这个坐标差值,其中,B′点变换到B〞点,也即,B〞点的位置与图6所示的A点位置重合,B〞点的朝向与图6所示的A点的朝向重合,图6和图7中的A点变换到图8中的A′。
可选地,上述虚拟角色的方位确定过程可以在虚拟现实应用启动的时候完成,也可以在任意需要设置用户位置和朝向的时候完成。
该实施例在HTC Vive应用中,用户在房间里面的坐标由硬件决定,程序中无法直接修改用户位置和朝向,导致很多游戏中用户必须走到房间特定位置才能开始游戏。本发明实施例采用动态修改房间在游戏场景中的位置和朝向的方法,来间接修改用户在游戏场景中的位置和朝向。在虚拟角色进入游戏后,等待获取到稳定的坐标信息,然后计算用户在场景中的坐标和朝向与游戏设定的坐标和朝向之间的差值,然后根据差值旋转和移动房间在游戏中的坐标,以达到初始化用户位置和朝向的目的。无论用户在房间的相对位置如何,都可以将用户在游戏场景中位置和朝向设置为游戏预设的位置和朝向,达到了提高虚拟角色的方位确定的灵活性的效果,使用户在进入软件的时候可以立即开始使用,从而提升了用户对虚拟现实应用的体验效果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
根据本发明实施例的另一个方面,还提供了一种用于实施上述虚拟角色的方位确定方法的装置,包括一个或多个处理器,以及一个或多个存储程序单元的存储器,其中,程序单元由处理器执行,程序单元包括第一获取单元、第二获取单元、调整单元和更新单元。
图9是根据本发明实施例的一种虚拟角色的方位确定装置的示意图。如图9所示,该虚拟角色的方位确定装置可以包括:第一获取单元10、第二获取单元20、调整单元30和更新单元40。
第一获取单元10,被设置为在预设场景中,获取虚拟角色的第一参照方位,其中,第一参照方位与虚拟角色待到达的预定方位重合。
第二获取单元20,被设置为获取虚拟角色的当前方位相对第一参照方位的第一相对方位。
调整单元30,被设置为将第一参照方位按照第一相对方位调整至第二参照方位,其中,预定方位相对第二参照方位的相对方位为第一相对方位,当前方位随着第一参照方位的调整而更新,更新后的当前方位与调整后的第一参照方位之间的相对方位为第一相对方位。
更新单元40,被设置为根据第二参照方位和第一相对方位将虚拟角色的当前方位更新为预定方位。
此处需要说明的是,上述第一获取单元10、第二获取单元20、调整 单元30和更新单元40可以作为装置的一部分运行在虚拟现实头盔中,可以通过虚拟现实头盔中的处理器来执行上述单元实现的功能。
可选地,第一获取单元10包括:第一获取模块,被设置为在当前方位指示的当前位置与预定方位指示的预定位置重合时,获取第一参照方位指示的第一参照朝向,其中,第一参照朝向与预定方位指示的预定朝向重合。
此处需要说明的是,上述第一获取模块可以作为装置的一部分运行在虚拟现实头盔中,可以通过虚拟现实头盔中的处理器来执行上述模块实现的功能。
可选地,第二获取单元20被设置为执行以下步骤来实现获取虚拟角色的当前方位相对第一参照方位的第一相对方位:获取当前方位指示的当前朝向相对第一参照朝向的第一相对角度。
可选地,调整单元30被设置为执行以下步骤来实现将第一参照方位按照第一相对方位调整至第二参照方位:将第一参照朝向按照第一相对角度调整至第二参照方位指示的第二参照朝向,其中,预定朝向相对第二参照朝向的相对角度为第一相对角度,当前朝向随着第一参照朝向的调整而更新,更新后的当前朝向与调整后的第一参照朝向之间的相对角度为第一相对角度,第一相对方位包括第一相对角度。
可选地,调整单元30包括:第一确定模块和旋转模块。其中,第一确定模块被设置为将当前朝向相对第一参照朝向的方向确定为第一相对角度指示的角度方向;旋转模块被设置为将第一参照朝向按照角度方向的反方向以第一相对角度指示的角度差旋转至第二参照朝向。
此处需要说明的是,上述第一确定模块和旋转模块可以作为装置的一部分运行在虚拟现实头盔中,可以通过虚拟现实头盔中的处理器来执行上述模块实现的功能。
可选地,更新单元40被设置为执行以下步骤以实现根据第二参照方 位和第一相对方位将虚拟角色的当前方位更新为预定方位:根据第二参照朝向和第一相对角度将虚拟角色的当前朝向更新为预定朝向。
第一获取单元10包括:第二获取模块,被设置为在当前方位指示的当前朝向与预定方位指示的预定朝向重合时,获取第一参照方位指示的第一参照位置,其中,第一参照位置与预定方位指示的预定位置重合。
此处需要说明的是,上述第二获取模块可以作为装置的一部分运行在虚拟现实头盔中,可以通过虚拟现实头盔中的处理器来执行上述模块实现的功能。
第二获取单元20被设置为执行以下步骤实现获取虚拟角色的当前方位相对第一参照方位的第一相对方位:获取当前方位指示的当前位置的坐标相对第一参照位置的坐标的第一相对坐标。
调整单元30被设置为执行以下步骤来实现将第一参照方位按照第一相对方位调整至第二参照方位:将第一参照位置的坐标按照第一相对坐标调整至第二参照方位指示的第二参照位置的坐标,其中,预定位置的坐标相对第二参照位置的坐标的相对坐标为第一相对坐标,当前位置的坐标随着第一参照位置的坐标的调整而更新,更新后的当前位置的坐标与调整后的第一参照位置的坐标之间的相对坐标为第一相对坐标,第一相对方位包括第一相对坐标。
可选地,调整单元30包括:第二确定模块和偏移模块。其中,第二确定模块被设置为将当前位置的坐标相对第一参照位置的坐标的方向确定为第一相对坐标指示的坐标方向;偏移模块被设置为将第一参照位置的坐标按照坐标方向的反方向以第一相对坐标指示的坐标差偏移至第二参照位置。
此处需要说明的是,上述第二确定模块和偏移模块可以作为装置的一部分运行在虚拟现实头盔中,可以通过虚拟现实头盔中的处理器来执行上述模块实现的功能。
可选地,更新单元40被设置为执行以下步骤来实现根据第二参照方位和第一相对方位将虚拟角色的当前方位更新为预定方位:根据第二参照位置的坐标和第一相对坐标将虚拟角色的当前位置的坐标更新为预定位置的坐标。
可选地,第一获取单元10包括:第三获取模块,被设置为在当前方位指示的当前位置与预定方位指示的预定位置不重合,且当前方位指示的当前朝向与预定方位指示的目标朝向不重合时,获取第一参照方位指示的第一参照朝向和第一参照位置,其中,第一参照朝向与预定方位指示的预定朝向重合,第一参照位置与预定方位指示的预定位置重合。
此处需要说明的是,上述第三获取模块可以作为装置的一部分运行在虚拟现实头盔中,可以通过虚拟现实头盔中的处理器来执行上述模块实现的功能。
可选地,第二获取单元20被设置为执行以下步骤来实现获取虚拟角色的当前方位相对第一参照方位的第一相对方位:获取当前方位指示的当前朝向相对第一参照朝向的第一相对角度;获取当前方位指示的当前位置的坐标相对第一参照位置的坐标的第一相对坐标。
可选地,调整单元30被设置为执行以下步骤来实现将第一参照方位按照第一相对方位调整至第二参照方位:将第一参照朝向按照第一相对角度调整至第二参照方位指示的第二参照朝向,其中,预定朝向相对第二参照朝向的相对角度为第一相对角度,当前朝向随着第一参照朝向的调整而更新,更新后的当前朝向与调整后的第一参照朝向之间的相对角度为第一相对角度,第一相对方位包括第一相对角度;更新单元40被设置为执行以下步骤来实现根据第二参照方位和第一相对方位将虚拟角色的当前方位更新为预定方位:根据第二参照朝向和第一相对角度将虚拟角色的当前朝向更新为预定朝向。
可选地,调整单元30还被设置为在根据第二参照朝向将虚拟角色的当前朝向更新为预定朝向之后,将第一参照位置的坐标按照第一相对坐标 调整至第二参照方位指示的第二参照位置的坐标,其中,预定位置的坐标相对第二参照位置的坐标的相对坐标为第一相对坐标,当前位置的坐标随着第一参照位置的坐标的调整而更新,更新后的当前位置的坐标与调整后的第一参照位置的坐标之间的相对坐标为第一相对坐标,第一相对方位包括第一相对坐标;更新单元40被设置为根据第二参照位置的坐标和第一相对坐标将虚拟角色的当前位置的坐标更新为预定位置的坐标。
可选地,该虚拟角色的方位确定装置还可以包括:控制单元,被设置为在根据第二参照方位将虚拟角色的当前方位更新为预定方位之后,控制虚拟角色在虚拟应用中执行预设事件。
此处需要说明的是,上述控制单元可以作为装置的一部分运行在虚拟现实头盔中,可以通过虚拟现实头盔中的处理器来执行上述单元实现的功能。
可选地,虚拟应用为虚拟现实应用。
需要说明的是,该实施例中的第一获取单元10可以被设置为执行本申请实施例中的步骤S202,该实施例中的第二获取单元20可以被设置为执行本申请实施例中的步骤S204,该实施例中的调整单元30可以被设置为执行本申请实施例中的步骤S206,该实施例中的更新单元40可以被设置为执行本申请实施例中的步骤S208。
此处需要说明的是,上述单元和模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
该实施例通过第一获取单元10在预设场景中,获取虚拟角色的第一参照方位,其中,第一参照方位与虚拟角色待到达的预定方位重合;通过第二获取单元20获取虚拟角色的当前方位相对第一参照方位的第一相对方位;通过调整单元30将第一参照方位按照第一相对方位调整至第二参 照方位,其中,预定方位相对第二参照方位的相对方位为第一相对方位,当前方位随着第一参照方位的调整而更新,更新后的当前方位与调整后的第一参照方位之间的相对方位为第一相对方位;通过更新单元40根据第二参照方位和第一相对方位将虚拟角色的当前方位更新为预定方位,可以解决了相关技术中对虚拟角色的方位进行确定的灵活性低的技术问题,进而达到了对虚拟角色的方位进行确定的灵活性的技术效果。
根据本发明实施例的又一方面,还提供了一种用于实施上述虚拟角色的方位确定方法的电子装置。
图10是根据本发明实施例的一种电子装置的结构框图。如图10所示,该电子装置可以包括:一个或多个(图中仅示出一个)处理器101、存储器103,其中,存储器103中可以存储有计算机程序,处理器101可以被设置为运行所述计算机程序以执行本发明实施例的虚拟角色的方位确定方法。
其中,存储器103可用于存储计算机程序以及模块,如本发明实施例中的虚拟角色的方位确定方法和装置对应的程序指令/模块,处理器101被设置为通过运行存储在存储器103内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的虚拟角色的方位确定方法。存储器103可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器103可进一步包括相对处理器101远程设置的存储器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
可选地,如图10所示,该电子装置还可以包括:传输装置105以及输入输出设备107。其中,传输装置105用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置105包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输 装置105为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器103用于存储计算机程序。
处理器101可以通过传输装置105调用存储器103存储的计算机程序,以执行上述方法实施例中的各个可选或优选实施例的方法步骤的程序代码,包括:
在预设场景中,获取虚拟角色的第一参照方位,其中,第一参照方位与虚拟角色待到达的预定方位重合;
获取虚拟角色的当前方位相对第一参照方位的第一相对方位;
将第一参照方位按照第一相对方位调整至第二参照方位,其中,预定方位相对第二参照方位的相对方位为第一相对方位,当前方位随着第一参照方位的调整而更新,更新后的当前方位与调整后的第一参照方位之间的相对方位为第一相对方位;
根据第二参照方位和第一相对方位将虚拟角色的当前方位更新为预定方位。
处理器101还用于执行下述步骤:在当前方位指示的当前位置与预定方位指示的预定位置重合时,获取第一参照方位指示的第一参照朝向,其中,第一参照朝向与预定方位指示的预定朝向重合。
处理器101还用于执行下述步骤:将第一参照朝向按照第一相对角度调整至第二参照方位指示的第二参照朝向,其中,预定朝向相对第二参照朝向的相对角度为第一相对角度,当前朝向随着第一参照朝向的调整而更新,更新后的当前朝向与调整后的第一参照朝向之间的相对角度为第一相对角度,第一相对方位包括第一相对角度。
处理器101还用于执行下述步骤:将当前朝向相对第一参照朝向的方向确定为第一相对角度指示的角度方向;将第一参照朝向按照角度方向的 反方向以第一相对角度指示的角度差旋转至第二参照朝向。
处理器101还用于执行下述步骤:根据第二参照朝向和第一相对角度将虚拟角色的当前朝向更新为预定朝向。
处理器101还用于执行下述步骤:在当前方位指示的当前朝向与预定方位指示的预定朝向重合时,获取第一参照方位指示的第一参照位置,其中,第一参照位置与预定方位指示的预定位置重合。
处理器101还用于执行下述步骤:获取当前方位指示的当前位置的坐标相对第一参照位置的坐标的第一相对坐标。
处理器101还用于执行下述步骤:将第一参照位置的坐标按照第一相对坐标调整至第二参照方位指示的第二参照位置的坐标,其中,预定位置的坐标相对第二参照位置的坐标的相对坐标为第一相对坐标,当前位置的坐标随着第一参照位置的坐标的调整而更新,更新后的当前位置的坐标与调整后的第一参照位置的坐标之间的相对坐标为第一相对坐标,第一相对方位包括第一相对坐标。
处理器101还用于执行下述步骤:将当前位置的坐标相对第一参照位置的坐标的方向确定为第一相对坐标指示的坐标方向;将第一参照位置的坐标按照坐标方向的反方向以第一相对坐标指示的坐标差偏移至第二参照位置。
处理器101还用于执行下述步骤:根据第二参照位置的坐标和第一相对坐标将虚拟角色的当前位置的坐标更新为预定位置的坐标。
处理器101还用于执行下述步骤:在当前方位指示的当前位置与预定方位指示的预定位置不重合,且当前方位指示的当前朝向与预定方位指示的目标朝向不重合时,获取第一参照方位指示的第一参照朝向和第一参照位置,其中,第一参照朝向与预定方位指示的预定朝向重合,第一参照位置与预定方位指示的预定位置重合。
处理器101还用于执行下述步骤:获取当前方位指示的当前朝向相对 第一参照朝向的第一相对角度;获取当前方位指示的当前位置的坐标相对第一参照位置的坐标的第一相对坐标。
处理器101还用于执行下述步骤:将第一参照朝向按照第一相对角度调整至第二参照方位指示的第二参照朝向,其中,预定朝向相对第二参照朝向的相对角度为第一相对角度,当前朝向随着第一参照朝向的调整而更新,更新后的当前朝向与调整后的第一参照朝向之间的相对角度为第一相对角度,第一相对方位包括第一相对角度;根据第二参照朝向和第一相对角度将虚拟角色的当前朝向更新为预定朝向。
处理器101还用于执行下述步骤:在根据第二参照朝向将虚拟角色的当前朝向更新为预定朝向之后,将第一参照位置的坐标按照第一相对坐标调整至第二参照方位指示的第二参照位置的坐标,其中,预定位置的坐标相对第二参照位置的坐标的相对坐标为第一相对坐标,当前位置的坐标随着第一参照位置的坐标的调整而更新,更新后的当前位置的坐标与调整后的第一参照位置的坐标之间的相对坐标为第一相对坐标,第一相对方位包括第一相对坐标;根据第二参照位置的坐标和第一相对坐标将虚拟角色的当前位置的坐标更新为预定位置的坐标。
处理器101还用于执行下述步骤:在根据第二参照方位将虚拟角色的当前方位更新为预定方位之后,控制虚拟角色在虚拟应用中执行预设事件。
采用本发明实施例,提供了一种虚拟角色的方位确定方法的方案。通过获取虚拟角色在虚拟应用的预设场景中的预定方位;将参照对象的参照方位设置为预定方位,其中,参照方位用于指示参照对象在预设场景中的方位;获取虚拟角色的当前方位与参照方位的方位差,其中,当前方位用于指示虚拟角色当前在预设场景中的方位;在参照对象与虚拟角色的相对方位不变的情况下,在预设场景中根据方位差调整参照对象的参照方位以使当前方位与预定方位重合,达到了调整虚拟角色在预设场景中的位置的目的,从而实现了对虚拟角色的方位进行确定的灵活性的技术效果,进而解决了相关技术中对虚拟角色的方位进行确定的灵活性低的技术问题。
可选地,本实施例中的具体示例可以参照上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图10所示的结构仅为示意,电子装置可以是虚拟现实头盔。图10其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图10中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图10所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质中存储有计算机程序,该计算机程序可以用于被设置为运行时执行上述方法实施例所提供的虚拟角色的方位确定方法中的步骤。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
在预设场景中,获取虚拟角色的第一参照方位,其中,第一参照方位与虚拟角色待到达的预定方位重合;
获取虚拟角色的当前方位相对第一参照方位的第一相对方位;
将第一参照方位按照第一相对方位调整至第二参照方位,其中,预定方位相对第二参照方位的相对方位为第一相对方位,当前方位随着第一参照方位的调整而更新,更新后的当前方位与调整后的第一参照方位之间的相对方位为第一相对方位;
根据第二参照方位和第一相对方位将虚拟角色的当前方位更新为预定方位。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在当前方位指示的当前位置与预定方位指示的预定位置重合时,获取第一参照方位指示的第一参照朝向,其中,第一参照朝向与预定方位指示的预定朝向重合。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:将第一参照朝向按照第一相对角度调整至第二参照方位指示的第二参照朝向,其中,预定朝向相对第二参照朝向的相对角度为第一相对角度,当前朝向随着第一参照朝向的调整而更新,更新后的当前朝向与调整后的第一参照朝向之间的相对角度为第一相对角度,第一相对方位包括第一相对角度。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:将当前朝向相对第一参照朝向的方向确定为第一相对角度指示的角度方向;将第一参照朝向按照角度方向的反方向以第一相对角度指示的角度差旋转至第二参照朝向。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:根据第二参照朝向和第一相对角度将虚拟角色的当前朝向更新为预定朝向。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在当前方位指示的当前朝向与预定方位指示的预定朝向重合时,获取第一参照方位指示的第一参照位置,其中,第一参照位置与预定方位指示的预定位置重合。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:获取当前方位指示的当前位置的坐标相对第一参照位置的坐标的第一相对坐标。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:将 第一参照位置的坐标按照第一相对坐标调整至第二参照方位指示的第二参照位置的坐标,其中,预定位置的坐标相对第二参照位置的坐标的相对坐标为第一相对坐标,当前位置的坐标随着第一参照位置的坐标的调整而更新,更新后的当前位置的坐标与调整后的第一参照位置的坐标之间的相对坐标为第一相对坐标,第一相对方位包括第一相对坐标。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:将当前位置的坐标相对第一参照位置的坐标的方向确定为第一相对坐标指示的坐标方向;将第一参照位置的坐标按照坐标方向的反方向以第一相对坐标指示的坐标差偏移至第二参照位置。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:根据第二参照位置的坐标和第一相对坐标将虚拟角色的当前位置的坐标更新为预定位置的坐标。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在当前方位指示的当前位置与预定方位指示的预定位置不重合,且当前方位指示的当前朝向与预定方位指示的目标朝向不重合时,获取第一参照方位指示的第一参照朝向和第一参照位置,其中,第一参照朝向与预定方位指示的预定朝向重合,第一参照位置与预定方位指示的预定位置重合。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:获取当前方位指示的当前朝向相对第一参照朝向的第一相对角度;获取当前方位指示的当前位置的坐标相对第一参照位置的坐标的第一相对坐标。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:将第一参照朝向按照第一相对角度调整至第二参照方位指示的第二参照朝向,其中,预定朝向相对第二参照朝向的相对角度为第一相对角度,当前朝向随着第一参照朝向的调整而更新,更新后的当前朝向与调整后的第一参照朝向之间的相对角度为第一相对角度,第一相对方位包括第一相对角度;根据第二参照朝向和第一相对角度将虚拟角色的当前朝向更新为预定朝向。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在根据第二参照朝向将虚拟角色的当前朝向更新为预定朝向之后,将第一参照位置的坐标按照第一相对坐标调整至第二参照方位指示的第二参照位置的坐标,其中,预定位置的坐标相对第二参照位置的坐标的相对坐标为第一相对坐标,当前位置的坐标随着第一参照位置的坐标的调整而更新,更新后的当前位置的坐标与调整后的第一参照位置的坐标之间的相对坐标为第一相对坐标,第一相对方位包括第一相对坐标;根据第二参照位置的坐标和第一相对坐标将虚拟角色的当前位置的坐标更新为预定位置的坐标。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在根据第二参照方位将虚拟角色的当前方位更新为预定方位之后,控制虚拟角色在虚拟应用中执行预设事件。
可选地,本实施例中的具体示例可以参照上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
如上参照附图以示例的方式描述了根据本发明的虚拟角色的方位确定方法、装置和存储介质。但是,本领域技术人员应当理解,对于上述本发明所提出的虚拟角色的方位确定方法、装置和存储介质,还可以在不脱离本发明内容的基础上做出各种改进。因此,本发明的保护范围应当由所附的权利要求书的内容确定。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。 基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
工业实用性
在预设场景中,获取虚拟角色的第一参照方位,其中,第一参照方位与虚拟角色待到达的预定方位重合;获取虚拟角色的当前方位相对第一参照方位的第一相对方位;将第一参照方位按照第一相对方位调整至第二参照方位,其中,预定方位相对第二参照方位的相对方位为第一相对方位,当前方位随着第一参照方位的调整而更新,更新后的当前方位与调整后的第一参照方位之间的相对方位为第一相对方位;根据第二参照方位和第一相对方位将虚拟角色的当前方位更新为预定方位,达到了调整虚拟角色在预设场景中的位置的目的,从而实现了对虚拟角色的方位进行确定的灵活性的技术效果,进而解决了相关技术中对虚拟角色的方位进行确定的灵活性低的技术问题。