HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

虚拟对象的展示方法、装置、设备与流程

2021-01-11 14:01:55|225|起点商标网
虚拟对象的展示方法、装置、设备与流程

本发明涉及图像技术领域,尤其涉及一种虚拟对象的展示方法、装置、设备。



背景技术:

虚拟对象包括虚拟场景中的多种场景资源。虚拟对象比如是虚拟角色、道具。以游戏中的虚拟角色为例,玩家会选取虚拟角色,并通过控制虚拟角色的行为参与到游戏中。因而,虚拟角色既是玩家参与游戏的重要载体,也是游戏出品方吸引玩家的重要工具。

玩家进入游戏后,可以在虚拟角色展示界面中查看各个虚拟角色的外观及角色设定。目前,在虚拟角色展示界面中,玩家一般会通过触摸屏幕来控制虚拟角色进行单轴旋转,或对虚拟角色进行缩放操作,从而查看虚拟角色的外观细节。但这种查看方式由于提供给玩家的观察视角单一,所能展示的虚拟角色外观细节有限,难以满足玩家对虚拟角色的观察需求。

如何展示虚拟对象,以提升对虚拟对象的观察体验,成为亟待解决的技术问题。



技术实现要素:

本发明实施例提供一种虚拟对象的展示方法、装置、设备,用以在设定三维空间中对虚拟对象进行多角度展示,提升用户观察体验。

第一方面,本发明实施例提供一种虚拟对象的展示方法,该方法应用于图形界面,该图形界面中加载有虚拟对象和虚拟摄像机,该虚拟摄像机用于采集对虚拟对象的展示图像,该方法包括:

确定虚拟摄像机与虚拟对象的相对位置信息;

基于相对位置信息确定虚拟摄像机的运动权限;

响应于对图形界面的触控指令,控制虚拟摄像机在设定三维空间中根据触控指令和运动权限进行运动,以调整对虚拟对象的展示图像。

在一种可能的设计中,相对位置信息包括虚拟摄像机到虚拟对象的距离;

基于相对位置信息确定虚拟摄像机的运动权限,包括:若虚拟摄像机到虚拟对象的距离小于第一阈值,则确定虚拟摄像机的运动权限包括第一方向运动权限和第二方向运动权限,其中第一方向和第二方向根据虚拟对象在三维空间中的姿态预先设定。

在一种可能的设计中,设定三维空间包括环绕于虚拟对象的第一曲面边界,第一曲面边界到虚拟对象的距离小于或等于第一阈值。

响应于对图形界面的触控指令,控制虚拟摄像机在设定三维空间中根据触控指令和运动权限进行运动,包括:若检测到触控指令,则获取触控指令的移动轨迹;根据触控指令的移动轨迹以及运动权限,确定虚拟摄像机在第一曲面边界上的第一运动路径;控制虚拟摄像机在第一运动路径上进行运动。

在一种可能的设计中,虚拟对象包括多个第一参考点,第一曲面边界包括多个第一圆形轨道以及经过多个第一圆形轨道的多条第一曲线,各第一圆形轨道分别以多个第一参考点中各自对应的第一参考点为中心。

在一种可能的设计中,根据触控指令的移动轨迹以及运动权限,确定虚拟摄像机在第一曲面边界上的第一运动路径,包括:若触控指令的移动轨迹的方向为第一方向,并且运动权限包括第一方向运动权限,则从多条第一曲线中选取经过虚拟摄像机所处位置的第一曲线作为第一运动路径,其中,第一运动路径的起点为虚拟摄像机所处位置。

在一种可能的设计中,根据触控指令的移动轨迹以及运动权限,确定虚拟摄像机在第一曲面边界上的第一运动路径,包括:若触控指令的移动轨迹的方向为第二方向,并且运动权限包括第二方向运动权限,则以多个第一圆形轨道中虚拟摄像机所处的第一圆形轨道i作为第一运动路径,第二方向平行于第一圆形轨道i所在平面。

在一种可能的设计中,相对位置信息包括虚拟摄像机到虚拟对象的距离。

基于相对位置信息确定虚拟摄像机的运动权限,包括:若虚拟摄像机到虚拟对象的距离大于第一阈值,并且,虚拟摄像机到虚拟对象的距离小于第二阈值,则确定虚拟摄像机的运动权限包括第一方向运动权限、第二方向运动权限以及缩放运动权限。其中,第二阈值大于第一阈值,第一方向和第二方向根据虚拟对象在三维空间中的姿态预先设定,缩放运动的方向垂直于第一方向和第二方向。

在一种可能的设计中,设定三维空间包括环绕于虚拟对象的第一曲面边界和第二曲面边界、以及处于第二曲面边界与第一曲面边界之间的三维空间区域;第一曲面边界到虚拟对象的距离小于或等于第一阈值,第二曲面边界到虚拟对象的距离大于第一阈值,第二曲面边界到虚拟对象的距离小于或等于第二阈值,第二阈值大于第一阈值。

响应于对图形界面的触控指令,控制虚拟摄像机在设定三维空间中根据触控指令和运动权限进行运动,包括:若检测到触控指令,则获取触控指令的移动轨迹;根据触控指令的移动轨迹以及运动权限,确定虚拟摄像机的第二运动路径,其中,第二运动路径处于第二曲面边界上,或者第二运动路径处于三维空间区域中;控制虚拟摄像机在第二运动路径上进行运动。

在一种可能的设计中,虚拟对象包括多个第二参考点,第二曲面边界包括多个第二圆形轨道以及经过多个第二圆形轨道的多条第二曲线,各第二圆形轨道分别以多个第二参考点中各自对应的第二参考点为中心。

在一种可能的设计中,根据触控指令的移动轨迹以及运动权限,确定虚拟摄像机的第二运动路径,包括:若触控指令的移动轨迹的方向为第一方向,并且运动权限包括第一方向运动权限,则从多条第二曲线中选取经过虚拟摄像机所处位置的第二曲线作为第二运动路径,其中,第二运动路径的起点为虚拟摄像机所处位置。

在一种可能的设计中,根据触控指令的移动轨迹以及运动权限,确定虚拟摄像机的第二运动路径,包括:若触控指令的移动轨迹的方向为第二方向,并且运动权限包括第二方向运动权限,则以多个第二圆形轨道中虚拟摄像机所处的第二圆形轨道i作为第二运动路径,其中第二方向平行于第二圆形轨道i所在平面。

在一种可能的设计中,根据触控指令的移动轨迹以及运动权限,确定虚拟摄像机的第二运动路径,包括:若触控指令的移动轨迹的方向包括多个方向,并且运动权限包括缩放运动权限,则基于虚拟摄像机所处位置以及多条轨迹的移动方向,确定虚拟摄像机在三维空间区域中的第二运动路径。

在一种可能的设计中,相对位置信息包括虚拟摄像机到虚拟对象的距离;

基于相对位置信息确定虚拟摄像机的运动权限,包括:若虚拟摄像机到虚拟对象的距离等于第一阈值,则确定虚拟摄像机的运动权限包括在第一范围桶中的第一运动权限;其中,设定三维空间包括环绕于虚拟对象的第一范围桶,第一范围桶到虚拟对象的距离为第一阈值。

在一种可能的设计中,虚拟对象包括多个第一视点,多个第一视点与第一范围桶中的多个第一轴点一一对应,第一范围桶是由多个第一轴点插值计算得到的多个第一圆形轨迹组成的。响应于对图形界面的触控指令,控制虚拟摄像机在设定三维空间中根据触控指令和运动权限进行运动,包括:若检测到触控指令,则获取触控指令的移动轨迹;根据触控指令的移动轨迹以及第一运动权限,控制虚拟摄像机在第一范围桶中进行运动。其中,虚拟摄像机的光轴指向由虚拟摄像机所处的第一轴点指向该第一轴点对应的第一视点。

在一种可能的设计中,相对位置信息包括虚拟摄像机到虚拟对象的距离。基于相对位置信息确定虚拟摄像机的运动权限,包括:若虚拟摄像机到虚拟对象的距离大于第一阈值,并且,虚拟摄像机到虚拟对象的距离小于第二阈值,则确定虚拟摄像机的运动权限包括在第二范围桶中的第二运动权限、以及在第二范围桶与第一范围桶之间的第三运动权限。其中,第二阈值大于第一阈值,设定三维空间包括环绕于虚拟对象的第二范围桶及第一范围桶,第二范围桶到虚拟对象的距离为第二阈值,第一范围桶到虚拟对象的距离为第一阈值。

在一种可能的设计中,虚拟对象包括多个第二视点,多个第二视点与第二范围桶中的多个第二轴点一一对应,第二范围桶是由多个第二轴点插值计算得到的多个第二圆形轨迹组成的。响应于对图形界面的触控指令,控制虚拟摄像机在设定三维空间中根据触控指令和运动权限进行运动,包括:检测到触控指令,则获取触控指令的移动轨迹;根据触控指令的移动轨迹以及第二运动权限,控制虚拟摄像机在第二范围桶中进行运动;或者根据触控指令的移动轨迹以及第三运动权限,控制虚拟摄像机在第二范围桶与第一范围桶之间进行运动。

其中,虚拟摄像机的光轴指向由虚拟摄像机所处的第二轴点指向该第二轴点对应的第二视点。

在一种可能的设计中,虚拟摄像机到虚拟对象的距离越小,多个第二视点越大;并且若虚拟摄像机处于第二范围桶中,多个第二视点聚合为一点。

第二方面,本发明实施例提供一种虚拟对象的展示装置,该装置应用于图形界面,该图形界面中加载有虚拟对象和虚拟摄像机,虚拟摄像机用于采集对虚拟对象的展示图像,该装置包括:

第一确定模块,用于确定虚拟摄像机与虚拟对象的相对位置信息;

第二确定模块,用于基于相对位置信息确定虚拟摄像机的运动权限;

控制模块,用于响应于对图形界面的触控指令,控制虚拟摄像机在设定三维空间中根据触控指令和运动权限进行运动,以调整对虚拟对象的展示图像。

在一种可能的设计中,相对位置信息包括虚拟摄像机到虚拟对象的距离。

第二确定模块在基于相对位置信息确定虚拟摄像机的运动权限时,具体用于:若虚拟摄像机到虚拟对象的距离小于第一阈值,则确定虚拟摄像机的运动权限包括第一方向运动权限和第二方向运动权限,其中第一方向和第二方向根据虚拟对象在三维空间中的姿态预先设定。

在一种可能的设计中,设定三维空间包括环绕于虚拟对象的第一曲面边界,第一曲面边界到虚拟对象的距离小于或等于第一阈值。控制模块具体用于:若检测到触控指令,则获取触控指令的移动轨迹;根据触控指令的移动轨迹以及运动权限,确定虚拟摄像机在第一曲面边界上的第一运动路径;控制虚拟摄像机在第一运动路径上进行运动。

在一种可能的设计中,虚拟对象包括多个第一参考点,第一曲面边界包括多个第一圆形轨道以及经过多个第一圆形轨道的多条第一曲线,各第一圆形轨道分别以多个第一参考点中各自对应的第一参考点为中心。

在一种可能的设计中,控制模块在根据触控指令的移动轨迹以及运动权限,确定虚拟摄像机在第一曲面边界上的第一运动路径时,具体用于:若触控指令的移动轨迹的方向为第一方向,并且运动权限包括第一方向运动权限,则从多条第一曲线中选取经过虚拟摄像机所处位置的第一曲线作为第一运动路径,其中,第一运动路径的起点为虚拟摄像机所处位置。

在一种可能的设计中,控制模块在根据触控指令的移动轨迹以及运动权限,确定虚拟摄像机在第一曲面边界上的第一运动路径时,具体用于:若触控指令的移动轨迹的方向为第二方向,并且运动权限包括第二方向运动权限,则以多个第一圆形轨道中虚拟摄像机所处的第一圆形轨道i作为第一运动路径,第二方向平行于第一圆形轨道i所在平面。

在一种可能的设计中,相对位置信息包括虚拟摄像机到虚拟对象的距离。

第二确定模块基于相对位置信息确定虚拟摄像机的运动权限时,具体用于:若虚拟摄像机到虚拟对象的距离大于第一阈值,并且,虚拟摄像机到虚拟对象的距离小于第二阈值,则确定虚拟摄像机的运动权限包括第一方向运动权限、第二方向运动权限以及缩放运动权限;

其中,第二阈值大于第一阈值,第一方向和第二方向根据虚拟对象在三维空间中的姿态预先设定,缩放运动的方向垂直于第一方向和第二方向。

在一种可能的设计中,设定三维空间包括环绕于虚拟对象的第一曲面边界和第二曲面边界、以及处于第二曲面边界与第一曲面边界之间的三维空间区域;第一曲面边界到虚拟对象的距离小于或等于第一阈值,第二曲面边界到虚拟对象的距离大于第一阈值,第二曲面边界到虚拟对象的距离小于或等于第二阈值,第二阈值大于第一阈值。

控制模块在响应于对图形界面的触控指令,控制虚拟摄像机在设定三维空间中根据触控指令和运动权限进行运动时,具体用于:若检测到触控指令,则获取触控指令的移动轨迹;根据触控指令的移动轨迹以及运动权限,确定虚拟摄像机的第二运动路径,其中,第二运动路径处于第二曲面边界上,或者第二运动路径处于三维空间区域中;控制虚拟摄像机在第二运动路径上进行运动。

在一种可能的设计中,虚拟对象包括多个第二参考点,第二曲面边界包括多个第二圆形轨道以及经过多个第二圆形轨道的多条第二曲线,各第二圆形轨道分别以多个第二参考点中各自对应的第二参考点为中心。

在一种可能的设计中,控制模块在根据触控指令的移动轨迹以及运动权限,确定虚拟摄像机的第二运动路径时,具体用于:若触控指令的移动轨迹的方向为第一方向,并且运动权限包括第一方向运动权限,则从多条第二曲线中选取经过虚拟摄像机所处位置的第二曲线作为第二运动路径,其中,第二运动路径的起点为虚拟摄像机所处位置。

在一种可能的设计中,控制模块在根据触控指令的移动轨迹以及运动权限,确定虚拟摄像机的第二运动路径时,具体用于:若触控指令的移动轨迹的方向为第二方向,并且运动权限包括第二方向运动权限,则以多个第二圆形轨道中虚拟摄像机所处的第二圆形轨道i作为第二运动路径,其中第二方向平行于第二圆形轨道i所在平面。

在一种可能的设计中,控制模块在根据触控指令的移动轨迹以及运动权限,确定虚拟摄像机的第二运动路径时,具体用于:若触控指令的移动轨迹的方向包括多个方向,并且运动权限包括缩放运动权限,则基于虚拟摄像机所处位置以及多条轨迹的移动方向,确定虚拟摄像机在三维空间区域中的第二运动路径。

在一种可能的设计中,相对位置信息包括虚拟摄像机到虚拟对象的距离。第二确定模块具体用于:若虚拟摄像机到虚拟对象的距离等于第一阈值,则确定虚拟摄像机的运动权限包括在第一范围桶中的第一运动权限;其中,设定三维空间包括环绕于虚拟对象的第一范围桶,第一范围桶到虚拟对象的距离为第一阈值。

在一种可能的设计中,虚拟对象包括多个第一视点,多个第一视点与第一范围桶中的多个第一轴点一一对应,第一范围桶是由多个第一轴点插值计算得到的多个第一圆形轨迹组成的。控制模块在响应于对图形界面的触控指令,控制虚拟摄像机在设定三维空间中根据触控指令和运动权限进行运动时,具体用于:若检测到触控指令,则获取触控指令的移动轨迹;根据触控指令的移动轨迹以及第一运动权限,控制虚拟摄像机在第一范围桶中进行运动。其中,虚拟摄像机的光轴指向由虚拟摄像机所处的第一轴点指向该第一轴点对应的第一视点。

在一种可能的设计中,相对位置信息包括虚拟摄像机到虚拟对象的距离。第二确定模块具体用于:若虚拟摄像机到虚拟对象的距离大于第一阈值,并且,虚拟摄像机到虚拟对象的距离小于第二阈值,则确定虚拟摄像机的运动权限包括在第二范围桶中的第二运动权限、以及在第二范围桶与第一范围桶之间的第三运动权限。其中,第二阈值大于第一阈值,设定三维空间包括环绕于虚拟对象的第二范围桶及第一范围桶,第二范围桶到虚拟对象的距离为第二阈值,第一范围桶到虚拟对象的距离为第一阈值。

在一种可能的设计中,虚拟对象包括多个第二视点,多个第二视点与第二范围桶中的多个第二轴点一一对应,第二范围桶是由多个第二轴点插值计算得到的多个第二圆形轨迹组成的。控制模块在响应于对图形界面的触控指令,控制虚拟摄像机在设定三维空间中根据触控指令和运动权限进行运动时,具体用于:检测到触控指令,则获取触控指令的移动轨迹;根据触控指令的移动轨迹以及第二运动权限,控制虚拟摄像机在第二范围桶中进行运动;或者根据触控指令的移动轨迹以及第三运动权限,控制虚拟摄像机在第二范围桶与第一范围桶之间进行运动。

其中,虚拟摄像机的光轴指向由虚拟摄像机所处的第二轴点指向该第二轴点对应的第二视点。

在一种可能的设计中,虚拟摄像机到虚拟对象的距离越小,多个第二视点越大;并且若虚拟摄像机处于第二范围桶中,多个第二视点聚合为一点。

第三方面,本发明实施例提供一种电子设备,其中包括处理器和存储器,其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现第一方面中的虚拟对象的展示方法。

本发明实施例又提供了一种系统,包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由所述处理器加载并执行以实现上面描述的一种虚拟对象的展示方法。

本发明实施例进一步提供了一种计算机可读介质,其上存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上面描述的一种虚拟对象的展示方法。

在本发明实施例提供的技术方案中,图形界面加载有虚拟对象和虚拟摄像机,该虚拟摄像机用于采集图形界面中对虚拟对象的展示图像。首先,基于虚拟摄像机与虚拟对象的相对位置信息确定虚拟摄像机的运动权限,该运动权限即表示虚拟摄像机在设定三维空间中被授权的运动方式,比如若虚拟摄像机的运动权限包括纵向运动权限,该虚拟摄像机可以在设定三维空间中进行纵向运动。响应于对图形界面的触控指令,控制虚拟摄像机在设定三维空间中根据该触控指令和运动权限进行运动,从而通过触控指令即可改变虚拟摄像机在设定三维空间中所处的位置,调整图形界面中的展示图像。本技术方案通过控制虚拟摄像机在设定三维空间中根据触控指令和运动权限进行运动,从而在设定三维空间中对虚拟对象进行多角度展示,不仅为用户提供了更丰富的观察视角,还通过设定三维空间和运动权限避免了某些视角下对虚拟对象的异常展示,提升用户体验。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一实施例提供的一种虚拟对象的展示方法的流程图;

图2为本发明一实施例提供的一种虚拟对象的示意图;

图3至图7为本发明一实施例提供的一种虚拟对象的展示过程的原理示意图;

图8为本发明一实施例提供的一种图形界面的示意图;

图9为本发明一实施例提供的另一种图形界面的示意图;

图10为本发明一实施例提供的另一种虚拟对象的示意图;

图11为本发明实施例提供的一种虚拟对象的展示装置的结构示意图;

图12为与图11所示实施例提供的虚拟对象的展示装置对应的电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。

取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。

另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。

本发明实施例提供的虚拟对象的展示方案可以由一电子设备来执行,该电子设备可以是诸如智能手机、平板电脑、pc机、笔记本电脑等终端设备。在一可选实施例中,该电子设备上可以安装有用于执行虚拟对象的展示方案的服务程序。该服务程序比如是游戏客户端、三维场景编辑器、游戏编辑器。

本发明实施例提供的虚拟对象的展示方案适用于各种虚拟对象的展示场景。虚拟对象比如是虚拟角色、道具。举例来说,假设虚拟对象为游戏中的虚拟角色,虚拟角色的展示场景可以是玩家进入游戏后所看到的虚拟角色展示界面。或者,假设虚拟对象为游戏道具,虚拟角色的展示场景也可以是玩家游戏过程中意图查看游戏道具时调出的道具展示界面。

下面结合以下实施例对该虚拟对象的展示方法的执行过程进行说明。

图1为本发明实施例提供的一种虚拟对象的展示方法的流程图。如图1所示,该方法包括如下步骤:

101、确定虚拟摄像机与虚拟对象的相对位置信息;

102、基于相对位置信息确定虚拟摄像机的运动权限;

103、响应于对图形界面的触控指令,控制虚拟摄像机在设定三维空间中根据触控指令和运动权限进行运动,以调整对虚拟对象的展示图像。

本发明实施例中的虚拟对象的展示方法应用于图形界面,该图形界面比如是服务程序中加载的虚拟角色展示界面。该图形界面中加载有虚拟对象。该虚拟对象处于三维空间中。

为了展示虚拟对象在三维空间中的姿态,需要在图形界面中加载虚拟摄像机,该虚拟摄像机用于采集对虚拟对象的展示图像。实质上,虚拟摄影机的取景视角即代表使用该图形界面的用户对虚拟对象的观察视角,故而,调整虚拟摄像机在三维空间中所处的位置即是改变用户对虚拟对象的观察视角,调整对虚拟对象的展示图像。为改变用户对虚拟对象的观察视角,需要调整虚拟摄像机在三维空间中所处的位置。简单来说,就是控制虚拟摄像机在三维空间中进行运动,使虚拟摄像机从初始位置移动到另一位置。当然,虚拟摄像机也称为虚拟相机、游戏相机,虚拟摄影机的取景视角也称为虚拟摄像机的裁剪区域,本发明实施例中并不限定。

在图形界面中加载虚拟对象和虚拟摄像机之后,101中,确定虚拟摄像机与虚拟对象的相对位置信息,从而确定虚拟摄像机相对虚拟对象的位置。

进而,102中,基于虚拟摄像机与虚拟对象的相对位置信息确定虚拟摄像机的运动权限。

实际应用中,以虚拟对象为虚拟角色为例,如果在三维空间的任意方位上都可以对虚拟角色进行观察,可能会导致虚拟角色的展示出现异常,如观察视角穿进虚拟角色的模型内部,或观察视角指向虚拟角色的不雅部位。

为避免上述异常情况,将虚拟摄像机的运动范围限定于设定三维空间,并为虚拟摄像机在设定三维空间中的运动设置权限。该运动权限表示虚拟摄像机在设定三维空间中被授权的运动方式。虚拟摄像机的运动权限包括但限于各方向运动权限及缩放运动权限。实质上,各方向运动权限表示的是虚拟摄像机被授权可以沿着各方向进行位移。各方向可以基于虚拟对象在三维空间中的姿态预先设定。举例来说,若虚拟摄像机的运动权限包括纵向运动权限,该虚拟摄像机可以在设定三维空间中纵轴方向进行纵向运动,如沿着纵轴方向向上运动,或沿着纵轴方向向下运动。

在一些可能的情况下,虚拟摄像机与虚拟对象的距离较近,此类情况下,为避免虚拟摄像机的观察视角穿进虚拟对象的模型内部,或出现其他异常情况。可以限定虚拟摄像机处于虚拟对象近处时的运动权限。比如,为避免虚拟摄像机的观察视角穿进虚拟对象的模型内部,禁止虚拟摄像机的缩放运动。

具体来说,虚拟摄像机与虚拟对象的相对位置信息包括虚拟摄像机到虚拟对象的距离。102中,基于虚拟摄像机与虚拟对象的相对位置信息确定虚拟摄像机的运动权限,可以实现为:

若虚拟摄像机到虚拟对象的距离小于第一阈值,则确定虚拟摄像机的运动权限包括第一方向运动权限和第二方向运动权限,其中第一方向和第二方向根据虚拟对象在三维空间中的姿态预先设定。

若虚拟摄像机到虚拟对象的距离小于第一阈值,可以认为虚拟摄像机与虚拟对象的距离较近,即虚拟摄像机处于虚拟对象近处。此情况下,可以授权虚拟摄像机进行第一方向运动和第二方向运动,即确定虚拟摄像机的运动权限包括第一方向运动权限和第二方向运动权限。同时,此情况下,为避免虚拟摄像机的观察视角穿进虚拟对象的模型内部或出现其他异常情况,不授权虚拟摄像机进行缩放运动,即不向虚拟摄像机授予缩放运动权限。实际上,缩放运动包括对虚拟对象进行缩小的运动和对虚拟对象进行放大的运动。

