CN111803946B - 游戏中的镜头切换方法、装置和电子设备 - Google Patents
游戏中的镜头切换方法、装置和电子设备 Download PDFInfo
- Publication number
- CN111803946B CN111803946B CN202010713882.1A CN202010713882A CN111803946B CN 111803946 B CN111803946 B CN 111803946B CN 202010713882 A CN202010713882 A CN 202010713882A CN 111803946 B CN111803946 B CN 111803946B
- Authority
- CN
- China
- Prior art keywords
- lens
- virtual camera
- parameter
- picture
- parameters
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 98
- 230000000007 visual effect Effects 0.000 claims abstract description 8
- 230000006870 function Effects 0.000 claims description 66
- 230000008859 change Effects 0.000 claims description 29
- 230000008569 process Effects 0.000 claims description 28
- 230000004044 response Effects 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 9
- 230000009466 transformation Effects 0.000 claims description 4
- BULVZWIRKLYCBC-UHFFFAOYSA-N phorate Chemical compound CCOP(=S)(OCC)SCSCC BULVZWIRKLYCBC-UHFFFAOYSA-N 0.000 claims 1
- 230000007704 transition Effects 0.000 abstract description 27
- 238000012423 maintenance Methods 0.000 abstract description 8
- 230000000694 effects Effects 0.000 description 10
- 230000001960 triggered effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000012886 linear function Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000002301 combined effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000016776 visual perception Effects 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
- A63F13/525—Changing parameters of virtual cameras
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Studio Devices (AREA)
Abstract
本发明提供了一种游戏中的镜头切换方法、装置和电子设备;方法包括:响应于游戏中的镜头切换事件,获取目标镜头画面的第一镜头参数;第一镜头参数指示目标镜头画面对应的虚拟摄像机的位置和朝向;根据第一镜头参数和当前镜头画面的第二镜头参数,确定虚拟摄像机的移动控制参数;第二镜头参数指示当前镜头画面对应的虚拟摄像机的位置和朝向;移动控制参数用于控制虚拟摄像机的移动;基于移动控制参数,控制虚拟摄像机移动,得到目标镜头画面。该方式基于镜头参数控制虚拟摄像机移动,以一镜到底的方式实现镜头切换,无需制作转场动画,仅需要设置并维护各个镜头的镜头参数,维护成本较低,镜头切换流畅,提升了游戏玩家的游戏视觉体验。
Description
技术领域
本发明涉及游戏技术领域,尤其是涉及一种游戏中的镜头切换方法、装置和电子设备。
背景技术
在游戏中进行镜头切换时,常用的方式是在切换前后的两个镜头之间设置转场动画。一种方式中,当游戏中存在多个镜头时,需要针对每两个镜头制作一个转场动画;该方式需要制作大量的转场动画,资源制作的工作量较大,当后期镜头更新时,这些转场动画也需要更新,后续维护成本较高;另一种方式中,针对每个镜头设置一个切入动画和切出动画,利用快速移动或者场景遮蔽过渡上一个镜头的切出动画和下一个镜头的切入动画,该方式在资源制作的工作量上以及后期维护成本上具有一定的改善,但是镜头切换的表现效果受限,镜头切换中间容易出现卡顿,从而影响游戏玩家的视觉感受。
发明内容
有鉴于此,本发明的目的在于提供一种游戏中的镜头切换方法、装置和电子设备,以降低维护成本,同时使镜头切换流畅,提升游戏玩家的游戏视觉体验。
第一方面,本发明实施例提供了一种游戏中的镜头切换方法,方法包括:响应于游戏中的镜头切换事件,获取目标镜头画面的第一镜头参数;其中,第一镜头参数用于:指示目标镜头画面对应的虚拟摄像机的位置和朝向;根据第一镜头参数和当前镜头画面的第二镜头参数,确定虚拟摄像机的移动控制参数;其中,第二镜头参数用于:指示当前镜头画面对应的虚拟摄像机的位置和朝向;移动控制参数用于控制虚拟摄像机的移动;基于移动控制参数,控制虚拟摄像机移动,得到目标镜头画面。
上述基于移动控制参数,控制虚拟摄像机移动,得到目标镜头画面的步骤,包括:基于移动控制参数和预设的移动曲线,控制虚拟摄像机移动,得到目标镜头画面。
上述镜头切换事件包括:在游戏中针对目标游戏场景或目标虚拟角色的触发事件。
上述响应于游戏中的镜头切换事件,获取目标镜头画面的第一镜头参数的步骤,包括:响应于游戏中的镜头变换事件,获取目标镜头画面的第一镜头标识;判断第一镜头标识与当前镜头画面的第二镜头标识是否相同;如果不相同,确认触发镜头切换事件,响应镜头切换事件,获取目标镜头画面的第一镜头参数。
上述虚拟摄像机的移动控制参数,包括:虚拟摄像机在移动过程中的位置参数的取值范围;位置参数用于指示虚拟摄像机在游戏场景中的位置;上述根据第一镜头参数和当前镜头画面的第二镜头参数,确定虚拟摄像机的移动控制参数的步骤,包括:从第一镜头参数中获取目标镜头画面对应的虚拟摄像机的第一位置参数;从第二镜头参数中获取当前镜头画面对应的虚拟摄像机的第二位置参数;根据第一位置参数和第二位置参数,确定虚拟摄像机在移动过程中的位置参数的取值范围。
上述位置参数包括:以虚拟摄像机的焦点为中心,虚拟摄像机与中心的连线在X轴和Z轴组成的平面上的角度;在X轴和Z轴组成的平面中,虚拟摄像机与焦点的投影距离;以及,在Y轴上,虚拟摄像机与焦点的投影距离;其中,X轴、Y轴和Z轴组成游戏中的空间坐标系;X轴和Z轴组成的平面为游戏的水平平面;Y轴与水平平面垂直。
上述虚拟摄像机的移动控制参数,包括:虚拟摄像机在移动过程中的位置参数的取值范围;位置参数用于指示虚拟摄像机在游戏场景中的位置;移动曲线包括指定数量的时间点,以及每个时间点对应的函数值;上述基于移动控制参数和预设的移动曲线,控制虚拟摄像机移动,得到目标镜头画面的步骤,包括:针对每个时间点,根据当前时间点对应的函数值、移动曲线的函数值域、以及位置参数的取值范围,确定当前时间点对应的位置参数;根据每个当前时间点对应的位置参数,控制虚拟摄像机移动,得到目标镜头画面。
上述移动曲线包括对数函数曲线。
上述根据当前时间点的函数值、移动曲线的函数值域、以及位置参数的取值范围,确定当前时间点对应的位置参数的步骤,包括:当前时间点对应的位置参数其中,X为当前时间点对应的位置参数;[a,b]为移动曲线的函数值域,a为移动曲线的函数值的最小值,b为移动曲线的函数值的最大值;[A,B]为位置参数的取值范围,A为位置参数的最小值,B为位置参数的最大值;f(t0)为当前时间点t0的函数值。
上述根据每个当前时间点对应的位置参数,控制虚拟摄像机移动,得到目标镜头画面的步骤,包括:按照预设的移动速度或者在指定时长内,控制虚拟摄像机逐一移动至每个时间点对应的位置参数,直至到达最后一个时间点对应的位置参数,得到目标镜头画面。
上述根据每个当前时间点对应的位置参数,控制虚拟摄像机移动,得到目标镜头画面的步骤,包括:从第一镜头参数中获取目标镜头画面对应的虚拟摄像机的第一焦点;从第二镜头参数中获取当前镜头画面对应的虚拟摄像机的第二焦点;针对每个时间点,根据虚拟摄像机在当前时间点的位置,以及第一焦点和第二焦点,调整虚拟摄像机在当前时间点的朝向。
上述根据虚拟摄像机在当前时间点的位置,以及第一焦点和第二焦点,调整虚拟摄像机在当前时间点的朝向的步骤,包括:如果第一焦点和第二焦点相同,根据虚拟摄像机在当前时间点的位置,调整虚拟摄像机的朝向,以使虚拟摄像机的焦点保持在第一焦点。
上述根据虚拟摄像机在当前时间点的位置,以及第一焦点和第二焦点,调整虚拟摄像机在当前时间点的朝向的步骤,包括:如果第一焦点和第二焦点不同,设置从第一焦点移动至第二焦点的线性变化函数;基于线性变化函数,确定虚拟摄像机在当前时间点的焦点;根据虚拟摄像机在当前时间点的位置,调整虚拟摄像机的朝向,以使虚拟摄像机的焦点保持在当前时间点的焦点。
通过终端一显示组件提供图形用户界面;在初始状态下,目标镜头画面的焦点位于图形用户界面的指定对象上;上述基于移动控制参数,控制虚拟摄像机移动,得到目标镜头画面的步骤之后,方法还包括:如果在图形用户界面显示虚拟控件,根据虚拟控件的位置计算得到偏移值,偏移值用于使指定对象显示在虚拟控件以外的区域;基于偏移值,偏移目标镜头画面,以使焦点保持在指定对象上;响应于镜头旋转事件,基于初始状态下目标镜头画面的焦点旋转目标镜头画面,得到旋转后的镜头画面;基于偏移值,偏移旋转后的镜头画面。
上述基于移动控制参数,控制虚拟摄像机移动,得到目标镜头画面的步骤之后,方法还包括:响应于镜头切换结束事件,设置目标镜头画面的第一镜头参数的参数范围;其中,参数范围用于限制目标镜头画面的视角。
第二方面,本发明实施例提供了一种游戏中的镜头切换装置,装置包括:参数获取模块,用于响应于游戏中的镜头切换事件,获取目标镜头画面的第一镜头参数;其中,第一镜头参数用于:指示目标镜头画面对应的虚拟摄像机的位置和朝向;参数确定模块,用于根据第一镜头参数和当前镜头画面的第二镜头参数,确定虚拟摄像机的移动控制参数;其中,第二镜头参数用于:指示当前镜头画面对应的虚拟摄像机的位置和朝向;移动控制参数用于控制虚拟摄像机的移动;移动模块,用于基于移动控制参数,控制虚拟摄像机移动,得到目标镜头画面。
第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述游戏中的镜头切换方法。
第四方面,本发明实施例提供了一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述游戏中的镜头切换方法。
本发明实施例带来了以下有益效果:
上述游戏中的镜头切换方法、装置和电子设备,根据目标镜头画面的第一镜头参数和当前镜头画面的第二镜头参数,确定虚拟摄像机的移动控制参数;基于该移动控制参数控制虚拟摄像机移动,得到目标镜头画面;其中,第一镜头参数用于指示目标镜头画面对应的虚拟摄像机的位置和朝向,第二镜头参数用于指示当前镜头画面对应的虚拟摄像机的位置和朝向;该方式中,基于镜头参数控制虚拟摄像机移动,以一镜到底的方式实现镜头切换,无需制作转场动画,仅需要设置并维护各个镜头的镜头参数即可,维护成本较低,同时镜头切换流畅,提升了游戏玩家的游戏视觉体验。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种镜头的切换方式的示意图;
图2为本发明实施例提供的另一种镜头的切换方式的示意图;
图3为本发明实施例提供的一种游戏中的镜头切换方法的流程图;
图4为本发明实施例提供的一种游戏场景示意图;
图5为本发明实施例提供的另一种游戏场景示意图;
图6为本发明实施例提供的一种游戏中的镜头切换装置的示意图;
图7为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了提高用户的沉浸式游戏体验,越来越多的游戏采用3D(Three Dimensional,三维)场景和转场动画的形式串联各个游戏系统,以提升游戏体验。但是,由于系统间的切换过程存在较高的复杂性,镜头与镜头之间的融合过程并非一个简单的串联关系,而是随着系统及镜头定位数量以几何倍数增长,导致传统的镜头转场动画制作难度大。图1示出了一种镜头的切换方式,假设游戏中存在四个系统,对应四个相互切换的镜头,此时,每两个镜头之间需要制作两个转场动画,例如,在镜头1和镜头2之间,需要制作镜头1切换至镜头2的转场动画,还需要制作镜头2切换至镜头1的转场动画,因而一共需要制作12个转场动画。该方式需要列举出所有镜头间的切换可能性,并制作动画,虽然效果可控,但是动画制作的工作量和资源量会随着镜头动画数量的增加变得异常巨大且不易维护。
图2示出了另一种镜头的切换方式,将每个镜头机位都制作一个切入动画和一个切出动画,利用快速移动或者场景遮挡物过渡上个镜头的切出动画和下个镜头的切入动画;以镜头1和镜头2两个镜头为例,当镜头1切换为镜头2时,先播放镜头1的切出动画,再播放镜头2的切入动画;反正同理。这种方式虽然降低了转场动画的数量,在资源工作量和维护成本上有一定改善,但是效果差强人意,转场动画和UI(User Interface,用户界面)结合的效果不可控,切换表现受限,镜头切换中间卡顿,从而影响视觉感受。
基于上述,本发明实施例提供的一种游戏中的镜头切换方法、装置和电子设备,该技术可以应用于游戏等各类虚拟场景中的镜头切换、场景转换中。为便于对本实施例进行理解,首先对本发明实施例所公开的一种游戏中的镜头切换方法进行详细介绍。
参见图3所示为一种游戏中的镜头切换方法的流程图,该方法包括如下步骤:
步骤S302,响应于游戏中的镜头切换事件,获取目标镜头画面的第一镜头参数;其中,第一镜头参数用于:指示目标镜头画面对应的虚拟摄像机的位置和朝向;
该镜头切换事件可以由玩家的多种操作直接或间接地触发;该镜头切换事件具体可以为:在游戏中针对目标游戏场景或目标虚拟角色的触发事件;该目标游戏场景具体可以为特定的游戏场景,如家园场景;玩家触发进入某个特定的游戏场景,需要触发镜头切换事件。另外,玩家在远景状态下点击特定的虚拟角色,如NPC(Non-Player Character,非玩家角色),则镜头需要切换为该虚拟角色的近景镜头,也需要触发镜头切换事件。
根据镜头切换事件触发时的游戏场景,可以确定该镜头切换事件所对应的目标镜头画面;例如当前游戏场景显示有虚拟角色的家园门口,当玩家触发进入家园的指令时,同时触发镜头切换事件,此时的目标镜头画面就是家园内部的一个特定镜头。如果根据游戏场景,可切换的目标镜头画面有多个,此时还可以根据玩家触发的选择指令,确定具体的目标镜头画面,例如,当前游戏场景内有多个虚拟角色,玩家想和哪个虚拟角色沟通,就点击哪个虚拟角色,同时触发镜头切换事件,此时的目标镜头画面就是点击的虚拟角色的近景镜头。该目标镜头画面即待切换的镜头,从当前镜头画面切换至目标镜头画面,即完成了镜头切换。
目标镜头画面的第一镜头参数可以预先设置,后续也可以更新。该第一镜头参数用于指示目标镜头画面对应的虚拟摄像机的位置和朝向;在实际实现时,可以在游戏场景内设置三维坐标系,基于该三维坐标系确定虚拟摄像机的位置;虚拟摄像机的朝向,可以根据虚拟摄像机的位置,以及虚拟摄像机的焦点位置确定;虚拟摄像机的焦点位置通常设置在镜头想主要展现的游戏模型上;该游戏模型可以为一个静物,如建筑物,也可以为一个动态的虚拟角色。因而上述第一镜头参数具体可以包括,用于确定虚拟摄像机的位置的坐标参数,以及虚拟摄像机的焦点所在的游戏模型。
步骤S304,根据第一镜头参数和当前镜头画面的第二镜头参数,确定虚拟摄像机的移动控制参数;其中,第二镜头参数用于:指示当前镜头画面对应的虚拟摄像机的位置和朝向;移动控制参数用于控制虚拟摄像机的移动;
本实施例中,为了避免生硬的镜头切换,采用一镜到底的镜头切换方式;即,控制虚拟摄像头从当前镜头画面对应的位置和朝向开始,逐渐变化位置和朝向,直至到达目标镜头画面对应的位置和朝向。上述移动控制参数,可以包括虚拟摄像机的起点(即当前镜头画面对应的虚拟摄像机的位置)、虚拟摄像机的终点(即目标镜头画面对应的虚拟摄像机的位置),虚拟摄像机从起点移动至终点所经过的路径等等;该路径可以通过特定形状的函数曲线实现。上述移动控制参数还可以包括虚拟摄像机的焦点,该焦点可以一个或多个,用于控制虚拟摄像机在移动过程中朝向的变化。
步骤S306,基于上述移动控制参数,控制虚拟摄像机移动,得到目标镜头画面。
在实际实现时,还可以通过设置移动曲线,控制虚拟摄像机的移动轨迹;即基于移动控制参数和预设的移动曲线,共同控制所述虚拟摄像机移动,得到目标镜头画面。该移动曲线可以预先设置,该移动曲线可以影响虚拟摄像机在变化过程中,镜头内场景的具体变化效果。例如,如果该移动曲线是对数函数曲线,该镜头内场景变化的效果由快至慢;如果该移动曲线是指数函数曲线,该镜头内场景变化的效果由慢至快;如果该移动曲线是直线函数曲线,该镜头内场景变化的效果为匀速变化。当虚拟摄像机移动至终点后,即可得到目标镜头画面。另外,在控制虚拟摄像机移动的过程中,还可以设置虚拟摄像机的移动速度,或者从起点到终点的移动总时长等参数,用于控制镜头的切换速度。
上述游戏中的镜头切换方法中,根据目标镜头画面的第一镜头参数和当前镜头画面的第二镜头参数,确定虚拟摄像机的移动控制参数;基于该移动控制参数,控制虚拟摄像机移动,得到目标镜头画面;其中,第一镜头参数用于指示目标镜头画面对应的虚拟摄像机的位置和朝向,第二镜头参数用于指示当前镜头画面对应的虚拟摄像机的位置和朝向;该方式中,基于镜头参数控制虚拟摄像机移动,以一镜到底的方式实现镜头切换,无需制作转场动画,仅需要设置并维护各个镜头的镜头参数即可,维护成本较低,同时镜头切换流畅,提升了游戏玩家的游戏视觉体验。
下述实施例继续描述游戏中的镜头切换方法的其他实现方式。
通常,随着玩家控制虚拟角色移动操作、进入新的游戏场景的操作、与其他虚拟角色进行交互、对话等各种操作,镜头在不断的发生变化,此时会频繁触发镜头变换事件;每个镜头变换事件均对应一个目标镜头画面,该目标镜头画面即变换后的镜头。上述镜头切换事件可以理解为镜头变换事件中的一种特殊的事件。为了确认被触发的镜头转换事件是不是镜头切换事件,可以响应于游戏中的镜头变换事件,获取目标镜头画面的第一镜头标识;判断第一镜头标识与当前镜头画面的第二镜头标识是否相同;如果不相同,确认触发镜头切换事件,响应镜头切换事件,获取目标镜头画面的第一镜头参数。
可以将游戏中的各类镜头设置镜头标识;在镜头转换过程中,如果目标镜头画面与当前镜头画面的镜头标识相同,则可以认为没有发生镜头切换事件;此时的镜头转换可能只是小幅度的镜头视角、镜头范围的变化。如果目标镜头画面与当前镜头画面的镜头标识不同,则可以认为发生了镜头切换事件;此时镜头视角、镜头范围可能发生了较大程度的变化,例如由远景镜头切换为近景镜头,由外景切换为家园内景等等。此时,则需要响应该镜头切换事件,进而获取目标镜头画面的第一镜头参数。
获取到目标镜头画面的第一镜头参数,即可根据第一镜头参数和当前镜头画面的第二镜头参数,确定虚拟摄像机的移动控制参数。具体地,可以从第一镜头参数中获取目标镜头画面对应的虚拟摄像机的第一位置参数;从第二镜头参数中获取当前镜头画面对应的虚拟摄像机的第二位置参数;再根据第一位置参数和第二位置参数,确定虚拟摄像机在移动过程中的位置参数的取值范围。
上述位置参数用于表征镜头对应的虚拟摄像机的位置。位置参数也可以包括多种,本实施例中的位置参数共包括三种:以虚拟摄像机的焦点为中心,虚拟摄像机与该中心的连线在X轴和Z轴组成的平面上的角度;在X轴和Z轴组成的平面中,虚拟摄像机与焦点的投影距离;以及,在Y轴上,虚拟摄像机与焦点的投影距离;其中,X轴、Y轴和Z轴组成游戏场景中的空间坐标系;X轴和Z轴组成的平面为游戏场景的水平平面;Y轴与该水平平面垂直。
虚拟摄像机的焦点通常位于游戏中的主要展示模型上,随着游戏界面中游戏场景的不断转换,虚拟摄像机的焦点和视角要进行相应的变化。通过上述三种位置参数,可以唯一地表征镜头对应的虚拟摄像机的位置。通常,虚拟摄像机有多种移动类型,每种移动类型可以定义一段时间内的虚拟摄像机的移动方式,移动类型也可以称为Mover,通过上述三种位置参数表征的移动方位可以称为YawMover,Yaw角移动类型,该类型中目标偏移TargetOffset和视场角Fov以线性计算,但方向Direction分解成了XZ平面和Y轴方向的两个方面进行单独计算,其中Y轴方向仍以线性方式变化,XZ平面则又分解成了Yaw角和Length两个方面进行线性运算。
对应上述三种位置参数,以虚拟摄像机的焦点为中心,虚拟摄像机与该中心的连线在X轴和Z轴组成的平面上的角度即这里的Yaw角,该角度为线性变化;在X轴和Z轴组成的平面中,虚拟摄像机与焦点的投影距离即这里的Length,该投影距离为线性变化;在Y轴上,虚拟摄像机与焦点的投影距离也是线性变化。
上述采用YawMover作为虚拟摄像机的移动类型,可以使虚拟摄像机在移动过程中,焦点始终位于游戏中的主要展示模型上;同时可以避免线性移动类型中极易出现的穿模现象,同时通过YawMover的相关参数控制虚拟摄像机的位置可以使虚拟摄像机的移动路径与预设的移动曲线的轨迹更加贴合。
另外,除了上述Yaw角移动类型,还有其他移动类型;其中,FpsMover用于FPS(First Person Shooting,第一人称射击)游戏中;TpsMover用于TPS(Third-PersonShooting,第三人称射击)游戏中;ScreenShakerMover用于相机抖动的游戏场景中;LinearMover为纯线性移动类型,该移动类型中的参数主要包括目标偏移TargetOffset、方向Direction,视场角Fov等参数,这些参数都在给定的时间内参照线性函数的轨迹控制虚拟摄像机的移动。
上述虚拟摄像机在移动过程中的位置参数的取值范围,为虚拟摄像机的移动控制参数的一种具体实现方式。该位置参数用于指示虚拟摄像机在游戏场景中的位置;位置参数的取值范围用于限制在镜头切换过程中,虚拟摄像机的移动范围。上述实施例中,基于上述移动控制参数和预设的移动曲线,控制虚拟摄像机移动,得到目标镜头画面;这里的移动曲线具体可以包括指定数量的时间点,以及每个时间点对应的函数值。为了使虚拟摄像机沿着该移动曲线移动,需要基于该移动曲线中各个时间点对应的函数值,确定虚拟摄像机在各个时间点的位置。
具体地,可以针对每个时间点,根据当前时间点对应的函数值、移动曲线的函数值域、以及位置参数的取值范围,确定当前时间点对应的位置参数;根据每个当前时间点对应的位置参数,控制虚拟摄像机移动,得到目标镜头画面。当前时间点对应的位置参数,具体可以通过下述公式计算得到:
其中,X为当前时间点对应的位置参数;[a,b]为移动曲线的函数值域,a为移动曲线的函数值的最小值,b为移动曲线的函数值的最大值;[A,B]为位置参数的取值范围,A为位置参数的最小值,B为位置参数的最大值;f(t0)为当前时间点t0的函数值。
每个时间点的位置参数确定后,即可按照时间点的排列顺序,将虚拟摄像机逐一移动至每个时间点的位置参数对应的位置上,这样,虚拟摄像机的移动路径的形状即可与上述移动曲线的形状相同,同时,该移动路径的一端连接当前镜头画面的虚拟摄像机的位置,另一端连接目标镜头画面的虚拟摄像机的位置,因而可以流畅地实现镜头切换。
在实际实现时,可以按照预设的移动速度或者在指定时长内,控制虚拟摄像机逐一移动至每个时间点对应的位置参数,直至到达最后一个时间点对应的位置参数,得到目标镜头画面。上述移动速度可以设置为单位时间内移动指定数量的时间点,也可以设置为每隔指定时间段移动一个时间点;上述指定时长可以理解为虚拟摄像机从当前镜头画面对应的位置,移动到目标镜头画面对应的位置的总时长,确定了指定时长后,再根据时间点的总量确定移动速度,以匀速的方式移动虚拟摄像机。
上述移动曲线的形状,可以影响虚拟摄像机的移动路径的形状,虚拟摄像机的移动路径的形状可以影响在镜头切换过程中,镜头的变化效果。其中一种具体的实现方式中,为了实现镜头在变化开始时速度快,而在结束时速度逐渐减慢的要求,上述移动曲线具体可以为对数函数曲线,即上述公式中的f(t0)为对数函数。
上述移动曲线也可以称为虚拟摄像机在移动过程中的缓动函数;由上述实施例可知,在YawMover的移动类型下,共有三种位置参数,每种位置参数均可以使用该移动曲线控制变化轨迹。即上述X轴和Z轴组成的平面中的Yaw角、Length,以及Y轴上虚拟摄像机与焦点的投影距离均可以通过上述公式计算各个时间点的位置参数;对于某一时间点,该时间点对于的三种位置参数,可以唯一地确定虚拟摄像机的位置。另外需要说明的是,上述三种位置参数,可以使用相同的移动曲线,即上述公式中的f(t0)相同,也可以使用不同的移动曲线,例如,三种位置参数中,一个位置参数使用对数函数,一个位置参数使用指数函数,一个位置参数使用线性函数。使用不同的移动曲线,镜头切换过程中的镜头变化效果不同,从而可以提高镜头变化效果的丰富性。
在镜头切换过程中,除了需要控制虚拟摄像机的位置变化,还需要控制虚拟摄像机的焦点变化。镜头参数中保存有虚拟摄像机的焦点信息,因而可以从第一镜头参数中获取目标镜头画面对应的虚拟摄像机的第一焦点;从第二镜头参数中获取当前镜头画面对应的虚拟摄像机的第二焦点;针对每个时间点,根据虚拟摄像机在当前时间点的位置,以及第一焦点和第二焦点,调整虚拟摄像机在当前时间点的朝向。
如果当前镜头画面和目标镜头画面的焦点不变,则虚拟摄像机在移动位置的过程中,需要以该焦点为基准,实时调整虚拟摄像机的朝向,以使该虚拟摄像机的焦点保持不变。即,如果上述第一焦点和第二焦点相同,根据虚拟摄像机在当前时间点的位置,调整虚拟摄像机的朝向,以使虚拟摄像机的焦点保持在第一焦点,同时也保持在第二焦点。
如果当前镜头画面和目标镜头画面的焦点不同,则虚拟摄像机在移动位置的过程中,焦点也要变化;为了使镜头切换的效果流畅,焦点也需要逐渐变化。与位置变化类似,虚拟摄像机的焦点也可以基于某一函数曲线进行变化。具体地,如果第一焦点和第二焦点不同,设置从第一焦点移动至第二焦点的线性变化函数;基于该线性变化函数,确定虚拟摄像机在当前时间点的焦点;根据虚拟摄像机在当前时间点的位置,调整虚拟摄像机的朝向,以使虚拟摄像机的焦点保持在当前时间点的焦点。
基于线性变化函数确定出的焦点,使得在镜头切换过程中焦点的位置是线性变化的;线性变化的方式可以降低镜头切换过程中的运算量,同时也不影响镜头切换过程中镜头转换的流畅性。当然,焦点的位置也可以具有其他变化关系,比如非线性变化,此时可以基于非线性变化函数,确定虚拟摄像机在当前时间点的焦点。
需要说明的是,游戏中的骨骼挂点、策划的功能挂点、骨骼节点等游戏中现有的功能点,都能够作为虚拟摄像机的焦点进行设置。
下述实施例继续描述镜头由当前镜头画面切换至目标镜头画面后,与目标镜头画面的相关功能。通过终端一显示组件提供图形用户界面,当镜头由切换前的当前镜头画面切换至目标镜头画面后,目标镜头画面处在初始状态,在该初始状态下,目标镜头画面的焦点位于上述图形用户界面中的指定对象上。该指定对象也可以理解为目标镜头画面中的主要展示模型,该模型可以为人物、动物或静物等。目标镜头画面的焦点位置指定对象上,由于指定对象通常由于游戏场景的场景中心,在大多情况下,目标镜头画面的焦点也可以位于游戏场景的场景中心。
镜头转换至目标镜头画面之后,随着游戏进程的变化,玩家会针对图形用户界面中的控件执行触发操作;其中有些触发操作可能会在图形用户界面显示相关的虚拟控件,该虚拟控件遮挡部分游戏。基于此,如果在图形用户界面中显示虚拟控件,根据该虚拟控件的位置计算得到偏移值,该偏移值用于使指定对象显示在所述虚拟控件以外的区域;基于该偏移值,偏移目标镜头画面,以使焦点保持在指定对象上。其中,上述虚拟控件具体可以为窗口或图标。
上述虚拟控件可以显示在图形用户界面中的各个位置,虚拟控件的大小也不做具体限制。该虚拟控件可以显示在图形用户界面的中心区域、左侧区域、右侧区域等。上述指定对象为游戏中的主要展示模型;如果图形用户界面中显示虚拟控件了,该虚拟控件可能会遮挡该主要展示模型,此时需要偏移游戏,在偏移游戏的过程中,指定对象在图形用户界面中的位置也发生了偏移,偏移后的指定对象显示在虚拟控件以外的区域,就不会被虚拟控件遮挡了。
上述偏移值用于指示游戏的偏移方向、偏移程度等;为了保证玩家观看指定对象的视角不变,目标镜头画面也需要基于该偏移值进行偏移,以使焦点保持在指定对象上。为了便于理解,图4和图5作为示例。图4中,主要展示模型即上述指定对象,主要展示模型位于图形用户界面的中心位置,虚拟摄像机的焦点位于主要展示模型上。图5中,游戏的右侧区域出现虚拟控件,且遮挡了位于游戏中心位置的主要展示模型,此时,主要展示模型向左偏移,显示在没有被虚拟控件遮挡的左侧区域。同时,虚拟摄像机也向左偏移,使得焦点依然保持在主要展示模型上。
此时,主要展示模型和虚拟摄像机的焦点都没有在图形用户界面的中心位置,为了在镜头发生旋转时仍然以主要展示模型为中心进行旋转,为了响应于游戏中的镜头旋转事件,需要基于初始状态下目标镜头画面的焦点旋转目标镜头画面,得到旋转后的游戏场景;基于偏移值,偏移旋转后的游戏场景。具体地,基于上述偏移值,再将游戏场景偏移至初始状态,在初始状态下,目标镜头画面的焦点位于图形用户界面中的指定对象上;该指定对象位于图形用户界面的场景中心。然后再基于初始状态下的焦点,旋转目标镜头画面。
另外,切换至目标镜头画面以后,由于游戏场景发生了较大的变化,需要根据目标镜头画面当前的游戏场景,限制玩家的视角,避免游戏场景的穿帮,此时,在镜头切换事件结束后,需要响应于镜头切换结束事件,设置目标镜头画面的第一镜头参数的参数范围;其中,该参数范围用于限制目标镜头画面的视角。
在实际实现时,Follow_placer的虚拟摄像机的控制类型使得虚拟摄像机能够支持以焦点为中心的旋转功能,但是在部分场景中,为了能够对虚拟摄像机的视角进行一定的限制,在Follower_placer的技术上,增加了虚拟摄像机yaw角、或者高度的限制功能。当场景中的视角需要限制时,可以设置目标镜头画面的第一镜头参数的初始值,然后对虚拟摄像机的视角进行限制的时候,以这个初始值为基准,设定一个相对的范围作为阈值。比如这个X轴和Z轴组成的平面上的Yaw角,Yaw角的限制范围就是一个以初始角度为基准的相对阈值范围。
通常在镜头切换完成之后,需要立刻对虚拟摄像机的Yaw角进行限制,为了实现该目的,在虚拟摄像机的Mover类型中,还添加了虚拟摄像机的移动结束的事件广播,在mover创建的时候将Yaw角限制绑定在移动结束的时间上,即一旦镜头切换事件结束,镜头切换结束事件被触发,就对Yaw角或其他目标镜头画面的第一镜头参数进行限制。
上述实施例描述的镜头切换方式中,将镜头固定位置设置后,镜头的切换动画通过逻辑自动融合过渡实现;通过设置目标点和摄像机坐标确定摄像机位置及朝向,通过设置水平和垂直拖动范围确定摄像机可以围绕目标点环绕拖动的范围;当设置多个虚拟摄像机之后从当前虚拟摄像机自动融合过渡运动到下一个虚拟摄像机的位置。只需要设置摄像机位置和相关参数,增减和调整优化成本最优,切换表现良好,镜头切换完全有曲线控制,平滑自然,自动融合过渡,大大加强了镜头动画的丰富程度。可对镜头曲线通过函数参数进行控制,一般镜头运动时长,运动速度曲线相对统一,所以作为全局参数进行控制。
上述方式中,只需手动维护摄像机固定机位,其余动画和融合都自动完成的镜头动画工具,维护成本较低,同时镜头切换流畅,提升了游戏玩家的游戏视觉体验。
为了对上述实施例进行进一步的补充。下面描述一种对游戏场景中虚拟摄像机控制逻辑的实施例。首先对虚拟摄像机进行控制时,其控制流程中包含以下概念:
CameraController,镜头管理器,通过挂接引擎主相机的方式管理相机逻辑。
Placer,可以定义一种镜头类型,在该类型下镜头遵循特定的行为模式。Placer具体可以包括:跟随FollowPlacer、中心轴心PivotPlacer、轨道OrbitPlacer、自由视角FreeViewPlacer、第一人称射击游戏FpsPlacer、第三人称射击游戏TpsPlacer和固定高度FixHeightPlacer等。
Mover,可以定义镜头一段时间内的移动方式,其本质也是一种placer。Mover具体可以包括:FpsMover,TpsMover,屏幕抖动ScreenShakerMover,线性LinearMover和偏航姿态角YawMover等。
Blender,定义了Placer之间的过渡方式。
基于上述概念,建立3D逻辑镜头系统。
假如采用FollowPlacer作为虚拟摄像机的镜头类型,这种Placer可以指定一个目标点Target,即上述实施例中,虚拟摄像机的焦点所在的指定对象,也可以称为主要展示模型;然后以Target的相对位置进行对焦,之后的虚拟摄像机的生命周期中则能够保证焦点的相对固定。通过设置虚拟摄像机的Direction方向的方式控制相机的位置,从而调节相机视角。具体地,可以将游戏中的主要展示模型作为Target,用以支持以主要展示模型为中心进行镜头环绕旋转控制的功能。同时FollowPlacer能够控制相机俯仰角,避免出现地形穿模和视角倒置的问题。
下面继续描述上述实施例中描述的镜头参数;不论是目标镜头画面的第一镜头参数,还是当前镜头画面的第二镜头参数,镜头参数具体可以包括下述几类:UIName:镜头标识;fov:场视角;focus:相机焦点和相机锁定目标的偏移值;dir:初始方向;zoom:能否缩放;pitch_range:俯仰角pitch的范围;yaw_range:Yaw角的范围,(0,0)不允许滑动,False没有范围;None延续之前的范围;ui_offset:相机显示焦点离旋转焦点的距离。
通过设置上述镜头参数,可以指导虚拟摄像机的变化逻辑,在加载游戏界面UI的时候发现镜头转换事件,虚拟摄像机在监听到镜头转换事件的时候,会和当前存储的UIName进行比对,如果是UIName发生了变化,虚拟摄像机首先获取新UIName对应的镜头参数,然后根据获取到的镜头参数设置Move,且在Mover结束后根据新的相机参数对Followplacer进行限制。如果UIName没有发生变化,则意味着镜头参数不需要发生改变。
基于上述设置的镜头参数,本实施例可以实现如下方案:通过设置目标点和摄像机坐标确定摄像机位置及朝向,通过设置水平和垂直拖动范围确定摄像机可以围绕目标点环绕拖动的范围;触发设置多个虚拟摄像机,当UI发生变化之后,无论虚拟摄像机是否经过视角旋转,都会从当前摄像机角度和位置,根据Yaw角移动规则自动融合过渡运动到下一个UI对应摄像机位置。虚拟摄像机的目标点可以设置为具体坐标,也可以设置为模型挂点,骨骼点及策划功能点等任何程序可以拿到的坐标点,由于相机位置为相较目标点的相对位置,所以可以做到摄像机实时跟踪运动中的目标,且依然和下一镜头生成真实过渡变化。可对镜头曲线通过函数参数进行全局控制,通过设置镜头运动时长,运动速度曲线影响所有的镜头Mover,做到镜头运动过程中的加减速,可以根据项目具体需求在运动细节上调整函数,适用性和自由性高。
对应于上述方法实施例,参见图6所示的一种游戏中的镜头切换装置的示意图;该装置包括:
参数获取模块60,用于响应于游戏中的镜头切换事件,获取目标镜头画面的第一镜头参数;其中,第一镜头参数用于:指示目标镜头画面对应的虚拟摄像机的位置和朝向;
参数确定模块61,用于根据第一镜头参数和当前镜头画面的第二镜头参数,确定虚拟摄像机的移动控制参数;其中,第二镜头参数用于:指示当前镜头画面对应的虚拟摄像机的位置和朝向;移动控制参数用于控制虚拟摄像机的移动;
移动模块62,用于基于移动控制参数,控制虚拟摄像机移动,得到目标镜头画面。
上述游戏中的镜头切换装置,根据目标镜头画面的第一镜头参数和当前镜头画面的第二镜头参数,确定虚拟摄像机的移动控制参数;基于该移动控制参数,控制虚拟摄像机移动,得到目标镜头画面;其中,第一镜头参数用于指示目标镜头画面对应的虚拟摄像机的位置和朝向,第二镜头参数用于指示当前镜头画面对应的虚拟摄像机的位置和朝向;该方式中,基于镜头参数控制虚拟摄像机移动,以一镜到底的方式实现镜头切换,无需制作转场动画,仅需要设置并维护各个镜头的镜头参数即可,维护成本较低,同时镜头切换流畅,提升了游戏玩家的游戏视觉体验。
上述移动模块,还用于:基于移动控制参数和预设的移动曲线,控制虚拟摄像机移动,得到目标镜头画面。
上述镜头切换事件包括:在游戏中针对目标游戏或目标虚拟角色的触发事件。
上述参数获取模块,还用于:响应于游戏中的镜头变换事件,获取目标镜头画面的第一镜头标识;判断第一镜头标识与当前镜头画面的第二镜头标识是否相同;如果不相同,确认触发镜头切换事件,响应镜头切换事件,获取目标镜头画面的第一镜头参数。
上述虚拟摄像机的移动控制参数,包括:虚拟摄像机在移动过程中的位置参数的取值范围;位置参数用于指示虚拟摄像机在游戏中的位置;上述参数确定模块,还用于:从第一镜头参数中获取目标镜头画面对应的虚拟摄像机的第一位置参数;从第二镜头参数中获取当前镜头画面对应的虚拟摄像机的第二位置参数;根据第一位置参数和第二位置参数,确定虚拟摄像机在移动过程中的位置参数的取值范围。
上述位置参数包括:以虚拟摄像机的焦点为中心,虚拟摄像机与中心的连线在X轴和Z轴组成的平面上的角度;在X轴和Z轴组成的平面中,虚拟摄像机与焦点的投影距离;以及,在Y轴上,虚拟摄像机与焦点的投影距离;其中,X轴、Y轴和Z轴组成游戏中的空间坐标系;X轴和Z轴组成的平面为游戏的水平平面;Y轴与水平平面垂直。
上述虚拟摄像机的移动控制参数,包括:虚拟摄像机在移动过程中的位置参数的取值范围;位置参数用于指示虚拟摄像机在游戏中的位置;移动曲线包括指定数量的时间点,以及每个时间点对应的函数值;上述移动模块,还用于:针对每个时间点,根据当前时间点对应的函数值、移动曲线的函数值域、以及位置参数的取值范围,确定当前时间点对应的位置参数;根据每个当前时间点对应的位置参数,控制虚拟摄像机移动,得到目标镜头画面。
上述移动曲线包括对数函数曲线。
上述移动模块,还用于:当前时间点对应的位置参数其中,X为当前时间点对应的位置参数;[a,b]为移动曲线的函数值域,a为移动曲线的函数值的最小值,b为移动曲线的函数值的最大值;[A,B]为位置参数的取值范围,A为位置参数的最小值,B为位置参数的最大值;f(t0)为当前时间点t0的函数值。
上述移动模块,还用于:按照预设的移动速度或者在指定时长内,控制虚拟摄像机逐一移动至每个时间点对应的位置参数,直至到达最后一个时间点对应的位置参数,得到目标镜头画面。
上述移动模块,还用于:从第一镜头参数中获取目标镜头画面对应的虚拟摄像机的第一焦点;从第二镜头参数中获取当前镜头画面对应的虚拟摄像机的第二焦点;针对每个时间点,根据虚拟摄像机在当前时间点的位置,以及第一焦点和第二焦点,调整虚拟摄像机在当前时间点的朝向。
上述移动模块,还用于:如果第一焦点和第二焦点相同,根据虚拟摄像机在当前时间点的位置,调整虚拟摄像机的朝向,以使虚拟摄像机的焦点保持在第一焦点。
上述移动模块,还用于:如果第一焦点和第二焦点不同,设置从第一焦点移动至第二焦点的线性变化函数;基于线性变化函数,确定虚拟摄像机在当前时间点的焦点;根据虚拟摄像机在当前时间点的位置,调整虚拟摄像机的朝向,以使虚拟摄像机的焦点保持在当前时间点的焦点。
上述通过终端一显示组件提供图形用户界面;在初始状态下,目标镜头画面的焦点位于图形用户界面的指定对象上;上述基于移动控制参数,控制虚拟摄像机移动,得到目标镜头画面的步骤之后,方法还包括:如果在图形用户界面显示虚拟控件,根据虚拟控件的位置计算得到偏移值,偏移值用于使指定对象显示在虚拟控件以外的区域;基于偏移值,偏移目标镜头画面,以使焦点保持在指定对象上;响应于镜头旋转事件,基于初始状态下目标镜头画面的焦点旋转目标镜头画面,得到旋转后的镜头画面;基于偏移值,偏移旋转后的镜头画面。
上述装置还包括参数设置模块,用于:响应于镜头切换结束事件,设置目标镜头画面的第一镜头参数的参数范围;其中,参数范围用于限制目标镜头画面的视角。
本实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述游戏中的镜头切换方法。
参见图7所示,该电子设备包括处理器100和存储器101,该存储器101存储有能够被处理器100执行的机器可执行指令,该处理器100执行机器可执行指令以实现上述游戏中的镜头切换方法。
进一步地,图7所示的电子设备还包括总线102和通信接口103,处理器100、通信接口103和存储器101通过总线102连接。
其中,存储器101可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器100可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器100中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器100可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器101,处理器100读取存储器101中的信息,结合其硬件完成前述实施例的方法的步骤。
本实施例还提供一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述游戏中的镜头切换方法。
本发明实施例所提供的游戏中的镜头切换方法、装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
本发明实施例所提供的游戏中的镜头切换方法、装置以及系统的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (17)
1.一种游戏中的镜头切换方法,其特征在于,所述方法包括:
响应于游戏中的镜头切换事件,获取目标镜头画面的第一镜头参数;其中,所述第一镜头参数用于:指示所述目标镜头画面对应的虚拟摄像机的位置和朝向;
根据所述第一镜头参数和当前镜头画面的第二镜头参数,确定所述虚拟摄像机的移动控制参数;其中,所述第二镜头参数用于:指示所述当前镜头画面对应的虚拟摄像机的位置和朝向;所述移动控制参数用于控制所述虚拟摄像机的移动;
基于所述移动控制参数,控制所述虚拟摄像机移动,得到所述目标镜头画面;
基于所述移动控制参数,控制所述虚拟摄像机移动,得到所述目标镜头画面的步骤,包括:
基于所述移动控制参数和预设的移动曲线,控制所述虚拟摄像机移动,得到所述目标镜头画面;其中,所述移动控制参数至少包括虚拟摄像机的起点、虚拟摄像机的终点、虚拟摄像机从起点移动至终点所经过的路径;所述移动曲线包括指定数量的时间点以及每个所述时间点对应的函数值。
2.根据权利要求1所述的方法,其特征在于,所述镜头切换事件包括:在所述游戏中针对目标游戏场景或目标虚拟角色的触发事件。
3.根据权利要求1所述的方法,其特征在于,响应于游戏中的镜头切换事件,获取目标镜头画面的第一镜头参数的步骤,包括:
响应于游戏中的镜头变换事件,获取目标镜头画面的第一镜头标识;
判断所述第一镜头标识与当前镜头画面的第二镜头标识是否相同;
如果不相同,确认触发镜头切换事件,响应所述镜头切换事件,获取目标镜头画面的第一镜头参数。
4.根据权利要求1所述的方法,其特征在于,所述虚拟摄像机的移动控制参数,包括:所述虚拟摄像机在移动过程中的位置参数的取值范围;所述位置参数用于指示所述虚拟摄像机在游戏场景中的位置;
所述根据所述第一镜头参数和当前镜头画面的第二镜头参数,确定所述虚拟摄像机的移动控制参数的步骤,包括:
从所述第一镜头参数中获取所述目标镜头画面对应的虚拟摄像机的第一位置参数;从所述第二镜头参数中获取所述当前镜头画面对应的虚拟摄像机的第二位置参数;
根据所述第一位置参数和所述第二位置参数,确定虚拟摄像机在移动过程中的位置参数的取值范围。
5.根据权利要求4所述的方法,其特征在于,所述位置参数包括:
以所述虚拟摄像机的焦点为中心,所述虚拟摄像机与所述中心的连线在X轴和Z轴组成的平面上的角度;
在X轴和Z轴组成的平面中,所述虚拟摄像机与所述焦点的投影距离;
以及,在Y轴上,所述虚拟摄像机与所述焦点的投影距离;
其中,所述X轴、Y轴和Z轴组成所述游戏场景中的空间坐标系;所述X轴和Z轴组成的平面为所述游戏场景的水平平面;所述Y轴与所述水平平面垂直。
6.根据权利要求1所述的方法,其特征在于,所述虚拟摄像机的移动控制参数,包括:所述虚拟摄像机在移动过程中的位置参数的取值范围;所述位置参数用于指示所述虚拟摄像机在游戏场景中的位置;所述移动曲线包括指定数量的时间点,以及每个所述时间点对应的函数值;
所述基于所述移动控制参数和预设的移动曲线,控制所述虚拟摄像机移动,得到所述目标镜头画面的步骤,包括:
针对每个所述时间点,根据当前时间点对应的函数值、所述移动曲线的函数值域、以及所述位置参数的取值范围,确定所述当前时间点对应的位置参数;
根据每个所述当前时间点对应的位置参数,控制所述虚拟摄像机移动,得到所述目标镜头画面。
7.根据权利要求6所述的方法,其特征在于,所述移动曲线包括对数函数曲线。
8.根据权利要求6所述的方法,其特征在于,根据当前时间点的函数值、所述移动曲线的函数值域、以及所述位置参数的取值范围,确定所述当前时间点对应的位置参数的步骤,包括:
所述当前时间点对应的位置参数;
其中,X为当前时间点对应的位置参数;[a,b]为所述移动曲线的函数值域,a为所述移动曲线的函数值的最小值,b为所述移动曲线的函数值的最大值;[A,B]为所述位置参数的取值范围,A为所述位置参数的最小值,B为所述位置参数的最大值;f(t 0 )为当前时间点t 0的函数值。
9.根据权利要求6所述的方法,其特征在于,根据每个所述当前时间点对应的位置参数,控制所述虚拟摄像机移动,得到所述目标镜头画面的步骤,包括:
按照预设的移动速度或者在指定时长内,控制所述虚拟摄像机逐一移动至每个所述时间点对应的位置参数,直至到达最后一个时间点对应的位置参数,得到目标镜头画面。
10.根据权利要求6所述的方法,其特征在于,根据每个所述当前时间点对应的位置参数,控制所述虚拟摄像机移动,得到所述目标镜头画面的步骤,包括:
从所述第一镜头参数中获取所述目标镜头画面对应的虚拟摄像机的第一焦点;从所述第二镜头参数中获取所述当前镜头画面对应的虚拟摄像机的第二焦点;
针对每个所述时间点,根据所述虚拟摄像机在当前时间点的位置,以及所述第一焦点和所述第二焦点,调整所述虚拟摄像机在所述当前时间点的朝向。
11.根据权利要求10所述的方法,其特征在于,根据所述虚拟摄像机在当前时间点的位置,以及所述第一焦点和所述第二焦点,调整所述虚拟摄像机在所述当前时间点的朝向的步骤,包括:
如果所述第一焦点和所述第二焦点相同,根据所述虚拟摄像机在当前时间点的位置,调整所述虚拟摄像机的朝向,以使所述虚拟摄像机的焦点保持在所述第一焦点。
12.根据权利要求10所述的方法,其特征在于,根据所述虚拟摄像机在当前时间点的位置,以及所述第一焦点和所述第二焦点,调整所述虚拟摄像机在所述当前时间点的朝向的步骤,包括:
如果所述第一焦点和所述第二焦点不同,设置从所述第一焦点移动至所述第二焦点的线性变化函数;
基于所述线性变化函数,确定所述虚拟摄像机在当前时间点的焦点;
根据所述虚拟摄像机在当前时间点的位置,调整所述虚拟摄像机的朝向,以使所述虚拟摄像机的焦点保持在当前时间点的焦点。
13.根据权利要求1所述的方法,其特征在于,通过终端一显示组件提供图形用户界面;在初始状态下,所述目标镜头画面的焦点位于图形用户界面的指定对象上;
所述基于所述移动控制参数,控制所述虚拟摄像机移动,得到所述目标镜头画面的步骤之后,所述方法还包括:
如果在所述图形用户界面显示虚拟控件,根据虚拟控件的位置计算得到偏移值,所述偏移值用于使所述指定对象显示在所述虚拟控件以外的区域;基于所述偏移值,偏移所述目标镜头画面,以使所述焦点保持在所述指定对象上;
响应于镜头旋转事件,基于所述初始状态下所述目标镜头画面的焦点旋转所述目标镜头画面,得到旋转后的镜头画面;基于所述偏移值,偏移旋转后的所述镜头画面。
14.根据权利要求1所述的方法,其特征在于,基于所述移动控制参数,控制所述虚拟摄像机移动,得到所述目标镜头画面的步骤之后,所述方法还包括:
响应于镜头切换结束事件,设置所述目标镜头画面的第一镜头参数的参数范围;其中,所述参数范围用于限制所述目标镜头画面的视角。
15.一种游戏中的镜头切换装置,其特征在于,所述装置包括:
参数获取模块,用于响应于游戏中的镜头切换事件,获取目标镜头画面的第一镜头参数;其中,所述第一镜头参数用于:指示所述目标镜头画面对应的虚拟摄像机的位置和朝向;
参数确定模块,用于根据所述第一镜头参数和当前镜头画面的第二镜头参数,确定所述虚拟摄像机的移动控制参数;其中,所述第二镜头参数用于:指示所述当前镜头画面对应的虚拟摄像机的位置和朝向;所述移动控制参数用于控制所述虚拟摄像机的移动;
移动模块,用于基于所述移动控制参数,控制所述虚拟摄像机移动,得到所述目标镜头画面;
所述移动模块还用于:基于移动控制参数和预设的移动曲线,控制虚拟摄像机移动,得到目标镜头画面;其中,所述移动控制参数至少包括虚拟摄像机的起点、虚拟摄像机的终点、虚拟摄像机从起点移动至终点所经过的路径;所述移动曲线包括指定数量的时间点以及每个所述时间点对应的函数值。
16.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1-14任一项所述的游戏中的镜头切换方法。
17.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现权利要求1-14任一项所述的游戏中的镜头切换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010713882.1A CN111803946B (zh) | 2020-07-22 | 2020-07-22 | 游戏中的镜头切换方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010713882.1A CN111803946B (zh) | 2020-07-22 | 2020-07-22 | 游戏中的镜头切换方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111803946A CN111803946A (zh) | 2020-10-23 |
CN111803946B true CN111803946B (zh) | 2024-02-09 |
Family
ID=72862178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010713882.1A Active CN111803946B (zh) | 2020-07-22 | 2020-07-22 | 游戏中的镜头切换方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111803946B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112330736A (zh) * | 2020-11-02 | 2021-02-05 | 北京虚拟动点科技有限公司 | 一种场景画面的拍摄方法、装置、电子设备及存储介质 |
CN112770017A (zh) * | 2020-12-07 | 2021-05-07 | 深圳市大富网络技术有限公司 | 一种3d动画播放方法、装置及计算机可读存储介质 |
CN112672057B (zh) * | 2020-12-25 | 2022-07-15 | 维沃移动通信有限公司 | 拍摄方法及装置 |
CN112738393B (zh) * | 2020-12-25 | 2022-08-09 | 珠海西山居移动游戏科技有限公司 | 调焦方法及装置 |
CN112752025B (zh) * | 2020-12-29 | 2022-08-05 | 珠海金山网络游戏科技有限公司 | 虚拟场景的镜头切换方法及装置 |
CN112584236B (zh) * | 2020-12-30 | 2022-10-14 | 米哈游科技(上海)有限公司 | 图像擦除方法、装置、电子设备及存储介质 |
CN112584237B (zh) * | 2020-12-30 | 2022-06-17 | 米哈游科技(上海)有限公司 | 图像擦除方法、装置、电子设备及存储介质 |
CN112584235B (zh) * | 2020-12-30 | 2022-10-28 | 米哈游科技(上海)有限公司 | 图像擦除方法、装置、电子设备及存储介质 |
CN112843695B (zh) * | 2020-12-31 | 2023-06-27 | 上海米哈游天命科技有限公司 | 拍摄图像的方法、装置、电子设备及存储介质 |
CN112843693B (zh) * | 2020-12-31 | 2023-12-29 | 上海米哈游天命科技有限公司 | 拍摄图像的方法、装置、电子设备及存储介质 |
CN113055550A (zh) * | 2021-02-26 | 2021-06-29 | 视伴科技(北京)有限公司 | 一种预演赛事活动的方法及装置 |
CN112891943B (zh) * | 2021-03-19 | 2022-08-02 | 腾讯科技(深圳)有限公司 | 一种镜头处理方法、设备以及可读存储介质 |
CN113101658B (zh) * | 2021-03-29 | 2023-08-29 | 北京达佳互联信息技术有限公司 | 虚拟空间中的视角切换方法、装置及电子设备 |
CN113313796B (zh) * | 2021-06-08 | 2023-11-07 | 腾讯科技(上海)有限公司 | 场景生成方法、装置、计算机设备和存储介质 |
CN113318439B (zh) * | 2021-06-17 | 2024-05-28 | 网易(杭州)网络有限公司 | 起步动画的处理方法、装置、处理器和电子装置 |
CN113769404A (zh) * | 2021-09-15 | 2021-12-10 | 网易(杭州)网络有限公司 | 游戏中的移动控制方法、装置及电子设备 |
CN114307145B (zh) * | 2022-01-04 | 2023-06-27 | 腾讯科技(深圳)有限公司 | 画面显示方法、装置、终端及存储介质 |
CN114546227B (zh) * | 2022-02-18 | 2023-04-07 | 北京达佳互联信息技术有限公司 | 虚拟镜头控制方法、装置、计算机设备及介质 |
CN114371806B (zh) * | 2022-03-22 | 2022-08-26 | 广州三七极创网络科技有限公司 | 虚拟相机镜头参数处理、更新方法、装置、设备及介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104394400A (zh) * | 2014-12-09 | 2015-03-04 | 山东大学 | 基于立体多画显示的隔网对抗性项目虚拟仿真系统及方法 |
CN106780674A (zh) * | 2016-11-28 | 2017-05-31 | 网易(杭州)网络有限公司 | 镜头移动方法和装置 |
CN107213636A (zh) * | 2017-05-31 | 2017-09-29 | 网易(杭州)网络有限公司 | 镜头移动方法、装置、存储介质和处理器 |
CN109420338A (zh) * | 2017-08-31 | 2019-03-05 | 腾讯科技(深圳)有限公司 | 模拟镜头移动的虚拟场景显示方法及装置、电子设备 |
CN110062271A (zh) * | 2019-04-28 | 2019-07-26 | 腾讯科技(成都)有限公司 | 场景切换方法、装置、终端及存储介质 |
CN110339556A (zh) * | 2019-07-12 | 2019-10-18 | 网易(杭州)网络有限公司 | 一种游戏中的显示控制方法及装置 |
CN110694271A (zh) * | 2019-10-21 | 2020-01-17 | 网易(杭州)网络有限公司 | 游戏场景中的相机姿态控制方法、装置及电子设备 |
CN110898429A (zh) * | 2019-12-04 | 2020-03-24 | 米哈游科技(上海)有限公司 | 一种游戏剧情展现方法、装置、电子设备及存储介质 |
CN111158469A (zh) * | 2019-12-12 | 2020-05-15 | 广东虚拟现实科技有限公司 | 视角切换方法、装置、终端设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6058184B1 (ja) * | 2016-03-10 | 2017-01-11 | 株式会社コロプラ | ヘッドマウントディスプレイシステムを制御するための方法、および、プログラム |
-
2020
- 2020-07-22 CN CN202010713882.1A patent/CN111803946B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104394400A (zh) * | 2014-12-09 | 2015-03-04 | 山东大学 | 基于立体多画显示的隔网对抗性项目虚拟仿真系统及方法 |
CN106780674A (zh) * | 2016-11-28 | 2017-05-31 | 网易(杭州)网络有限公司 | 镜头移动方法和装置 |
CN107213636A (zh) * | 2017-05-31 | 2017-09-29 | 网易(杭州)网络有限公司 | 镜头移动方法、装置、存储介质和处理器 |
CN109420338A (zh) * | 2017-08-31 | 2019-03-05 | 腾讯科技(深圳)有限公司 | 模拟镜头移动的虚拟场景显示方法及装置、电子设备 |
CN110062271A (zh) * | 2019-04-28 | 2019-07-26 | 腾讯科技(成都)有限公司 | 场景切换方法、装置、终端及存储介质 |
CN110339556A (zh) * | 2019-07-12 | 2019-10-18 | 网易(杭州)网络有限公司 | 一种游戏中的显示控制方法及装置 |
CN110694271A (zh) * | 2019-10-21 | 2020-01-17 | 网易(杭州)网络有限公司 | 游戏场景中的相机姿态控制方法、装置及电子设备 |
CN110898429A (zh) * | 2019-12-04 | 2020-03-24 | 米哈游科技(上海)有限公司 | 一种游戏剧情展现方法、装置、电子设备及存储介质 |
CN111158469A (zh) * | 2019-12-12 | 2020-05-15 | 广东虚拟现实科技有限公司 | 视角切换方法、装置、终端设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111803946A (zh) | 2020-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111803946B (zh) | 游戏中的镜头切换方法、装置和电子设备 | |
CN110944727B (zh) | 控制虚拟照相机的系统和方法 | |
US10846927B2 (en) | Method and apparatus for displaying a bullet-style comment in a virtual reality system | |
CN110249626B (zh) | 增强现实图像的实现方法、装置、终端设备和存储介质 | |
CN104364712A (zh) | 用于捕获全景图像的方法和装置 | |
CN109925720A (zh) | 信息处理方法和装置 | |
US20200275083A1 (en) | Information processing apparatus, information processing method, and computer readable storage medium | |
JP2015056143A (ja) | 情報処理装置および情報処理方法 | |
CN112354186A (zh) | 游戏动画模型控制方法、装置、电子设备以及存储介质 | |
KR102484197B1 (ko) | 정보 처리장치, 정보 처리방법 및 기억매체 | |
CN113082697A (zh) | 游戏交互方法、装置和电子设备 | |
CN113082700A (zh) | 信息交互方法、装置和电子设备 | |
CN116501209A (zh) | 编辑视角的调整方法、装置、电子设备及可读存储介质 | |
US20180326310A1 (en) | Game processing program, game processing method, and game processing device | |
US20180326305A1 (en) | Game processing program, game processing method, and game processing device | |
CN114053701A (zh) | 一种显示方法、装置及存储介质 | |
CN107564058B (zh) | 对象位置显示方法及装置 | |
CN111475026A (zh) | 一种基于移动终端应用增强虚拟现实技术的空间定位方法 | |
CN113181654B (zh) | 游戏画面生成方法、装置、存储介质及电子设备 | |
CN113332712B (zh) | 游戏场景画面移动方法、装置和电子设备 | |
CN117899494A (zh) | 虚拟角色的外观编辑方法、装置和电子设备 | |
WO2023246313A1 (zh) | 游戏画面控制方法、装置和电子设备 | |
WO2024070762A1 (ja) | 情報処理装置、情報処理方法、プログラム | |
CN117917255A (zh) | 方位指示器的显示控制方法、装置及电子设备 | |
CN117899461A (zh) | 游戏动画的播放控制方法、装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |