虚拟相机控制方法、装置及计算机设备与流程

文档序号:28440178发布日期:2022-01-12 02:24阅读:150来源:国知局
虚拟相机控制方法、装置及计算机设备与流程

1.本技术主要涉及计算机技术领域,更具体地说是涉及一种虚拟相机控制方法、装置及计算机设备。


背景技术:

2.人机交互(human-computer interaction)是指人与计算机之间使用某种对话语言,以一定的交互方式,为完成确定任务的人与计算机之间的信息交换过程,以用户与游戏系统之间的交互应用为例,玩家在玩如各种rrg(role playing game,角色扮演游戏)类型的游戏、卡牌类游戏等过程中,玩家可以针对显示游戏内容,以语音、动作、面部表情、触控等交互方式,控制角色执行的相应动作。
3.在实际应用中针对不同类别的游戏,目前是采用相应的相机控制方法,如针对arpg(action role playing game,动作角色扮演游戏)采用的跟随角色的相机控制方法;在剧情向游戏中采用的基于预先制作的动画文件实现的相机控制方法;在棋牌类游戏中采用的相机直线移动控制方法等,来满足相应游戏的视角需求,提高用户体验。
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.对所述目标样本曲线进行转换处理,获得目标长度函数;
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.其中,为了精准选择不同运行状态下的游戏对象所需的目标视角,进而获得该目标视角下的游戏图像,本技术提出针对不同运行状态下,预先在游戏对象运行轨迹上的相应运动阶段选定关键位置,这样,在游戏过程中,可以对这些关键位置进行信息采集,对采集到的关键位置信息进行分析,确定出如高尔夫选落点的高空视角、击球视角的相机位置和旋转信息等,根据需要还可以利用catmullrom样条曲线、欧拉积分、牛顿迭代等算法,计算出跟随过程中相机的运动轨迹,以及游戏对象的特写镜头(如玩家尝试空投进洞时,若球离洞口比较近,为了给玩家产生惊喜感,本技术可以对该过程进行特写展示)的运动轨迹等参数,以得到相应视角下高质量的游戏图像,保证所展示的游戏对象运动过程流畅、平稳、自然,不会给玩家产生突兀感和不适感,且能够实现一镜到底的长镜头展示,满足对游戏对象的整个运动轨迹进行完整规划的处理需求。
70.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
71.参照图1,为本技术提出的虚拟相机控制方法的一可选示例的流程示意图,该方法可以适用于交互应用的虚拟环境,如单一游戏对象的游戏场景等,本技术对该虚拟环境不做限制,以游戏场景为例进行说明。本技术实施例中,该方法可以由运行交互应用的终端执行,也可以由支持交互应用运行的服务器执行,也可以由该终端和该服务器相互配合执行,可以依据应用需求确定。如图1所示,该方法可以包括:
72.步骤s11,获取虚拟场景中目标虚拟对象的位置信息;
73.结合上文对本技术技术构思的相关描述,针对游戏场景(即一种虚拟场景)下的单一游戏对象(即该虚拟场景下的目标虚拟对象)的复杂运动轨迹,本技术希望可以针对游戏对象的不同运动阶段,采用相应位置的虚拟相机进行拍摄,从而得到该运动阶段适宜视角下的游戏画面,如在高尔夫球游戏的应用中,可以展示玩家击球时的击球画面、从高空视角展示击球后飞行过程、追随球运动过程画面的动态展示、球到达预设终点位置过程的特写镜头展示等,从而展示玩家的第一视角下整个击球过程,给玩家一种身临其境的玩球体验。
74.其中,对于目标虚拟对象(如高尔夫球、飞盘等竞技类游戏中的游戏对象)的每一次操作,其处于不同运动阶段(如击球(或投掷飞盘)、上升飞行、下降飞行、落地弹跳、进洞(或到达本次操作的目标区域)等),玩家对目标虚拟对象的观看视角需求可能不同,需要不断切换进行虚拟图像拍摄的虚拟相机,控制其拍摄玩家希望观看视角下虚拟图像进行展示,提高玩家的投入感,增加用户粘性。
75.因此,在本次对目标虚拟对象进行操作期间,可以获取目标虚拟对象在虚拟场景
中的位置信息,如高尔夫球游戏场景下,高尔夫球当前处于什么位置,由此表征玩家本次是否执行击球操作,若已经击球,高尔夫球飞行到什么阶段等;同理,在飞盘高尔夫游戏场景下,可以通过监测飞盘在该游戏场景下的位置信息,来确定玩家对飞盘的操作阶段、飞盘飞行阶段等。由此可见,步骤s11获取的位置信息可以表征目标虚拟对象当前所处的运动阶段,本技术对该位置信息的获取方法不做限制。
76.可以理解,对于虚拟场景中的虚拟对象及其移动过程的动态展示,可以通过渲染相邻帧虚拟图像数据,输出渲染得到的相邻帧虚拟图像实现,尤其是在虚拟对象在虚拟场景移动的情况下,渲染得到的每一帧虚拟图像中该虚拟对象的位置不同,由不同帧虚拟图像中虚拟对象的位置偏移数据,表征该虚拟对象的移动方向、移动速度等参数,实现虚拟场景下目标虚拟对象自然、流畅的运动过程的展示,本技术对该过程中虚拟图像的渲染实现方法不做详述。
77.基于此,步骤s11中获取的位置信息可以是渲染得到的每一帧虚拟图像中目标虚拟对象所在的位置,其可以结合该虚拟图像的虚拟环境信息确定;根据实际需求,尤其是在目标虚拟对象在虚拟场景中相对移动的过程中,也可以通过获取相邻若干帧虚拟图像中目标虚拟对象所在位置,结合虚拟环境信息确定当前阶段目标虚拟对象在虚拟场景中的位置信息,本技术对位置信息的内容及其获取方法不做限制。
78.步骤s12,依据该位置信息,从多个候选虚拟相机中确定出目标虚拟相机;
79.结合上文描述,在目标虚拟对象处于虚拟场景中的不同运动阶段,玩家对目标虚拟对象需要观看的视角往往不同,而固定位置的虚拟相机的拍摄视角(其可以指虚拟相机的某一固定的拍摄角度,或针对该拍摄角度的允许调整范围)往往有限,所以,为了满足对目标虚拟对象的观看视角的拍摄需求,本技术提出可以在不同位置配置多个候选虚拟相机,用来拍摄不同视角内的虚拟图像,至于这多个候选虚拟相机的位置,可以依据目标虚拟对象的运动轨迹确定,本技术对此不做限制。
80.由此可见,预先配置的不同候选虚拟相机对目标虚拟对象的拍摄位置和/或拍摄视角不同,但对各候选虚拟相机的拍摄位置和拍摄视角不做限制,可以依据场景需求进行一定范围内的调整,也可以固定不变。需要说明,这多个候选虚拟相机可以是指不同拍摄位置处的候选虚拟相机,也可以是为了区分同一虚拟相机运动至不同拍摄位置进行拍摄进行的命名,本技术对此不做限制,可视情况而定。
81.基于上述分析,本技术通过对当前获取的虚拟场景中目标虚拟对象的位置信息进行分析,确定该目标虚拟对象当前所处的运动阶段后,可以从预先配置的处于不同拍摄位置和/或不同拍摄视角内的候选虚拟相机中,确定出适用于当前运动阶段,即能够拍摄当前运动阶段下玩家希望观看的视角下的虚拟图像的候选虚拟相机,将其记为当前运动阶段的目标虚拟相机。关于目标虚拟相机的筛选确定方式本技术不做限制。
82.示例性的,对于高尔夫游戏场景,在击球阶段,可以选择位于目标虚拟对象的起点位置附近的候选虚拟相机为目标虚拟相机;在球飞行阶段,可以利用位于高空位置的候选虚拟相机,以便完整拍摄球在空中飞行的运动轨迹;在球落地弹跳阶段,可以利用第一落地点上方位置的候选虚拟相机,拍摄高尔夫的弹跳运动轨迹;在到达终点位置附近,可以利用该附近位置的候选虚拟相机,拍摄高尔夫进洞的特写镜头,使得各阶段好比是玩家亲自到高尔夫球场打高尔夫的视角感受体验。
83.由此可见,本技术预先配置的各候选虚拟相机的拍摄视角可以包括但并不局限于高空视角、发射视角、跟随视角以及特写视角等视角中的任一种或多种,可以依据场景需求进行灵活调整配置,本技术对此不做限制。
84.步骤s13,控制目标虚拟相机对目标虚拟对象进行拍摄,输出拍摄到的目标虚拟图像,且在目标虚拟图像中呈现目标虚拟对象在当前拍摄视角下目标虚拟对象的动作状态。
85.继上文描述,确定当前阶段对目标虚拟对象进行动作状态拍摄所需的目标虚拟相机后,可以通过调整目标虚拟相机的拍摄视角等方式,来控制目标虚拟相机进行图像拍摄,得到目标虚拟对象在新拍摄视角下的虚拟图像,如确定当前拍摄视角下目标虚拟对象的偏移动作姿态,将该偏移动作姿态叠加到目标虚拟对象在当前拍摄视角下的基础动作姿态上,得到当前拍摄视角下目标虚拟对象的虚拟图像,将其作为当前帧图像,显示在运行交互应用的电子设备的显示屏上。可见,上述偏移动作姿态可以表示目标虚拟对象的拍摄视角的变化,如此推进处理,可以得到相邻各帧虚拟图像中目标虚拟对象的动作姿态,多帧虚拟图像连续输出,给用户展示模板虚拟对象流畅的运动轨迹。
86.需要说明,由于在不同目标虚拟对象处于虚拟场景的不同运动阶段,用户对该目标虚拟对象的观看视角往往不同,本技术结合目标虚拟对象的运动轨迹,和/或实体运动过程中,用户对相应的实体对象的观察角度等信息,来预先配置本技术需要拍摄的若干拍摄视角,包括但并不局限于高空视角、发射视角、跟随视角以及特写视角之中的任一拍摄视角,对于不同拍摄的目标虚拟相机,可以选择其中任一拍摄视角,在其运行的调整范围内进行拍摄,实现方法本技术不做限制。
87.综上,随着目标虚拟对象的位置变化,按照本技术提出的虚拟相机控制方法可以选择相应的目标虚拟相机,控制新确定的目标虚拟相机切换到相适应的拍摄视角进行拍摄,输出拍摄到的虚拟图像,如此实现对目标虚拟对象在不同运行阶段适应拍摄视角的切换控制,满足用户对不用运动阶段的目标虚拟对象的不同视角的观看需求,相对于采用固定的虚拟相机控制方式,本技术提出的针对不同运行阶段的目标虚拟对象,采用相适宜的虚拟相机控制方式进行控制,能够更好满足具有物理运动轨迹复杂特点的虚拟场景中单一虚拟对象的复杂视角需求,提高这类交互应用给用户的代入感,提升用户粘性和游戏活跃度。
88.参照图2,为本技术提出的虚拟相机控制方法的又一可选示例的流程示意图,本实施例可以是上文描述的虚拟相机控制方法的一可选细化实现方法,但并不局限于这一细化实现方法,本技术实施例以运动竞技类游戏场景为例进行说明,如图2所示,该方法可以包括:
89.步骤s21,确定目标虚拟对象处于本次操作的起点位置,获取账号资源数据;
90.本技术实施例中,该账号资源数据能够表征对目标虚拟对象的操作能力。如在如高尔夫、飞盘高尔夫等游戏应用中,该账号资源数据可以是玩家账号所具有的装备数据等,由于不同游戏装备对游戏对象的操作能力不同,使得游戏对象飞行距离也会不同,也就是说,从同一起点位置进行发射操作,游戏对象所到达的终点位置及其运动轨迹可能不同。
91.由于在每一次操作游戏对象之前,本技术需要先选定本次操作希望游戏对象所到达的终点位置,结合上文分析,对于不同游戏玩家所能够选择的终点位置可能不同,所以,为了确定本次操作目标虚拟对象的终点位置,需要获取本次操作目标虚拟对象的起点位
置,即上一次操作目标虚拟对象后停留的位置,以及表征用户当前对目标虚拟对象的操作能力的账号资源数据。需要说明,本技术对账号资源数据的内容不做限制,如游戏场景下,玩家账户下的装备数据,或该装备数据所表示对游戏对象的操作能力数值等,可视情况而定。
92.步骤s22,依据该账号资源数据以及起点位置,获得目标虚拟对象本次操作后的终点位置;
93.继上文描述,在对虚拟场景中的目标虚拟对象的实际操作过程中,通常是在用户账号所具有的操作能力范围内,对目标虚拟对象进行操作,因此,本技术可以通过对包括但并不局限于账号资源数据,以及目标虚拟对象当前所处的起点位置进行分析,确定目标虚拟对象所能够到达的终点位置范围,之后,按照预设规定,选定该范围内的某一位置为本次操作目标虚拟对象到达的终点位置,如结合虚拟环境选择所能够移动范围内最远位置为终点位置等。
94.可以理解,在游戏场景下,可以结合游戏类型来确定每次操作的游戏对象的终点位置,如在高尔夫游戏中,玩家每次击球都希望其逐渐靠近终点洞口,但由于每次击球使高尔夫球飞行的距离以及路径等往往不同,并不能一次操作就进洞,所以,为了提高游戏成功率,可以计划每一次击球的运动轨迹及其终点位置,且该终点位置是有利于高尔夫球下一次击球操作,且更靠近最终洞口的位置。对于其他类别的游戏操作方式类似,本技术不做一一举例。
95.步骤s23,依据上述起点位置和终点位置,获得本次操作目标虚拟对象的初始虚拟相机的初始位置和初始视角;
96.步骤s24,控制位于该初始位置处的初始虚拟相机按照初始视角进行拍摄,获得初始虚拟图像,且在初始虚拟图像中展示目标虚拟对象从起点位置到终点位置的预测运动轨迹;
97.本技术实施例中,在选择每一次操作目标虚拟对象的终点位置过程中,为了使用户更加直观了解本次操作目标虚拟对象可能产生的运动轨迹,及其在整个虚拟场景中所到达的终点位置,依次确定是否满足用户对目标虚拟对象的操作规划要求,提出在本次操作目标虚拟对象移动之前,通过高空视角预览预先规划的目标虚拟对象的本次操作运动轨迹。
98.因此,按照上述方式确定本次操作目标虚拟对象的起点位置和终点位置之后,可以据此进一步预测目标虚拟对象从该起点位置到达该终点位置的运动轨迹,记为预测运动轨迹,进而结合虚拟场景中该运动轨迹所经过的虚拟环境,构建位于高空位置处的初始虚拟相机按照高空视角即初始视角,拍摄到的初始虚拟图像,通过该初始虚拟图像呈现该预测运动轨迹,供用户查看是否满足本次操作要求。
99.示例性的,参照图3所示的初始虚拟图像的场景示意图,在高尔夫游戏中,在玩家执行每一次击球操作之前,可以按照上文描述的方法,在玩家的装备所能够到的范围内,可以确定本次操作高尔夫球的落点,记为本次操作的终点位置,为了展示相对完整的起点、落点信息,可以将能够拍摄到高尔夫本次操作的整体运动轨迹的拍摄视角记为初始视角,利用基于这两个位置确定的相应的初始虚拟相机进行拍摄,得到包含高尔夫本次操作的整体运动轨迹的初始虚拟图像输出,如图3所示,玩家可以直观看到预测出的本次击球后的飞行
轨迹(如图3所示的开球区与本次落点的球轨迹线)。其中,在高尔夫游戏中,一次操作的起点位置可以是开球区,即上一杆球停的位置(对于第一杆即第一次对游戏对象进行操作,起点位置记为初始开球区)。
100.其中,为了提高初始虚拟图像的展示效果,本技术还可以要求初始虚拟图像中呈现的起点位置和终点位置与显示屏幕之间的位置关系满足初始展示条件,该初始展示条件可以包括对显示屏幕呈现初始虚拟图像中起点位置、终点位置,在整个显示区域中的位置关系的要求。仍以图3所示的初始虚拟图像为例进行说明起点位置可以位于显示屏幕的左下角,终点位置可以位于显示屏幕的右上角,且该起点位置和终点位置可以关于显示屏幕中心对称,还可以进一步设定预测运动轨迹所在区域在显示屏幕的上下方百分比位置、左右方百分比位置等,本技术对初始展示条件的内容不做限制,可视情况而定。
101.步骤s25,响应对初始虚拟图像呈现的终点位置的调整操作,更新初始虚拟图像;
102.步骤s26,响应针对目标虚拟对象的发射操作,获取虚拟场景中目标虚拟对象的位置信息;
103.继上文描述,对于初始虚拟图像中展示的目标虚拟对象的终点位置,若不满足用户本次操作要求,可以通过语音、键盘、鼠标、手势、触控等输入方式,对呈现的终点位置进行位置调整,以使计算机设备响应对对初始虚拟图像呈现的终点位置的调整操作,按照上文描述的方法,更新初始虚拟图像,即更新初始虚拟图像中呈现的终点位置,以及目标虚拟对象从起点位置到更新后的终点位置的预测运动轨迹,本技术对初始虚拟图像呈现的目标虚拟对象的终点位置的调整实现方法不做限制。
104.参照图3所示的初始虚拟图像,玩家击球之前,通过观看初始虚拟图像呈现的终点位置、虚拟环境(如地形等)等复杂信息,认为本次规划的终点位置不合适,可以采用相应的输入方式,调整高尔夫球本次击球规划的落点即终点位置,更新初始虚拟图像,呈现起点位置与新终点位置之间的球抛物线,如此调整直至满足玩家对本次击球规划的落点要求,相对于每次直接击球,不预测/规划落点位置的控制方式,本技术这种在击球之前,预先展示本次击球规划的落点及球运动轨迹的方式,提高了玩家参与感,增加了用户粘性,提高了每次击球操作的可靠性,进而提高了赢球效率和可靠性。
105.对于初始虚拟图像中呈现的目标虚拟对象的终点位置,即本次操作规划的落点位置,若满足玩家规划要求,玩家可以触发“发射”按钮,完成本次对目标虚拟对象的操作。
106.步骤s27,依据该位置信息确定目标虚拟对象在本次操作的起点位置与终点位置之间的当前运动阶段;
107.步骤s28,从多个候选虚拟相机中,筛选当前运动阶段对应的候选虚拟相机为目标虚拟相机;
108.步骤s29,控制目标虚拟相机对目标虚拟对象进行拍摄,输出拍摄到的目标虚拟图像,且在目标虚拟图像中呈现目标虚拟对象在当前拍摄视角下目标虚拟对象的动作状态。
109.结合上文实施例相应部分的描述,在用户对目标虚拟对象进行发射操作,如对高尔夫球进行击球后,为了能够获取目标虚拟对象进入不同运动阶段下,相适宜的观看视角下的虚拟图像,可以实时检测目标虚拟对象在虚拟场景下的位置信息,即构建的各帧虚拟图像中目标虚拟对象的位置、动作姿态等,以此确定目标虚拟对象在本次操作预先规划的预测运动轨迹中的运动阶段,如起始阶段、上升阶段、下降阶段、结束阶段等,实现过程本申
请不做限制,可以结合构建各帧虚拟图像的图像数据确定等。
110.由于不同运动阶段进行虚拟图像拍摄所使用的目标虚拟相机往往不同,在确定当前目标虚拟对象所处运动阶段后,可以据此确定出能够拍摄当前运动阶段下,用户对目标虚拟对象的观看视角下的虚拟图像的候选虚拟相机为目标虚拟相机,即与当前运动阶段对应的候选虚拟相机为目标虚拟相机,本技术对目标虚拟对象处于不同运动阶段所对应的候选虚拟相机的配置实现方法不做限制,其通常可以包括候选虚拟相机的拍摄位置、拍摄视角等信息的配置。
111.可以理解,随着目标虚拟对象的位置信息的变化,其在整个预测运动轨迹中的运动阶段会相应改变,计算机设备可以据此及时调整机位,即重新选择相适应的目标虚拟相机,实现拍摄视角的动态调整,满足用户对目标虚拟对象处于不同运动阶段下的复杂视角观看需求。
112.参照图4,为本技术提出的虚拟相机控制方法的又一可选示例的流程示意图,本实施例可以是上文描述的虚拟相机控制方法的又一可选细化实现方法,本实施例可以对用户对目标虚拟对象进行发射操作后,如何选择并控制不同运动阶段对应的目标虚拟相机,拍摄相应视角下的虚拟相机的实现过程进行描述,但并不局限于本实施例描述的这种实现方法。关于对目标虚拟对象进行发射操作之前的控制过程,可以参照但并不局限于上文实施例相应部分的描述,本实施例不做赘述。如图4所示,该方法可以包括:
113.步骤s31,获取虚拟场景中目标虚拟对象的位置信息;
114.步骤s32,依据该位置信息确定目标虚拟对象处于起始阶段,从候选虚拟相机中,筛选第一候选虚拟相机确定为目标虚拟相机;
115.结合上述分析,在用户对目标虚拟对象进行发射操作,如对高尔夫球进行击球时,为了给用户展示当前选中的目标虚拟对象,以及提供对目标虚拟对象的相同操作能力(如对高尔夫球的相同击球下拉力度)的发射界面,可以在用户每一次操作目标虚拟对象时,给用户展示相应的发射视角下的虚拟图像。
116.因此,为了获取目标虚拟对象在发射视角下的虚拟图像,本技术实施例选择的第一候选虚拟相机可以是指用于拍摄所述起点位置朝向终点位置视线方向(即发射视角)上的虚拟图像的候选虚拟相机,且第一候选虚拟相机的第一拍摄位置和第一拍摄视角可以基于目标虚拟对象在显示屏幕中的特定位置计算得到,计算方法本技术不做限制。
117.步骤s33,控制第一候选虚拟相机按照第一拍摄视角进行拍摄,获得目标虚拟对象从起点位置朝向目标位置视线方向上的目标虚拟图像;
118.步骤s34,输出该目标虚拟图像,且在目标虚拟图像上的特定位置处呈现本次操作的目标虚拟对象;
119.仍以高尔夫游戏场景为例进行说明,在玩家选定本次操作的目标虚拟对象(即高尔夫球)及其终点位置,触控发射按钮后,可以先展示玩家击球视角下高尔夫球的虚拟图像,即从高尔夫球的起点位置朝向球洞位置方向观看到的虚拟图像,如图5所示的发射视角下的目标虚拟图像示意图,但并不局限于此。
120.为了使呈现的该虚拟图像与用户在真实高尔夫球场进行击球时,击球视角下看到的画面相近,可以预先确定击球视角下的目标虚拟图像中呈现的目标虚拟对象的特定位置,通过逆向分析确定能够拍摄到该目标虚拟图像的目标虚拟相机(即第一候选虚拟相机)
的第一拍摄位置和第一拍摄视角(即第一候选虚拟相机的旋转信息),分析过程本技术不做详述。
121.步骤s35,获取目标虚拟对象从起点位置朝向终点位置运动过程中,目标虚拟对象的实时运动信息;
122.其中,该实时运动信息可以包括但并不局限于目标虚拟对象的移动位置,以及移动至相应运动阶段中关键位置处的移动速度、移动方向、移动时间等一个或多个,可以依据相应运动阶段确定目标虚拟相机的应用需求确定实时运动信息包含的内容,本技术对不同运动阶段所获取的实时运动信息的内容不做限制。
123.步骤s36,依据实时运动信息,获得目标虚拟对象所处运动阶段对应的目标虚拟相机的目标拍摄视角;
124.步骤s37,控制目标虚拟相机按照目标拍摄视角进行拍摄,输出拍摄到的目标虚拟图像。
125.可以理解,在目标虚拟对象发射后,可以按照预测运动轨迹移动,即获得的相邻帧虚拟图像中目标虚拟对象的偏移动作状态可以基于预测运动轨迹确定,在不同运动阶段可以切换选择相应的候选虚拟相机为目标虚拟相机,按照该运动阶段所需拍摄视角进行拍摄,得到呈现目标虚拟对象在该运动阶段用户希望观看的动作状态的目标虚拟图像。
126.因此,本技术可以通过监控目标虚拟对象的实时运动信息,确定目标虚拟对象所处运动阶段,获得该运动阶段对应的目标虚拟相机的目标拍摄角度,实现对目标虚拟对象运动过程中的追踪检测,保证在特定机位可以及时切换控制相应的目标虚拟相机进行拍摄。
127.关于不同运动阶段对应的目标虚拟相机的确定方法本技术不做限制,在一些实施例中,按照上述分析,确定目标虚拟对象处于本次操作的运动轨迹的上升阶段,可以从多个候选虚拟相机中,筛选第二候选虚拟相机为目标虚拟相机;其中,该第二候选虚拟相机可以是指位于上升阶段的顶峰位置的第一空间范围内的候选虚拟相机,本技术对第二候选虚拟相机所处机位确定方法不做限制,第一空间范围可以依据实际视角需求确定。
128.示例性的,仍以高尔夫游戏场景为例进行说明,为了使得用户观看到球在高空飞行过程中的运动轨迹,可以将第二候选虚拟相机的机位(即拍摄位置)确定在本次击球后,高尔夫球上升飞行到高峰顶点位置(即顶峰位置)附近某空间位置,如顶峰位置前/后的上方左/右侧位置为第二拍摄位置,这样,在高尔夫球飞行过程中,可以通过调整第二候选虚拟相机的第二拍摄视角,即旋转第二候选虚拟相机的拍摄镜头,拍摄下高尔夫球从起点位置飞行过程,直至经过该第二候选虚拟相机的完整飞行过程。
129.为了准确展示玩家对选定的目标高尔夫击球操作后,高尔夫球上升飞行至顶峰位置的完整运动轨迹,在该过程中,可以获取上升阶段高尔夫球的移动方向、到达顶峰位置处的实际位置、移动速度及发生的移动时间等实时运动信息,从而据此获得上升阶段各帧虚拟图像中目标虚拟对象的动作姿态、位置等,实现过程本技术不做详述。
130.随着目标虚拟对象的连续运动,确定其经过顶峰位置后,将进入整个运动轨迹的下降阶段,这种情况下,为了拍摄到下降阶段目标虚拟对象的运动轨迹,尤其是存在的弹跳运动轨迹,可以重新选择拍摄视角,由相应机位的虚拟相机进行拍摄,输出呈现相应运行轨迹的目标虚拟相机。基于此,在该下降阶段,计算机设备可以从多个候选虚拟相机中,筛选
第三候选虚拟相机为目标虚拟相机。此时,该第三候选虚拟相机可以是指位于下降阶段的第一落地点位置的第二空间范围内的候选虚拟相机,本技术对该第二空间范围不做限制,可视情况而定。
131.可选的,在目标虚拟对象结束上述上升阶段(即从起点位置开始的第一个上升阶段,区别于弹跳阶段中弹起上升过程)开始进入下落阶段,第一个落地点是非常关键的,所以,本技术可以在确定第三候选虚拟相机的第三拍摄位置时,可以基于第一落地点位置确定,如第一落地点前/或上方的左/右侧位置,以保证拍摄到目标虚拟对象下降阶段的整个下降运动轨迹,包括弹跳运动轨迹。
132.可以理解,为了使得第三虚拟相机拍摄到第一落地位置之前的下降运动轨迹,及其之后的弹跳运动轨迹,可以通过调整第三虚拟相机的第三拍摄视角实现,也可以使得第三拍摄视角能够包含整个下降运动轨迹,本技术对目标虚拟对象如何控制第三候选虚拟相机进行拍摄的实现过程不做限制。
133.其中,为了保证输出的虚拟图像呈现下降运动轨迹的准确性,本技术需要获取的实时运动信息可以包括但并不局限于目标虚拟对象下落段的移动方向;下落到碰到端的移动方向、各碰到点的位置、时间以及每一次碰到弹起或滚动的方向等物理信息。
134.示例性的,仍以高尔夫游戏场景为例进行说明,在高尔夫球飞行到顶峰位置开始下降后,通过第三候选虚拟相机可以跟随拍摄高尔夫下降过程的运动轨迹,如图6所示的未落地之前的下降运动轨迹,但并不局限于图6所示拍摄视角和下降运动轨迹。在高尔夫球下降落地后,通常会经过一段距离的弹跳或滚动阶段,可以控制第三候选虚拟相机改变拍摄视角,获得该阶段的运动轨迹,如图7所示的弹跳运动轨迹,但并不局限于此。
135.可以理解,对于其他游戏,如飞盘高尔夫游戏,由于玩家对飞盘的发射方式不同,且受飞盘运动特点约束,其运动轨迹与高尔夫球的运动轨迹也会有所差异,但对其执行的虚拟相机控制方法的实现过程类似,本技术不做详述。
136.继上文描述,在目标虚拟对象经过下降阶段的弹跳过程,目标虚拟对象的弹跳幅度会逐渐衰减,变为轻微弹跳或滚动状态,目标虚拟对象的运动速度已经衰减到很小,无法运动到较远位置,所以,在目标虚拟对象后续运动过程中可以对其进行跟随拍摄,获得跟随视角下包含目标虚拟对象的动作状态的虚拟图像。因此,本技术可以依据目标虚拟对象的运动方式,如直线弹跳、折线弹跳、直线滚动、环绕滚动,采用时间离散方式对目标虚拟对象的移动位置进行采集,并记录相应移动位置下的移动速度等实时运动信息,据此实现虚拟图像的渲染处理,实现过程本技术不做详述。
137.在又一些实施例中,本技术针对目标虚拟对象在整个运动过程中的关键阶段,如逐渐靠近目标位置(如高尔夫球的球洞等)附近,为了给用户产生紧张感和惊喜感,可以采用特写镜头的拍摄方式,获取该运动阶段的特写视角下的虚拟图像。
138.因此,在对目标虚拟对象运行过程进行跟随拍摄过程中,确定目标虚拟对象处于靠近目标对象的最后一次操作产生的运动轨迹的结束阶段,如进入目标位置的第三空间范围(其数值本技术不做限制,可视情况而定),可以从多个候选虚拟相机中,筛选第四候选虚拟相机为目标虚拟相机。在这种情况下,该第四候选虚拟相机可以是指用于拍摄目标虚拟对象从目标位置(如高尔夫球的洞口位置等)的第三空间范围运动至目标位置过程的特写视角下的虚拟图像的候选虚拟相机。
139.示例性的,在高尔夫球游戏场景下,参照图8所示的特写视角下的虚拟图像示意图,按照上文描述的方式,对高尔夫进行多次操作后,高尔夫球落点位置逐渐靠近目标位置即球洞,在到达球洞附近位置时,可以拉近第四候选虚拟相机的拍摄视角,并将目标虚拟对象在该结束阶段的运动过程慢放至指定时间,使得输出的目标虚拟图像中目标虚拟对象逐渐放大,且运动速度逐渐变小,营造进球的紧迫感和惊喜感,增加玩家的游戏投入感。
140.需要说明,本技术对目标虚拟对象到达目标位置过程的特写视角下的虚拟图像的拍摄实现方法不做限制;根据应用需求,也可以在虚拟场景中特定位置处目标虚拟对象的运动过程进行特写拍摄,包括但并不局限于上文描述的目标位置。
141.参照图9,为本技术提出的虚拟相机控制方法的又一可选示例的流程示意图,本实施例可以是上文描述的虚拟相机控制方法的又一可选细化实现方法,本实施例可以对上文描述的每次操作目标虚拟对象之前,选择本次操作的终点位置展示本次操作目标虚拟对象规划的预测运动轨迹的实现过程进行描述,但并不局限于本实施例描述的这种实现方法。结合上文图3所示的初始虚拟图像的场景示意图,如图9所示,该方法可以包括:
142.步骤s41,获得本次操作目标虚拟对象的起点位置与终点位置;
143.关于每一次操作目标虚拟对象的起点位置,以及选定的终点位置即本次操作的落点位置,可以参照上文实施例相应部分的描述,本实施例不做赘述。
144.步骤s42,依据该起点位置与终点位置之间的连接线中点位置,以及初始虚拟相机的视角平分线,确定初始虚拟相机的初始位置;
145.本技术实施例中,如图3所示,本技术可以将每一次操作之前规划的目标虚拟对象的终点位置,以及当前所处的起点位置能够呈现在显示屏幕的中间区域,如使得该起点位置和终点位置可以在显示屏幕中垂线实现对称,从而使依据初始虚拟相机的视角平分线,与本次规划的目标虚拟对象的起落点连接线中点位置之间的关系,来初步确定初始虚拟相机的初始位置,实现过程本技术不做详述,但并不局限于这种初始位置。
146.步骤s43,依据该起点位置与终点位置之间的连接线长度,以及显示屏幕的显示尺寸,确定初始虚拟相机与虚拟场景中地平面的距离;
147.步骤s44,依据起点位置与终点位置之间的连接线在显示屏幕中的倾斜角度,确定初始虚拟相机的初始角度;
148.步骤s45,控制在初始虚拟相机按照初始视角进行拍摄,获得初始虚拟图像,且在初始虚拟图像中展示目标虚拟对象从起点位置到终点位置的预测运动轨迹。
149.结合上文实施例对图3所示的初始虚拟图像的相关描述,本技术实施例可以让每一次操作目标虚拟对象的起点正好落在显示屏幕左下角位置显示,所规划的落点正好落在显示屏幕右上角位置显示,且起落点的显示位置可以关于显示屏幕的中心位置中心对称。另外,还可以使得显示屏幕上呈现的起点位置和落点位置,各自距离显示屏幕的相应的下方或上方显示边缘的百分比(相对于显示屏幕的垂直方向的显示长度)相同,同理距离显示屏幕的左侧显示边缘或右侧显示边缘的百分比(相对于显示屏幕的水平方向的显示长度)相同,但并不局限于这种初始展示条件,可以依据场景需求进行灵活调整,本技术不做一一举例。
150.参照图10,为本技术提出的虚拟相机控制方法的又一可选示例的流程示意图,本实施例可以是上文描述的虚拟相机控制方法的又一可选细化实现方法,如对上文描述的不
同运动阶段的候选虚拟相机的拍摄位置及拍摄视角的获取过程进行细化描述,但并不局限于本实施例描述的这种细化实现方法,如图10所示,该方法可以包括:
151.步骤s51,依据目标虚拟对象的实时运动信息,确定目标虚拟对象处于下降阶段,选定第三候选虚拟相机为目标虚拟相机;
152.步骤s52,依据显示屏幕的中垂线位置,维持目标虚拟相机的拍摄位置不变,且动态调整目标虚拟相机的目标拍摄视角对目标虚拟对象进行拍摄,以约束目标虚拟对象位于目标虚拟相机的拍摄范围内;
153.步骤s53,输出拍摄到的呈现目标虚拟对象下降动作状态的目标虚拟图像;
154.结合上文实施例的描述,对于落点机位即第三候选虚拟相机,可以采用拍摄位置不变,改变拍摄视角(即旋转第三候选虚拟相机)的方式进行拍摄,满足用户静止观看目标虚拟对象运动的观看需求,实现方法包括但并不局限于本实施例描述的实现方式。
155.步骤s54,依据获取的目标虚拟对象的实时运动信息,确定目标虚拟对象进入结束阶段,维持目标虚拟相机与目标虚拟对象之间的相对偏移方向不变,调整目标虚拟相机的目标拍摄视角,以缩短目标虚拟相机与目标虚拟对象之间的距离;
156.步骤s55,输出跟随视角下拍摄到的目标虚拟图像,以呈现目标虚拟对象靠近终点位置运动轨迹;
157.继上文描述,对于下降阶段进行静止观看后,需要对目标虚拟对象后续运动阶段进行跟随拍摄,依据此时目标虚拟相机与目标虚拟对象之间的初始偏移量即相对偏移向量,维持该相对偏移向量的方向不变,随着目标虚拟对象运动时间增加,采用如插值等方式,逐渐缩短目标虚拟相机与目标虚拟对象之间的拍摄距离,获得跟随视角下的目标虚拟图像。
158.在一些实施例中,对于如高尔夫等球类游戏,对于预先规划的不同拍摄位置处的候选虚拟相机,往往不会采用catmullrom样条曲线规划,在击球后高尔夫球飞行过程中,可以获取高尔夫球的实时运动信息,如采集飞行段的落点位置、滚动段的特征位置点、移动时间以及相应关键位置处高尔夫球的移动速度等信息,通过对其中关键控制节点(如落点位置、特征位置点等,可以依据实际情况预先规划)的信息进行转换计算,得到候选虚拟相机切换机位的特征位置,即切换候选虚拟相机的切换位置。
159.这样,通过监控目标虚拟对象在虚拟场景中的实时运动信息,据此确定是否满足下一机位的切换条件,如目标虚拟对象移动到特定位置等,本技术对该切换条件的内容不做限制,可视情况而定,从而在满足切换条件,及时切换到下一机位的候选虚拟相机,按照其预先配置的拍摄视角进行拍摄。其中,对于任一机位的拍摄视角,可以通过目标虚拟对象所处的位置,以及目标虚拟对象在显示屏幕中的显示区间范围计算得到,计算方法本技术不做限制。
160.在高尔夫球落地后,目标虚拟相机跟随拍摄高尔夫球运动,逐渐靠近高尔夫球,按照上文描述的方法,控制目标虚拟相机与高尔夫球的偏移量平滑缩短,达到一定阈值后,维持该偏移量不变继续进行跟随拍摄。
161.步骤s56,确定目标虚拟对象进入目标位置的第三空间范围,通过线性插值方式,调整目标虚拟相机的拍摄视角、目标虚拟相机与目标虚拟对象之间的拍摄距离,以及目标虚拟相机的移动速度;步骤s57,输出特写视角下拍摄到的目标虚拟图像,以呈现目标虚拟
对象靠近目标位置的动作状态。
162.在目标虚拟对象继续在虚拟场景下运动,进入目标位置的第三空间范围,可以跟随拍摄特写视角下目标虚拟对象的动作状态,实现过程可以参照上文实施例相应部分的描述,本技术实施例不做赘述。
163.在本技术实施例实际应用中,目标虚拟对象进入目标位置的第三空间范围,可以依据获取到的目标虚拟对象在该第三空间范围内的实时运动信息,计算出目标虚拟相机对目标虚拟对象的目标跟随拍摄速度和目标跟随拍摄距离,即适合该运动阶段的跟随速度和距离,之后可以按照步骤s56描述的方式进行处理,直至将目标虚拟相机相对于目标虚拟对象的当前移动速度和拍摄距离,缓慢调整过渡至上述合适的跟随速度和距离,保证输出各帧虚拟图像自然、流畅。
164.在本技术提出的又一些实施例中,在虚拟相机控制过程中,在进入目标位置的第三空间范围后,可以先判断是否需要触发特写镜头,可以依据当前目标虚拟对象的实时运动信息、目标虚拟对象与目标位置之间的虚拟环境、距离等数据,预测目标虚拟对象在本次操作中到达目标位置的概率,如高尔夫球进洞概率,若概率大于概率阈值,可以出发特写镜头,按照上文描述获取特写视角下的目标虚拟图像。
165.反之,若预测得到的概率小于概率阈值,认为目标虚拟对象本次操作中无法到达目标位置,不触发特写镜头;或者进一步依据目标虚拟对象本次操作的起点位置是否位于目标位置的第四空间范围内,如高尔夫球本次击球的起点是否在果岭上或者果岭外距离球洞一定距离范围内,且目标虚拟对象当前是否进入目标位置的第五空间范围,该第五空间范围小于第三空间范围,更靠近目标位置,若检测结果都为是,仍可以触发特写镜头;反之,再确定不触发特写镜头。本技术对是否触发特写镜头的检测条件内容不做限制,包括但并不局限于上文描述的方法。
166.其中,目标虚拟对象当前进入目标位置的第五空间范围,可以通过监测目标虚拟对象在xy平面内的x方向上,目标虚拟对象与目标位置的距离在第一阈值范围内,且y方向上目标虚拟对象与目标位置的高度差在第二阈值范围内,但并不局限于此。
167.可选的,为了更加细化展示目标虚拟对象到达或几乎到达目标位置的运动过程,特写机位即上述第四候选虚拟相机的拍摄位置可以是目标位置的最近位置前一段距离外的侧面,即目标虚拟对象所处位置与目标位置之间连接线左/右侧,且位于目标位置的第三空间范围内。
168.在一种可能的实现方式中,获取目标虚拟对象在到达目标位置的第三空间范围之前的第一个数帧(如2~4帧,可以依据目标虚拟对象的移动速度确定)虚拟图像中,目标虚拟对象的位置和速度方向,获得该速度方向的垂直方向上远离目标位置的一侧的预设距离的开始位置和结束位置,实现该特写镜头的开始到结束的拍摄,且从开始位置采用线性插值方式,缩短目标虚拟相机与目标虚拟对象之间的拍摄距离直至到达结束位置。
169.其中,在拍摄距离逐渐拉近过程中,可以将输出的目标虚拟图像中目标虚拟对象的滚动时间慢放到指定时间(如2s),通过滚动所需时间和指定时间的倍数关系,计算时间缩放系数timescale,进而据此减小目标虚拟相机的移动速度,实现慢速播放和虚拟相机拉近,实现过程本技术不做详述。
170.在本技术提出的又一些实施例中,对于飞盘等类型的游戏,在对目标虚拟对象进
行跟随拍摄过程中,可以依据目标虚拟对象的实时运动信息,采用样条曲线分析方式,获得目标虚拟相机的实时运动轨迹,确定目标虚拟相机按照实时运动轨迹对目标虚拟对象进行跟随拍摄的目标拍摄视角,输出跟随视角下的目标虚拟图像。实现过程可以参照但并不局限于图11所示的流程示意图,该方法可以包括:
171.步骤s61,依据目标虚拟对象的实时运动信息,确定目标虚拟相机的跟随拍摄轨迹中的关键控制节点;
172.关于步骤s61的实现过程可以参照上文实施例相应部分的描述。
173.步骤s62,依据确定的关键控制节点,构建目标样本曲线;
174.区别于适用于高尔夫球游戏的虚拟相机控制方法,本技术实施例可以catmullrom样条曲线方式,实现虚拟相机的控制。可选的,可以依据关键控制节点,确定样条曲线段数,从而据此计算得到目标样本曲线,如catmullrom样条曲线,使得构成该目标样本曲线的各段样条曲线光滑连接,实现方法不做限制。
175.可选的,在本技术实施例中,上文获取的关键位置信息可以作为二阶贝塞尔曲线的控制点,由三个控制点构成一个样条曲线段,为了保证多段贝塞尔曲线的连接处光滑,可以要求连接处的切线方向保持一致,将得到的贝塞尔曲线简化处理为catmullrom样条曲线,但并不局限于这种获取方式。
176.步骤s63,对目标样本曲线进行转换处理,获得目标长度函数;
177.对于上文得到的如catmullrom样条曲线,可以采用欧拉线积分和牛顿迭代法等转换处理方式,将该目标样条曲线中关于样条曲线比例参数t转化为关于线段长度1的函数,记为目标长度函数。
178.步骤s64,依据关键控制节点处目标虚拟对象的移动速度,以及目标长度函数,获得目标虚拟相机对目标虚拟对象进行跟随拍摄的速度函数;
179.步骤s65,依据速度函数以及跟随拍摄时长,获得标虚拟相机对目标虚拟对象进行跟随拍摄的实时运动轨迹。
180.本技术实施例中,在得到长度函数后,可以根据目标虚拟对象在关键位置处的移动速度,结合该长度函数的导数,获得目标虚拟相机跟随拍摄的运动轨迹的速度函数,即跟随拍摄过程中目标虚拟对象的运动轨迹的速度函数,本技术对该速度函数的表示方式及其获取方法不做限制。之后,在跟随拍摄过程中,可以依据获取的跟随拍摄时长,利用该速度函数,获取标虚拟相机对目标虚拟对象进行跟随拍摄的实时运动轨迹,即得到目标虚拟对象在跟随拍摄过程中的运动轨迹,以使输出的目标虚拟图像中呈现该运动轨迹。
181.参照图12,为本技术提出的虚拟相机控制装置的一可选示例的结构示意图,该装置可以包括:
182.位置信息获取模块11,用于获取虚拟场景中目标虚拟对象的位置信息;
183.目标虚拟相机确定模块12,用于依据所述位置信息,从多个候选虚拟相机中确定出目标虚拟相机;其中,不同所述候选虚拟相机对所述目标虚拟对象的拍摄位置和/或拍摄视角不同,且所述拍摄视角包括高空视角、发射视角、跟随视角以及特写视角之中的任一种或多种;
184.拍摄控制模块13,用于控制所述目标虚拟相机对所述目标虚拟对象进行拍摄,输出拍摄到的目标虚拟图像,且在所述目标虚拟图像中呈现所述目标虚拟对象在当前拍摄视
角下的动作状态。
185.可选的,目标虚拟相机确定模块12可以包括:
186.运动阶段确定单元,用于依据所述位置信息,确定所述目标虚拟对象在本次操作的起点位置与终点位置之间的当前运动阶段;
187.目标虚拟相机筛选单元,用于从多个候选虚拟相机中,筛选与所述当前运动阶段对应的候选虚拟相机为目标虚拟相机。
188.在一些实施例中,上述装置还可以包括:
189.账号资源数据获取模块,用于确定所述目标虚拟对象处于本次操作的起点位置,获取账号资源数据;其中,所述账号资源数据能够表征对所述目标虚拟对象的操作能力;
190.终点位置获得模块,用于依据所述账号资源数据以及所述起点位置,获得所述目标虚拟对象本次操作后的终点位置。
191.初始信息获得模块,用于依据所述起点位置和所述终点位置,获得本次操作所述目标虚拟对象的初始虚拟相机的初始位置和初始视角;
192.初始虚拟图像获得模块,用于控制在所述初始虚拟相机按照所述初始视角进行拍摄,获得初始虚拟图像,且在所述初始虚拟图像中展示所述目标虚拟对象从所述起点位置到所述终点位置的预测运动轨迹;其中,所述初始虚拟图像中呈现的所述起点位置和所述终点位置与显示屏幕之间的位置关系满足初始展示条件;
193.初始虚拟图像更新模块,用于响应对所述初始虚拟图像呈现的所述终点位置的调整操作,更新所述初始虚拟图像;
194.发射响应模块,用于响应针对所述目标虚拟对象的发射操作,触发位置信息获取模块11获取虚拟场景中目标虚拟对象的位置信息。
195.在又一些实施例中,若目标虚拟对象在本次操作的起点位置与终点位置之间的运动阶段依次包括:起始阶段、上升阶段、下降阶段、结束阶段,上述目标虚拟相机筛选单元可以包括:
196.第一确定单元,用于在当前运动阶段为所述起始阶段的情况下,从多个候选虚拟相机中,筛选第一候选虚拟相机确定为目标虚拟相机;所述第一候选虚拟相机是指用于拍摄所述起点位置朝向所述终点位置视线方向上的虚拟图像的候选虚拟相机,且所述第一候选虚拟相机的第一拍摄位置和第一拍摄视角基于所述目标虚拟对象在显示屏幕中的特定位置计算得到;
197.第二确定单元,用于在当前运动阶段为所述上升阶段的情况下,从多个候选虚拟相机中,筛选第二候选虚拟相机为目标虚拟相机;所述第二候选虚拟相机是指位于所述上升阶段的顶峰位置的第一空间范围内的候选虚拟相机;
198.第三确定单元,用于在当前运动阶段为所述下降阶段的情况下,从多个候选虚拟相机中,筛选第三候选虚拟相机为目标虚拟相机;所述第三候选虚拟相机是指位于所述下降阶段的第一落地点位置的第二空间范围内的候选虚拟相机;
199.第四确定单元,用于在当前运动阶段为所述结束阶段的情况下,且所述目标虚拟对象进入目标位置的第三空间范围内,从多个候选虚拟相机中,筛选第四候选虚拟相机为目标虚拟相机;所述第四候选虚拟相机是指用于拍摄所述目标虚拟对象从进入所述目标位置的第三空间范围运动至所述目标位置过程的特写视角下的虚拟图像的候选虚拟相机。
200.可选的,上述拍摄控制模块13可以包括:
201.第一控制单元,用于控制所述第一候选虚拟相机按照所述第一拍摄视角进行拍摄,获得所述目标虚拟对象从所述起点位置朝向目标位置视线方向上的目标虚拟图像;
202.第一输出单元,用于输出所述目标虚拟图像,且在所述目标虚拟图像上的所述特定位置处呈现本次操作的所述目标虚拟对象;
203.实时运动信息获取单元,用于获取所述目标虚拟对象从所述起点位置朝向所述终点位置运动过程中所述目标虚拟对象的实时运动信息;所述实时运动信息包括所述目标虚拟对象的移动位置,以及移动至相应运动阶段中关键位置处的移动速度、移动方向、移动时间之中的一个或多个;
204.目标拍摄视角获得单元,用于依据所述实时运动信息,获得所处运动阶段对应的目标虚拟相机的目标拍摄视角;
205.第二控制单元,用于控制所述目标虚拟相机按照所述目标拍摄视角进行拍摄。
206.可选的,目标拍摄视角获得单元可以包括至少一个处理单元:
207.第一处理单元,用于依据所述实时运动信息以及显示屏幕的中垂线位置,维持所述目标虚拟相机的拍摄位置不变,且动态调整所述目标虚拟相机的目标拍摄视角,以约束所述目标虚拟对象位于所述目标虚拟相机的拍摄范围内;
208.第二处理单元,用于依据所述实时运动信息,维持所述目标虚拟相机与所述目标虚拟对象之间的相对偏移方向不变,调整所述目标虚拟相机的目标拍摄视角,以缩短所述目标虚拟相机与所述目标虚拟对象之间的距离;
209.第三处理单元,用于依据所述实时运动信息,采用样条曲线分析方式,获得所述目标虚拟相机的实时运动轨迹,确定所述目标虚拟相机按照所述实时运动轨迹对所述目标虚拟对象进行跟随拍摄的目标拍摄视角;
210.跟随拍摄信息获得单元,用于依据所述目标虚拟对象在所述目标位置的第三空间范围内的实时运动信息,获得所述目标虚拟相机对所述目标虚拟对象的目标跟随拍摄速度和目标跟随拍摄距离;
211.第四处理单元,用于通过线性插值方式,调整所述目标虚拟相机的拍摄视角、所述目标虚拟相机与所述目标虚拟对象之间的距离,以及所述目标虚拟相机的移动速度。
212.可选的,该第三处理单元可以包括:
213.关键控制节点确定单元,用于依据所述实时运动信息,确定目标虚拟相机的跟随拍摄轨迹中的关键控制节点;
214.目标样本曲线构建单元,用于依据确定的所述关键控制节点,构建目标样本曲线;其中,所述目标样本曲线包含的样条曲线段数基于所述关键控制节点确定;
215.目标长度函数获得单元,用于对所述目标样本曲线进行转换处理,获得目标长度函数;
216.速度函数获得单元,用于依据所述关键控制节点处目标虚拟对象的移动速度,以及所述目标长度函数,获得所述目标虚拟相机对所述目标虚拟对象进行跟随拍摄的速度函数;
217.运动轨迹获得单元,用于依据所述速度函数以及跟随拍摄时长,获得所述目标虚拟相机对所述目标虚拟对象进行跟随拍摄的实时运动轨迹。
218.需要说明的是,关于上述各装置实施例中的各种模块、单元等,均可以作为程序模块存储在存储器中,由处理器执行存储在存储器中的上述程序模块,以实现相应的功能,关于各程序模块及其组合所实现的功能,以及达到的技术效果,可以参照上述方法实施例相应部分的描述,本实施例不再赘述。
219.本技术还提供了一种存储介质,其上可以存储计算机程序,该计算机程序可以被处理器调用并加载,以实现上述实施例描述的虚拟相机控制方法的各个步骤。
220.参照图13,为适用于本技术提出的虚拟相机控制方法的计算机设备的一可选示例的硬件结构示意图,该计算机设备可以是终端或服务器,该终端可以是能够运行竞技运动类游戏交互应用的智能手机、平板电脑、增强现实技术(augmented reality,ar)设备、虚拟现实(virtual reality,vr)设备、台式计算机等电子设备。服务器可以是提供交互应用的服务的服务设备,如相应游戏的游戏服务器等,其可以是独立的物理服务器,也可以是多台物理服务器构成的服务器集群;也可以是能够实现云计算服务的云服务器,其可以通过有线通信网络或无线通信网络实现与终端的数据通信,满足应用需求。
221.如图13所示,本技术实施例提出的计算机设备可以包括:通信接口21、存储器22和处理器23,其中:
222.通信接口21、存储器22和处理器23各自数量可以是至少一个,可以通过通信总线彼此相连,本技术对计算机设备内部部件之间的连接实现方式不做限制,可视情况而定
223.通信接口21可以为通信模块的接口,如gsm模块的接口,可以实现与其他设备的数据交互,还可以包括如usb接口、串/并口等接口,用于实现计算机设备内部组成部件之间的数据交互,可以根据该计算机设备的产品类型确定,本技术不做一一详述。
224.存储器22可以用于存储实现本技术提出的虚拟相机控制方法的程序,处理器23可以用于加载执行该存储器22中存储的程序,以实现本技术任一可选实施例提出的虚拟相机控制方法的各个步骤,具体实现过程可以参照上文相应实施例相应部分的描述,不做赘述。
225.在本技术实施例中,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。处理器23,可以为中央处理器(centralprocessing unit,cpu)、特定应用集成电路(application-specific integrated circuit,asic)、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件等。
226.应该理解的是,图13所示的计算机设备的结构并不构成对本技术实施例中计算机设备的限定,在实际应用中,计算机设备可以包括比图13所示的更多的部件,或者组合某些部件。如图14所示,在计算机设备为终端的情况下,计算机设备还可以包括如摄像头、拾音器等至少一个输入设备;如显示器、扬声器等至少一个输出设备;各种传感器组成的传感器模组;电源管理模组;天线等,本技术在此不做一一列举。
227.结合上文实施例的描述,在游戏场景(如高尔夫球游戏、飞盘高尔夫游戏等)下,参照图15所示的适用于本技术提出的虚拟相机控制方法的游戏场景的一可选系统架构示意图,用户使用任一终端运行相应游戏过程中,以高尔夫球游戏为例进行说明,在用户(即玩家)每一次击球操作,以及击球后对高尔夫球运动过程的拍摄,直至高尔夫球进洞的拍摄过程,结合上文相应实施例描述,本技术可以拖动风环选择本次击球高尔夫的落点,并采用高空视角展示本次击球规划的高尔夫球运动轨迹;在击球时可以拍摄下拉球时的近距离视角
下的游戏画面、击球后播放完整的球体运动轨迹的跟随视角、特写视角拍摄到的游戏画面,给用户一种身临其境的体验感,增强了用户粘性,且这种一镜到底的长镜头切换拍摄控制方式,使用户可以规划整个运动轨迹,提高了玩家参与感,减少了无效击球次数,增加游戏成功率。
228.最后,需要说明的是,关于上述各实施例中,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
229.其中,在本技术实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,在本技术实施例的描述中,“多个”是指两个或多于两个。
230.本技术涉及到的术语诸如“第一”、“第二”等仅用于描述目的,用来将一个操作、单元或模块与另一个操作、单元或模块区分开来,而不一定要求或者暗示这些单元、操作或模块之间存在任何这种实际的关系或者顺序。且不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量,由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
231.另外,本说明书中各个实施例采用递进或并列的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、计算机设备、系统而言,由于其与实施例公开的方法对应,所以描述的比较简单,相关之处参见方法部分说明即可。
232.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1