举例来说,假设虚拟对象为图2所示的虚拟角色。在图2中,虚拟角色在三维空间中的姿态为站立在地面上,基于虚拟角色的姿态将第一方向设为图2示出的纵轴方向,将第二方向设为图2示出的横轴方向。若虚拟摄像机到虚拟对象的距离小于第一阈值,则确定虚拟摄像机的运动权限包括纵向运动权限和横向运动权限。纵向运动权限即表示虚拟摄像机被授权沿着纵轴向上运动或沿着纵轴向下运动。横向运动权限即表示虚拟摄像机被授权沿着横轴方向围绕虚拟角色进行顺时帧运动,以及虚拟摄像机被授权沿着横轴方向围绕虚拟角色进行逆时针运动。

进而,102中确定虚拟摄像机的运动权限之后,103中,响应于对图形界面的触控指令,控制虚拟摄像机在设定三维空间中根据触控指令和运动权限进行运动。在一可选实施例中,103可以实现为:

若检测到触控指令,则获取触控指令的移动轨迹;根据触控指令的移动轨迹以及运动权限,确定虚拟摄像机在第一曲面边界上的第一运动路径;控制虚拟摄像机在第一运动路径上进行运动。

其中,设定三维空间包括环绕于虚拟对象的曲面边界,该曲面边界到虚拟对象的距离小于或等于第一阈值。为区分,本文中将该曲面边界称为第一曲面边界。通过上述步骤可以在第一曲面边界上对虚拟对象进行近距离观察。

具体地,虚拟对象包括多个参考点。为区分,本文中将该多个参考点称为第一参考点。第一参考点可以处于虚拟对象的模型表面,也可以处于虚拟对象的模型内部。第一曲面边界包括多个第一圆形轨道以及经过多个第一圆形轨道的多条第一曲线,各第一圆形轨道分别以多个第一参考点中各自对应的第一参考点为中心。第一曲面边界包括设定三维空间中与虚拟对象的距离最近处。

实际应用中,第一参考点可以称为视点,可以根据虚拟对象的视觉特征信息设置多个视点。可选地,各第一圆形轨道的半径根据虚拟对象的视觉特征信息进行设定,视觉特征信息比如是尺寸信息。各第一圆形轨道的半径可以相同也可以不同。可选地,第一曲面边界还包括连接于多个第一圆形轨道间的多条曲线。为区别本文中这些曲线称为第一曲线。多条第一曲线可以对多个第一圆形轨迹的半径进行插值运算得到。

在一可选实施例中,根据触控指令的移动轨迹以及运动权限,确定虚拟摄像机在第一曲面边界上的第一运动路径,可以实现为:

若触控指令的移动轨迹的方向为第一方向,并且运动权限包括第一方向运动权限,则从多条第一曲线中选取经过虚拟摄像机所处位置的第一曲线作为第一运动路径,其中,第一运动路径的起点为虚拟摄像机所处位置。

举例来说,假设虚拟对象为图3所示的虚拟角色。在图3中,虚拟角色在三维空间中的姿态为站立在地面上,基于虚拟角色的姿态将第一方向设为图3示出的纵轴方向。假设图形界面为游戏客户端中的界面。假设运动权限包括纵向运动权限。假设多条第一曲线包括如图3示出的l1和l2。假设虚拟摄像机所处位置为l1上的d点。

基于上述假设,若检测到用户触摸图形界面时的触控点,获取触控点的移动轨迹。若触控点的移动轨迹的方向为沿着纵轴方向向上或向下,则从多条第一曲线中选取经过d点的第一曲线l1作为第一运动路径,其中,第一运动路径的起点为d点。

若触控点的移动轨迹的方向为沿着纵轴方向向上,则控制虚拟摄像机从d点开始,沿着l1向第一圆形轨道r1进行移动。可选地,此情况下虚拟摄像机的光轴指向第一圆形轨道r1的圆心,即a点。

若触控点的移动轨迹的方向为沿着纵轴方向向下,则控制虚拟摄像机从d点开始,沿着l1向第一圆形轨道r2或r3进行移动。可选地,此情况下,虚拟摄像机向第一圆形轨道r2移动时,虚拟摄像机的光轴指向第一圆形轨道r2的圆心,即b点;虚拟摄像机经过第一圆形轨道r2向第一圆形轨道r3移动时,虚拟摄像机的光轴指向从b点切换为第一圆形轨道r3的圆心,即c点。

另一可选实施例中,根据触控指令的移动轨迹以及运动权限,确定虚拟摄像机在第一曲面边界上的第一运动路径,可以实现为:

若触控指令的移动轨迹的方向为第二方向,并且运动权限包括第二方向运动权限,则以多个第一圆形轨道中虚拟摄像机所处的第一圆形轨道i作为第一运动路径,第二方向平行于第一圆形轨道i所在平面。

举例来说,假设虚拟对象为图4所示的虚拟角色。在图4中,虚拟角色在三维空间中的姿态为站立在地面上,基于虚拟角色的姿态将第二方向设为图4示出的横轴方向。假设图形界面为游戏客户端中的界面。假设运动权限包括横向运动权限。假设虚拟摄像机所处位置为第一圆形轨道r2上的e点。

基于上述假设,若检测到用户触摸图形界面时的触控点,获取该触控点的移动轨迹。若该触控点的移动轨迹的方向为横轴方向,则以多个第一圆形轨道中虚拟摄像机所处的第一圆形轨道r2作为第一运动路径,第一圆形轨道r2所在平面与横轴方向平行。

若触控点的移动轨迹的方向为沿着横轴方向向左,则控制虚拟摄像机从e点开始,沿着第一圆形轨道r2进行顺时针运动。可选地,此情况下虚拟摄像机的光轴指向第一圆形轨道r2的圆心,即b点。顺时针运动所要转过的角度可以根据触控点沿着横轴方向移动的距离进行设定。

若触控点的移动轨迹的方向为沿着横轴方向向右,则控制虚拟摄像机从e点开始,沿着第一圆形轨道r2进行逆时针运动。可选地,此情况下虚拟摄像机的光轴指向第一圆形轨道r2的圆心,即b点。逆时针运动所要转过的角度可以根据触控点沿着横轴方向移动的距离进行设定。

通过上述步骤即可在第一曲面边界上对虚拟对象进行观察。

当然,虚拟对象的视觉特征信息不同,基于虚拟对象的视觉特征信息构建的第一曲面边界的形状也不相同。实际应用中,还可以根据虚拟对象的展示效果,通过调整第一参考点在三维空间中所处的位置、第一圆形轨道的参数以及第一曲线的参数,对第一曲面边界的形状进行调整。

另一可选实施例中,102中,基于虚拟摄像机与虚拟对象的相对位置信息确定虚拟摄像机的运动权限,可以实现为:

若虚拟摄像机到虚拟对象的距离大于第一阈值,并且,虚拟摄像机到虚拟对象的距离小于第二阈值,则确定虚拟摄像机的运动权限包括第一方向运动权限、第二方向运动权限以及缩放运动权限。

其中,第二阈值大于第一阈值。类似于上文描述,第一方向和第二方向也可以根据虚拟对象在三维空间中的姿态预先设定。缩放运动的方向垂直于第一方向和第二方向。

若虚拟摄像机到虚拟对象的距离大于第一阈值,并且,虚拟摄像机到虚拟对象的距离小于第二阈值,可以认为虚拟摄像机与虚拟对象的距离较远,即虚拟摄像机处于虚拟对象远处。此情况下,可以授权虚拟摄像机进行各方向运动权限,如第一方向运动权限和第二方向运动权限。为使用户能够观察到虚拟对象的更多细节,还可以向虚拟摄像机授予缩放运动权限。实际上,缩放运动包括对虚拟对象进行缩小的运动和对虚拟对象进行放大的运动,因而,缩放运动的方向通常是朝向虚拟角色或背离虚拟角色。简单来说,朝向虚拟角色就是虚拟摄像机朝着虚拟对象的方向,背离虚拟角色就是虚拟摄像机朝着远离虚拟对象的方向。相应地,对虚拟对象进行放大的运动就是虚拟摄像机朝着虚拟对象的方向进行运动,对虚拟对象进行缩小的运动就是虚拟摄像机朝着远离虚拟对象的方向进行运动。

举例来说,假设虚拟对象为图5所示的虚拟角色。在图5中,虚拟角色在三维空间中的姿态为站立在地面上,基于虚拟角色的姿态将第一方向设为图5示出的纵轴方向,将第二方向设为图5示出的横轴方向。若虚拟摄像机到虚拟对象的距离大于第一阈值,则确定虚拟摄像机的运动权限包括纵向运动权限、横向运动权限以及缩放运动权限。纵向运动权限和横向运动权限的含义与上文描述类似,此处不再赘述。

缩放运动权限即表示虚拟摄像机被授权朝着虚拟对象的方向进行运动,以及虚拟摄像机被授权朝着远离虚拟对象的方向进行运动。例如,假设虚拟摄像机所处位置为图6示出的f点。在图6中,虚拟摄像机朝着虚拟对象的方向进行运动即是:虚拟摄像机从f点出发朝向b点进行运动,其中虚拟摄像机的运动方向如图6中的箭头所示。

进而,102中确定虚拟摄像机的运动权限之后,另一可选实施例中,103中,响应于对图形界面的触控指令,控制虚拟摄像机在设定三维空间中根据触控指令和运动权限进行运动,可以实现为:

若检测到触控指令,则获取触控指令的移动轨迹;根据触控指令的移动轨迹以及运动权限,确定虚拟摄像机的第二运动路径,其中,第二运动路径处于第二曲面边界上,或者第二运动路径处于三维空间区域中;控制虚拟摄像机在第二运动路径上进行运动。

其中,设定三维空间包括环绕于虚拟对象的第一曲面边界和第二曲面边界、以及处于第二曲面边界与第一曲面边界之间的三维空间区域。可选地,第一曲面边界设在第二曲面边界内侧。这里内侧即虚拟对象所处的一侧。也就是说,第一曲面边界到虚拟对象的距离小于或等于第一阈值,第二曲面边界到虚拟对象的距离大于第一阈值,第二曲面边界到虚拟对象的距离小于或等于第二阈值,第二阈值大于第一阈值。为便于理解,假设第一曲面边界和第二曲面边界分别为两个桶状结构,第一曲面边界对应的桶状结构设在第二曲面边界对应的桶状结构的内侧。基于此,两个桶状结构以及位于两个桶状结构中间的三维空间区域可以组成设定三维空间。需要理解的是,设定三维空间的形状由虚拟对象的视觉特征信息确定。如设定三维空间的高度可以由虚拟对象的高度确定。

具体地,虚拟对象包括多个参考点。为区分,本文中将这些参考点称为第二参考点。与第一参考点类似,第二参考点可以处于虚拟对象的模型表面,也可以处于虚拟对象的模型内部。第二曲面边界包括多个第二圆形轨道以及经过多个第二圆形轨道的多条第二曲线,各第二圆形轨道分别以多个第二参考点中各自对应的第二参考点为中心。第二曲面边界包括设定三维空间中与虚拟对象的距离最远处。

实际应用中,根据虚拟对象的视觉特征信息,处于同一平面内的第一圆形轨道和第二圆形轨道的圆心可以相同,也可以不同,此处并不限定。也就是说,多个第一参考点和多个第二参考点可以重合也可以不重合。

实际应用中,第二参考点可以也称为视点,设置规则与上文类似,此处不再展开。两种视点的区别在于两种视点所针对的曲面边界不同。

可选地,各第二圆形轨道的半径根据虚拟对象的视觉特征信息进行设定,视觉特征信息比如是尺寸信息。各第二圆形轨道的半径可以相同也可以不同。可选地,第二曲面边界还包括连接于多个第二圆形轨道间的多条曲线。为区别本文中这些曲线称为第二曲线。多条第二曲线可以通过对多个第二圆形轨道的半径进行插值运算得到。

以图5示出的虚拟角色为例,为便于描述,仍假设该虚拟角色包括a、b、c三个点,以该虚拟角色的a、b、c三个点为第二参考点。分别以a、b、c三个点为圆心,并根据该虚拟对象的尺寸信息对a、b、c三个点各自对应的轨道半径r11、r22、r33,获得如图5所示的三个第二圆形轨道、以及第二曲线l3、l4。从而,基于三个第二圆形轨道以及第二曲线l3、l4,建立第二曲面边界。为便于查看,图5中未示出第一曲面边界。

为便于对比说明第一曲面边界和第二曲面边界的关系,图6示出第一曲面边界中的第一圆形轨道r2以及第二曲面边界中的第二圆形轨道r22。在图6中,假设与第一圆形轨道r2处于同一平面的第二圆形轨道的圆心也为b点。此情况下,第二曲面边界包括第二圆形轨道r22,该第二圆形轨道r22的圆心为b点,半径为r22,其中,r22大于r2。

基于上文描述的第二曲面边界,在一可选实施例中,根据触控指令的移动轨迹以及运动权限,确定虚拟摄像机的第二运动路径,可以实现为:

若触控指令的移动轨迹的方向为第一方向,并且运动权限包括第一方向运动权限,则从多条第二曲线中选取经过虚拟摄像机所处位置的第二曲线作为第二运动路径,其中,第二运动路径的起点为虚拟摄像机所处位置。

举例来说,假设虚拟对象为图5所示的虚拟角色。在图5中,虚拟角色在三维空间中的姿态为站立在地面上,基于虚拟角色的姿态将第一方向设为图5示出的纵轴方向。假设图形界面为游戏客户端中的界面。假设运动权限包括纵向运动权限。假设多条第二曲线包括如图5示出的l3和l4。假设虚拟摄像机所处位置为l3上的f点。

基于上述假设,若检测到用户触摸图形界面时的触控点,获取触控点的移动轨迹。若触控点的移动轨迹的方向为沿着纵轴方向向上或向下,则从多条第二曲线中选取经过f点的第二曲线l3作为第二运动路径,其中,第二运动路径的起点为f点。若触控点的移动轨迹的方向为沿着纵轴方向向上,则控制虚拟摄像机从d点开始,沿着l3向第二圆形轨道r11进行移动。可选地,此情况下虚拟摄像机的光轴指向从第二圆形轨道r22的圆心b点切换到第二圆形轨道r11的圆心,即a点。若触控点的移动轨迹的方向为沿着纵轴方向向下,则控制虚拟摄像机从f点开始,沿着l3向第二圆形轨道r33进行移动。此情况下,虚拟摄像机向第二圆形轨道r33移动时,虚拟摄像机的光轴指向从b点切换为第二圆形轨道r33的圆心,即c点。

另一可选实施例中,根据触控指令的移动轨迹以及运动权限,确定虚拟摄像机的第二运动路径,可以实现为:

若触控指令的移动轨迹的方向为第二方向,并且运动权限包括第二方向运动权限,则以多个第二圆形轨道中虚拟摄像机所处的第二圆形轨道i作为第二运动路径,其中第二方向平行于第二圆形轨道i所在平面。

举例来说,假设虚拟对象为图5所示的虚拟角色。在图5中,虚拟角色在三维空间中的姿态为站立在地面上,基于虚拟角色的姿态将第二方向设为图5示出的横轴方向。假设图形界面为游戏客户端中的界面。假设运动权限包括横向运动权限。假设虚拟摄像机所处位置为第二圆形轨道r22上的f点。

基于上述假设,若检测到用户触摸图形界面时的触控点,获取该触控点的移动轨迹。若该触控点的移动轨迹的方向为横轴方向,则以多个第二圆形轨道中虚拟摄像机所处的第二圆形轨道r22作为第二运动路径,第二圆形轨道r22所在平面与横轴方向平行。若触控点的移动轨迹的方向为沿着横轴方向向左,则控制虚拟摄像机从f点开始,沿着第二圆形轨道r22进行顺时针运动。可选地,此情况下虚拟摄像机的光轴指向第二圆形轨道r22的圆心,即b点。顺时针运动所要转过的角度可以根据触控点沿着横轴方向移动的距离进行设定。或者,若触控点的移动轨迹的方向为沿着横轴方向向右,则控制虚拟摄像机从f点开始,沿着第二圆形轨道r22进行逆时针运动。逆时针运动所要转过的角度可以根据触控点沿着横轴方向移动的距离进行设定。

可以理解的是,除了依据上述两个实施例所示的运动规则进行横、纵向运动之外,实际应用中,虚拟摄像机还可以在第一曲面边界和第二曲面边界之间的三维空间区域中进行运动。下面结合具体实施例对虚拟摄像机在三维空间区域中的运动规则进行说明:

再一可选实施例中,根据触控指令的移动轨迹以及运动权限,确定虚拟摄像机的第二运动路径,包括:

若触控指令的移动轨迹的方向包括多个方向,并且运动权限包括缩放运动权限,则基于虚拟摄像机所处位置以及多条轨迹的移动方向,确定虚拟摄像机在三维空间区域中的第二运动路径。

其中,触控指令的移动轨迹包括由多个触控点形成的多条轨迹。触控指令的移动轨迹的方向包括多个方向,实质上,就是说多条轨迹的方向不同。

当然,虚拟摄像机在该三维空间区域中也可以进行横、纵向运动,具体规则与上文描述的横、纵向运动规则类似,此处暂不展开。

仍以上文描述的图5所示的虚拟角色为例,在图5中,虚拟角色在三维空间中的姿态为站立在地面上,基于虚拟角色的姿态将第一方向设为图5示出的纵轴方向,基于虚拟角色的姿态将第二方向设为图5示出的横轴方向。假设图形界面为游戏客户端中的界面。假设运动权限包括缩放运动权限。假设多条第二曲线包括如图5示出的l3和l4。假设虚拟摄像机所处位置为第二圆形轨道r22上的f点。

基于上述假设,若检测到用户触摸图形界面时形成至少两个触控点,获取这些触控点的移动轨迹。若这些触控点对应的多条移动轨迹的方向不同,则基于虚拟摄像机所处位置即f点以及多条轨迹的移动方向,确定虚拟摄像机在三维空间区域中的第二运动路径。

假设图形界面为图7所示的界面700。假设触控点包括m1和m2。在图7中,由m1形成的移动轨迹的方向和m2形成的移动轨迹的方向相反,并且根据这些移动轨迹可以判断出用户的操作为:双手向外滑动。假设图7中的虚拟对象p为图5中的虚拟角色。假设用户双手向外滑动时需要对虚拟对象p进行放大。当然,实际应用中,可以预先获取用户操作与缩放运动之间的对应关系,如用户双手向内滑动对应于对虚拟对象进行缩小,用户双手向外滑动对应于对虚拟对象进行放大。其中,缩放倍数根据触控点的移动轨迹设定。

还假设基于f点和b点确定的直线与第一圆形轨道r2交于n点,如图6所示。基于图5、图6和图7的假设,以基于f点和n点确定的线段fn为第二运动路径。即控制虚拟摄像机从f点出发,在三维空间区域中沿线段fn,向第二圆形轨道r22和第一圆形轨道r2共同的圆心b点进行移动。通过上述步骤即可在第二曲面边界上、以及第一曲面边界与第二曲面边界中间的三维空间区域中,对虚拟对象进行观察。

可选地,虚拟摄像机进行缩放运动时的运动参数可以采用比例差值进行计算。即通过虚拟摄像机从第一曲面边界和第二曲面边界上获取对应点,从而基于对应点的位置、及对应点的显示比例,确定虚拟摄像机进行缩放运动时的运动参数,如缩放比例、运动速度等。

可以理解的是,虚拟对象的各第二参考点也会随虚拟对象的缩放而进行移动。虚拟摄像机从第二曲面边界向第一曲面边界移动时,虚拟摄像机与虚拟对象的距离逐渐减小,此时,虚拟对象的尺寸逐渐增大,各第二参考点间的距离也逐渐增大。反之,虚拟摄像机从第一曲面边界向第二曲面边界移动时,虚拟摄像机与虚拟对象的距离逐渐增大,此时,虚拟对象的尺寸逐渐减小,各第二参考点间的距离也逐渐减小。简单来说,就是随着虚拟摄像机从第二曲面边界向第一曲面边界移动,各第二参考点逐渐分散;随着虚拟摄像机从第一曲面边界向第二曲面边界移动,各第二参考点逐渐聚拢。可选地,虚拟摄像机距离虚拟对象最远时,各第二参考点聚拢为一个第二参考点。

需要说明的是,实际应用中,当虚拟摄像机处于第二曲面边界时,a、b、c三个第二参考点的纵向距离并不一定为图5所示。基于上文缩放运动及多个第二参考点的描述可知,虚拟摄像机处于第二曲面边界时,各第二参考点的纵向距离可以随虚拟摄像机与虚拟对象的距离进行变化。

基于上述第二参考点移动规则,还可以预先获取缩放倍数与多个第二参考点之间的对应关系。仍基于上文对图5、图6和图7的假设,虚拟摄像机从f点向b点移动时,在界面700中,虚拟对象p随虚拟摄像机的移动逐渐放大。随着虚拟对象p逐渐放大,a、b、c三个第二参考点的纵向距离按照缩放倍数与多个第二参考点之间的对应关系逐渐增大。反之,虚拟摄像机从b点向f点移动时,在界面700中,虚拟对象p随虚拟摄像机的移动逐渐缩小。随着虚拟对象p逐渐缩小,a、b、c三个第二参考点的纵向距离按照缩放倍数与多个第二参考点之间的对应关系逐渐减小。实际上,缩放倍数是由虚拟摄像机与虚拟对象的距离决定的。

通过上述步骤,就可以在第二曲面边界上、以及第一曲面边界和第二曲面边界中间的三维空间区域中,对虚拟对象进行多角度观察。

当然,虚拟对象的视觉特征信息不同,基于虚拟对象的视觉特征信息构建的第二曲面边界的形状也不相同。实际应用中,还可以根据虚拟对象的展示效果,通过调整第二参考点在三维空间中所处的位置参数、第二圆形轨道的参数以及第二曲线的参数,对第二曲面边界的形状进行调整。

举例来说,可以在图8示出的编辑器中对各参考点及各圆形轨道的参数进行设置。图8中,待设置的参数包括绑定模型(bindingmode)、样条曲线曲率(splinecurvature)、各圆形轨道的半径及高度。比如toprig、middlerig、bottomrig分别对应于上、中、下三个圆形轨道的参数设置选项。

实际应用中,还可以通过图9示出的编辑器中各圆形轨道的参数进行设置。其中,follow选项用于设置参考点对应的参数,freelook选项用于设置设定三维空间中的轴点(即虚拟摄像机在设定三维空间中进行运动时所处的移动点)。

实际应用中,曲面边界中还可以包括其他形状的轨道,如椭圆轨道,本发明实施例中并不限定。如图10示出的曲面边界中包括两个椭圆轨道和3个圆形轨道。

除了上述步骤中所设置的设定三维空间(即第一曲面边界、第二曲面边界、以及第一曲面边界和第二曲面边界中间的三维空间区域)之外,为实现对虚拟对象的多角度观察,还可以采用如下方式对虚拟摄像机所处的设定三维空间以及观察角度进行设置:

假设虚拟对象的展示方法应用于图形界面,该图形界面中加载有虚拟对象。假设该虚拟对象处于三维空间中。为了展示虚拟对象在该三维空间中的姿态,需要加载虚拟摄像机,用以采集该虚拟对象的展示图像。

为避免用户观察到虚拟角色的异常区域,需要对虚拟摄像机的观察视角进行限定。简单来说,就是需要对虚拟摄像机的位置和取景视角进行限定。与上文类似,虚拟摄像机所能运动的三维空间即设定三维空间。该设定三维空间的其中一种设置方法可以是:

首先,设置虚拟摄像机对应的第一范围桶,该第一范围桶包括三个轴点。

具体地,设置虚拟对象上的三个视点(即上文的第一参考点)。例如,虚拟虚拟对象为某一角色时,这三个视点可以分别处于虚拟角色的颈部、腰部、膝盖。为区别,该视点称为第一视点。基于这三个第一视点设置虚拟摄像机的移动点,即这三个第一视点各自对应的三个轴点。为区分,该轴点称为第一轴点。为避免用户观察到虚拟角色的异常区域,同时也为避免虚拟摄像机与虚拟模型发生碰撞,可选地,第一轴点与对应的第一视点之间的距离大于或等于预设距离。由这三个轴点插值计算出各自对应的三个圆形轨迹(即上文的第一圆形轨道),从而由这三个圆形轨迹构成虚拟摄像机对应的范围桶。为区分,该范围桶称为第一范围桶。

基于第一范围桶,102中基于相对位置信息确定虚拟摄像机的运动权限,还可以具体实现为:

若虚拟摄像机到虚拟对象的距离等于第一阈值,则确定虚拟摄像机的运动权限包括在第一范围桶中的第一运动权限。其中,设定三维空间包括环绕于虚拟对象的第一范围桶,第一范围桶到虚拟对象的距离为第一阈值。

进而,假设虚拟对象包括多个第一视点。假设这多个第一视点与第一范围桶中的多个第一轴点一一对应。并且假设第一范围桶是由多个第一轴点插值计算得到的多个第一圆形轨迹组成的。基于上述假设,103中,响应于对图形界面的触控指令,控制虚拟摄像机在设定三维空间中根据触控指令和运动权限进行运动,还可以具体实现为:

若检测到触控指令,则获取触控指令的移动轨迹;根据触控指令的移动轨迹以及第一运动权限,控制虚拟摄像机在第一范围桶中进行运动。

其中,虚拟摄像机的光轴指向由虚拟摄像机所处的第一轴点指向该第一轴点对应的第一视点。具体来说,在第一范围桶中,虚拟摄像机可以各第一轴点以及各第一轴点对应的插值点间进行移动。实际上,虚拟摄像机在第一范围桶中的运动方向包括纵向、横向、以及横纵向叠加出的任意方向。但无论虚拟摄像机沿着何种运动方向进行运动,虚拟摄像机的光轴指向始终是由所处第一轴点指向该第一轴点对应的第一视点。

举例来说,虚拟摄像机在第一范围桶中的运动过程例如是:假设第一轴点形成的圆形轨迹平行于地面。假设第一轴点包括x、y、z,各自对应的第一视点为x’、y’、z’。假设虚拟摄像机处于第一轴点x。基于上述假设,虚拟摄像机进行横向运动时,虚拟摄像机沿第一轴点x对应的圆形轨迹进行环绕虚拟对象的运动,虚拟摄像机的光轴指向始终是由所处第一轴点x指向该第一轴点x对应的第一视点x’。虚拟摄像机进行纵向运动时,虚拟摄像机在第一轴点x与第一轴点y之间的插值点进行纵向运动,虚拟摄像机的光轴指向是由所处插值点指向该插值点对应的第一视点x’(或第一视点y’)。此纵向运动过程中光轴指向切换的方法与上文中光轴指向切换的方法类似,此处不再展开。

进而,设置虚拟摄像机对应的第二范围桶,该第二范围桶包括三个轴点。

具体地,设置虚拟对象上的三个视点(即上文的第二参考点)。为区别,该视点称为第二视点。可以理解的,第二视点可以与第一视点重合,也可以不重合。基于这三个第二视点设置虚拟摄像机的移动点,即这三个第二视点各自对应的三个轴点。为区分,该轴点称为第二轴点。由这三个轴点插值计算出各自对应的三个圆形轨迹(即上文的第二圆形轨道),从而由这三个圆形轨迹构成虚拟摄像机对应的范围桶。为区分,该范围桶称为第二范围桶。

实际应用中,需要注意的是,第二轴点到第二视点的距离大于第一轴点到第一视点的距离。因此,第二范围桶环绕在第一范围桶外侧,第一范围桶环绕于虚拟对象外侧。

在第二范围桶中,虚拟摄像机可以各第二轴点以及各第二轴点对应的插值点间进行移动。还可以在第二范围桶与第一范围桶之间的三维空间区域中进行移动。实际上,虚拟摄像机在第二范围桶中的运动方向也包括纵向、横向、以及横纵向叠加出的任意方向。但无论虚拟摄像机沿着何种运动方向进行运动,虚拟摄像机的光轴指向始终是由所处第二轴点指向该第二轴点对应的第二视点。

需要注意的是,上述视点会随着虚拟摄像机在两个范围桶间的运动进行移动。

可选地,虚拟摄像机到虚拟对象的距离越小,多个第二视点越大。具体来说,随着虚拟摄像机从第二范围桶向第一范围桶移动,由于虚拟摄像机与虚拟对象的相对距离逐渐缩小,可以观察到三个第二视点逐渐分开。若虚拟摄像机处于第二范围桶上,由于虚拟摄像机与虚拟对象的相对距离最远,可以观察到三个第二轴点对应的第二视点间距离较近,比如可以观察到三个第二视点聚合为一点。这是因为:虚拟摄像机处于第二范围桶上时,无论虚拟摄像机移动到哪一个第二轴点,虚拟摄像机的光轴指向始终是指向虚拟对象上对应的第二视点,由于此时观察到的虚拟对象的尺寸较小,因而,会观察到虚拟对象中这三个第二轴点对应的第二视点间距离较近,甚至聚合为一点;而随着虚拟摄像机与虚拟对象的相对距离变小,观察到的虚拟对象的尺寸变大,为保证能够观察到虚拟对象的整体,需要将虚拟对象中这三个第二轴点对应的第二视点逐渐分散。

基于上述第二范围桶,102中基于相对位置信息确定虚拟摄像机的运动权限,还可以具体实现为:

若虚拟摄像机到虚拟对象的距离大于第一阈值,并且,虚拟摄像机到虚拟对象的距离小于第二阈值,则确定虚拟摄像机的运动权限包括在第二范围桶中的第二运动权限、以及在第二范围桶与第一范围桶之间的第三运动权限。其中,第二阈值大于第一阈值,设定三维空间包括环绕于虚拟对象的第二范围桶及第一范围桶,第二范围桶到虚拟对象的距离为第二阈值,第一范围桶到虚拟对象的距离为第一阈值。

进而,假设虚拟对象包括多个第二视点。假设这多个第二视点与第二范围桶中的多个第二轴点一一对应。并且假设第二范围桶是由多个第二轴点插值计算得到的多个第二圆形轨迹组成的。基于上述假设,103中响应于对图形界面的触控指令,控制虚拟摄像机在设定三维空间中根据触控指令和运动权限进行运动,还可以实现为:

检测到触控指令,则获取触控指令的移动轨迹;根据触控指令的移动轨迹以及第二运动权限,控制虚拟摄像机在第二范围桶中进行运动;或者根据触控指令的移动轨迹以及第三运动权限,控制虚拟摄像机在第二范围桶与第一范围桶之间进行运动。其中,虚拟摄像机的光轴指向由虚拟摄像机所处的第二轴点指向该第二轴点对应的第二视点。

这样,通过六个视点以及各自对应的六个轴点可以设置出两个范围桶。从而,通过虚拟摄像机在两个范围桶上以及两个范围桶间的运动,实现对虚拟对象的多角度观察。并通过两个范围桶之间的空间,以及轴点的位置,限制视点道道虚拟对象的指定部位,如虚拟对象的裙子内侧部位等等。

图1示出的虚拟对象的展示方法的执行过程中,通过控制虚拟摄像机在设定三维空间中根据触控指令和所述运动权限进行运动,实现了在设定三维空间中对虚拟对象的多角度展示,既为用户提供了更丰富的观察视角,又通过设定三维空间和运动权限避免了某些视角下对虚拟对象的异常展示,提升用户体验。

以下将详细描述本发明的一个或多个实施例的虚拟对象的展示装置。本领域技术人员可以理解,这些虚拟对象的展示装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。

图6为本发明实施例提供的一种虚拟对象的展示装置的结构示意图。该装置应用于图形界面,该图形界面中加载有虚拟对象和虚拟摄像机,该虚拟摄像机用于采集对该虚拟对象的展示图像,如图11所示,该虚拟对象的展示装置包括:第一确定模块11、第二确定模块12、控制模块13。

第一确定模块11,用于确定所述虚拟摄像机与所述虚拟对象的相对位置信息;

第二确定模块12,用于基于所述相对位置信息确定所述虚拟摄像机的运动权限;

控制模块13,用于响应于对所述图形界面的触控指令,控制所述虚拟摄像机在设定三维空间中根据所述触控指令和所述运动权限进行运动,以调整所述展示图像。

可选地,所述相对位置信息包括所述虚拟摄像机到所述虚拟对象的距离。

所述第二确定模块12在基于所述相对位置信息确定所述虚拟摄像机的运动权限时,具体用于:若所述虚拟摄像机到所述虚拟对象的距离小于第一阈值,则确定所述虚拟摄像机的运动权限包括第一方向运动权限和第二方向运动权限,其中第一方向和第二方向根据所述虚拟对象在三维空间中的姿态预先设定。

可选地,所述设定三维空间包括环绕于所述虚拟对象的第一曲面边界,所述第一曲面边界到所述虚拟对象的距离小于或等于所述第一阈值。

所述控制模块13具体用于:若检测到所述触控指令,则获取所述触控指令的移动轨迹;根据所述触控指令的移动轨迹以及所述运动权限,确定所述虚拟摄像机在所述第一曲面边界上的第一运动路径;控制所述虚拟摄像机在所述第一运动路径上进行运动。

可选地,所述虚拟对象包括多个第一参考点,所述第一曲面边界包括多个第一圆形轨道以及经过所述多个第一圆形轨道的多条第一曲线,各第一圆形轨道分别以所述多个第一参考点中各自对应的第一参考点为中心。

可选地,所述控制模块13在根据所述触控指令的移动轨迹以及所述运动权限,确定所述虚拟摄像机在所述第一曲面边界上的第一运动路径时,具体用于:若所述触控指令的移动轨迹的方向为第一方向,并且所述运动权限包括第一方向运动权限,则从所述多条第一曲线中选取经过所述虚拟摄像机所处位置的第一曲线作为所述第一运动路径,其中,所述第一运动路径的起点为所述虚拟摄像机所处位置。

可选地,所述控制模块13在所述根据所述触控指令的移动轨迹以及所述运动权限,确定所述虚拟摄像机在所述第一曲面边界上的第一运动路径时,具体用于:若所述触控指令的移动轨迹的方向为第二方向,并且所述运动权限包括第二方向运动权限,则以所述多个第一圆形轨道中所述虚拟摄像机所处的第一圆形轨道i作为所述第一运动路径,所述第二方向平行于所述第一圆形轨道i所在平面。

可选地,所述相对位置信息包括所述虚拟摄像机到所述虚拟对象的距离。

所述第二确定模块12基于所述相对位置信息确定所述虚拟摄像机的运动权限时,具体用于:若所述虚拟摄像机到所述虚拟对象的距离大于第一阈值,并且,所述虚拟摄像机到所述虚拟对象的距离小于第二阈值,则确定所述虚拟摄像机的运动权限包括第一方向运动权限、第二方向运动权限以及缩放运动权限。

其中,所述第二阈值大于所述第一阈值,第一方向和第二方向根据所述虚拟对象在三维空间中的姿态预先设定,缩放运动的方向垂直于所述第一方向和所述第二方向。

可选地,所述设定三维空间包括环绕于所述虚拟对象的第一曲面边界和第二曲面边界、以及处于所述第二曲面边界与所述第一曲面边界之间的三维空间区域。所述第一曲面边界到所述虚拟对象的距离小于或等于所述第一阈值,所述第二曲面边界到所述虚拟对象的距离大于所述第一阈值,所述第二曲面边界到所述虚拟对象的距离小于或等于所述第二阈值,所述第二阈值大于所述第一阈值。

所述控制模块13在响应于对所述图形界面的触控指令,控制所述虚拟摄像机在设定三维空间中根据所述触控指令和所述运动权限进行运动时,具体用于:若检测到所述触控指令,则获取所述触控指令的移动轨迹;根据所述触控指令的移动轨迹以及所述运动权限,确定所述虚拟摄像机的第二运动路径,其中,所述第二运动路径处于所述第二曲面边界上,或者所述第二运动路径处于所述三维空间区域中;控制所述虚拟摄像机在所述第二运动路径上进行运动。

可选地,所述虚拟对象包括多个第二参考点,所述第二曲面边界包括多个第二圆形轨道以及经过所述多个第二圆形轨道的多条第二曲线,各第二圆形轨道分别以所述多个第二参考点中各自对应的第二参考点为中心。

可选地,所述控制模块13在根据所述触控指令的移动轨迹以及所述运动权限,确定所述虚拟摄像机的第二运动路径时,具体用于:若所述触控指令的移动轨迹的方向为第一方向,并且所述运动权限包括第一方向运动权限,则从所述多条第二曲线中选取经过所述虚拟摄像机所处位置的第二曲线作为所述第二运动路径,其中,所述第二运动路径的起点为所述虚拟摄像机所处位置。

可选地,所述控制模块13在根据所述触控指令的移动轨迹以及所述运动权限,确定所述虚拟摄像机的第二运动路径时,具体用于:若所述触控指令的移动轨迹的方向为第二方向,并且所述运动权限包括第二方向运动权限,则以所述多个第二圆形轨道中所述虚拟摄像机所处的第二圆形轨道i作为所述第二运动路径,其中所述第二方向平行于所述第二圆形轨道i所在平面。

可选地,所述控制模块13在根据所述触控指令的移动轨迹以及所述运动权限,确定所述虚拟摄像机的第二运动路径时,具体用于:若所述触控指令的移动轨迹的方向包括多个方向,并且所述运动权限包括缩放运动权限,则基于所述虚拟摄像机所处位置以及所述多条轨迹的移动方向,确定所述虚拟摄像机在所述三维空间区域中的所述第二运动路径。

可选地,相对位置信息包括虚拟摄像机到虚拟对象的距离。第二确定模块12具体用于:若虚拟摄像机到虚拟对象的距离等于第一阈值,则确定虚拟摄像机的运动权限包括在第一范围桶中的第一运动权限;其中,设定三维空间包括环绕于虚拟对象的第一范围桶,第一范围桶到虚拟对象的距离为第一阈值。

可选地,虚拟对象包括多个第一视点,多个第一视点与第一范围桶中的多个第一轴点一一对应,第一范围桶是由多个第一轴点插值计算得到的多个第一圆形轨迹组成的。控制模块13在响应于对图形界面的触控指令,控制虚拟摄像机在设定三维空间中根据触控指令和运动权限进行运动时,具体用于:若检测到触控指令,则获取触控指令的移动轨迹;根据触控指令的移动轨迹以及第一运动权限,控制虚拟摄像机在第一范围桶中进行运动。其中,虚拟摄像机的光轴指向由虚拟摄像机所处的第一轴点指向该第一轴点对应的第一视点。

可选地,相对位置信息包括虚拟摄像机到虚拟对象的距离。第二确定模块12具体用于:若虚拟摄像机到虚拟对象的距离大于第一阈值,并且,虚拟摄像机到虚拟对象的距离小于第二阈值,则确定虚拟摄像机的运动权限包括在第二范围桶中的第二运动权限、以及在第二范围桶与第一范围桶之间的第三运动权限。其中,第二阈值大于第一阈值,设定三维空间包括环绕于虚拟对象的第二范围桶及第一范围桶,第二范围桶到虚拟对象的距离为第二阈值,第一范围桶到虚拟对象的距离为第一阈值。

可选地,虚拟对象包括多个第二视点,多个第二视点与第二范围桶中的多个第二轴点一一对应,第二范围桶是由多个第二轴点插值计算得到的多个第二圆形轨迹组成的。控制模块13在响应于对图形界面的触控指令,控制虚拟摄像机在设定三维空间中根据触控指令和运动权限进行运动时,具体用于:检测到触控指令,则获取触控指令的移动轨迹;根据触控指令的移动轨迹以及第二运动权限,控制虚拟摄像机在第二范围桶中进行运动;或者根据触控指令的移动轨迹以及第三运动权限,控制虚拟摄像机在第二范围桶与第一范围桶之间进行运动。

其中,虚拟摄像机的光轴指向由虚拟摄像机所处的第二轴点指向该第二轴点对应的第二视点。

可选地,虚拟摄像机到虚拟对象的距离越小,多个第二视点越大;并且若虚拟摄像机处于第二范围桶中,多个第二视点聚合为一点。

图11所示虚拟对象的展示装置可以执行前述各实施例中提供的方法,本实施例未详细描述的部分,可参考前述实施例的相关说明,在此不再赘述。

在一个可能的设计中,上述图11所示的虚拟对象的展示装置的结构可实现为一电子设备。

如图12所示,该电子设备可以包括:处理器21、存储器22。其中,所述存储器22上存储有可执行代码,当所述可执行代码被所述处理器21执行时,至少使所述处理器21可以实现如前述实施例中提供的虚拟对象的展示方法。其中,该电子设备的结构中还可以包括通信接口23,用于与其他设备或通信网络通信。

另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被无线路由器的处理器执行时,使所述处理器执行前述各实施例中提供的虚拟对象的展示方法。

根据需要,本发明各实施例的系统、方法和装置可以实现为纯粹的软件(例如用java来编写的软件程序),也可以根据需要实现为纯粹的硬件(例如专用asic芯片或fpga芯片),还可以实现为结合了软件和硬件的系统(例如存储有固定代码的固件系统或者带有通用存储器和处理器的系统)。

本发明的另一个方面是一种计算机可读介质,其上存储有计算机可读指令,所述指令被执行时可实施本发明各实施例的方法。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。要求保护的主题的范围仅由所附的权利要求进行限定。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

相关标签:
tips