CN114371806A - 虚拟相机镜头参数处理、更新方法、装置、设备及介质 - Google Patents

虚拟相机镜头参数处理、更新方法、装置、设备及介质 Download PDF

Info

Publication number
CN114371806A
CN114371806A CN202210281904.0A CN202210281904A CN114371806A CN 114371806 A CN114371806 A CN 114371806A CN 202210281904 A CN202210281904 A CN 202210281904A CN 114371806 A CN114371806 A CN 114371806A
Authority
CN
China
Prior art keywords
parameter
lens
standard
camera
grade
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.)
Granted
Application number
CN202210281904.0A
Other languages
English (en)
Other versions
CN114371806B (zh
Inventor
刘舟
冯成
胡懿婷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Sanqi Jichuang Network Technology Co ltd
Original Assignee
Guangzhou Sanqi Jichuang Network Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Sanqi Jichuang Network Technology Co ltd filed Critical Guangzhou Sanqi Jichuang Network Technology Co ltd
Priority to CN202210281904.0A priority Critical patent/CN114371806B/zh
Publication of CN114371806A publication Critical patent/CN114371806A/zh
Application granted granted Critical
Publication of CN114371806B publication Critical patent/CN114371806B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5252Changing parameters of virtual cameras using two or more virtual cameras concurrently or sequentially, e.g. automatically switching between fixed virtual cameras when a character changes room or displaying a rear-mirror view in a car-driving game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5255Changing parameters of virtual cameras according to dedicated instructions from a player, e.g. using a secondary joystick to rotate the camera around a player's character
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/617Upgrading or updating of programs or applications for camera control
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
    • A63F2300/6669Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera using a plurality of virtual cameras concurrently or sequentially, e.g. automatically switching between fixed virtual cameras when a character change rooms
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
    • A63F2300/6676Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera by dedicated player input
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04806Zoom, i.e. interaction techniques or interactors for controlling the zooming operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Abstract

本申请公开了一种虚拟相机镜头参数处理、更新方法、装置、设备及介质,该处理方法包括:响应于镜头参数更新触发事件,获取镜头的目标参数等级;根据所述目标参数等级和预设的多个标准镜头参数组获取第一标准镜头参数组和第二标准镜头参数组;根据所述目标参数等级、所述第一标准镜头参数组和第二标准镜头参数组确定更新镜头参数;其中,所述参数等级的大小表示镜头的远近。该方法能够通过设置标准参数等级和对应的标准镜头参数,将镜头参数限制在一定范围内,使得调整镜头后所获取的更新镜头参数在该限制范围内,满足用户的观察需求。本申请可广泛应用于虚拟相机技术领域内。

Description

虚拟相机镜头参数处理、更新方法、装置、设备及介质
技术领域
本申请涉及计算机技术领域,尤其是一种虚拟相机镜头参数处理、更新方法、装置、设备及介质。
背景技术
近年来,随着计算机技术和移动通信技术的飞速发展,连接互联网的终端设备可以支持各种媒体、娱乐和生活应用。通过智能终端设备,用户可以方便的通过各种应用程序来实现多样化的娱乐操作。
相关技术中,在虚拟场景下通过对虚拟相机镜头的控制来获取用户感兴趣的镜头画面,以满足用户不同视角或者范围的观察需求。镜头变化后,需要及时获取变化后的镜头参数以获得变化后的镜头画面,然而目前的镜头参数更新方法简单直接,使得变化后的镜头画面不能满足用户的观察需求。
综上,相关技术存在的问题亟需得到解决。
发明内容
本申请的目的在于至少一定程度上解决相关技术中存在的技术问题之一。
为此,本申请实施例的一个目的在于提供一种虚拟相机镜头参数处理、更新方法、装置、设备及介质。
为了达到上述技术目的,本申请实施例所采取的技术方案包括:
一方面,本申请实施例提供了一种虚拟相机镜头参数处理方法,所述处理方法包括:
响应于当前镜头画面中镜头参数更新触发事件,获取镜头的目标参数等级;
根据所述目标参数等级和预设的多个标准镜头参数组获取第一标准镜头参数组和第二标准镜头参数组;所述标准镜头参数组包括标准参数等级和与该标准参数等级对应的标准镜头参数;
根据所述目标参数等级、所述第一标准镜头参数组和第二标准镜头参数组确定更新镜头参数;
其中,所述参数等级的大小表示镜头的远近。
本申请实施例通过设置与镜头远近相关的标准参数等级和对应的标准镜头参数将镜头更新参数限定在一定范围内,且可对远近不同调节位置的镜头参数进行精细调控,因此解决了镜头画面超出预期范围的技术问题。
另外,根据本申请上述实施例的一种虚拟相机镜头参数处理,还可以具有以下附加的技术特征:
进一步地,在本申请的一个实施例中,多个所述标准参数等级限定出多个参数等级区间,每个所述参数等级区间由相邻的两个标准参数等级作为端点值;所述根据所述目标参数等级和预设的多个标准镜头参数组获取第一标准镜头参数组和第二标准镜头参数组的步骤,包括:
确定所述目标参数等级所位于的参数等级区间为目标参数等级区间;
将所述目标参数等级区间的较小的端点值设置为第一标准参数等级;所述第一标准参数等级对应的标准镜头参数为第一标准镜头参数;
将所述目标参数等级区间的较大的端点值设置为第二标准参数等级;所述第二标准参数等级对应的标准镜头参数为第二标准镜头参数。
该实施例所示步骤可以简单的确定第一标准镜头参数组和第二标准镜头参数组,为更新镜头参数的计算提供便利。
进一步地,在本申请的一个实施例中,所述根据所述目标参数等级、所述第一标准镜头参数组和第二标准镜头参数组确定更新镜头参数的步骤,包括:
计算所述第二标准镜头参数和所述第一标准镜头参数的差值得到区间镜头参数差;
计算所述第二标准参数等级和所述第一标准参数等级的差值得到区间标准等级参数差;
根据所述区间镜头参数差和所述区间标准等级参数差确定镜头参数步长;
计算所述目标参数等级和所述第一标准参数等级的差值得到目标参数等级差;
根据所述镜头参数步长、所述目标参数等级差和所述第一标准镜头参数确定所述更新镜头参数。
该实施例中,通过对目标等级参数所在的目标参数等级区间的镜头参数步长进行计算,利用该镜头参数步长来插值计算目标等级参数所对应的更新镜头参数。因此能够对非标准参数等级的目标参数等级所对应的更新镜头参数进行精细计算调控。
进一步地,在本申请的一个实施例中,所述根据所述镜头参数步长、所述目标参数等级差和所述第一标准镜头参数确定所述更新镜头参数的步骤,包括:
计算所述镜头参数步长和所述目标参数等级差的乘积;
计算所述乘积和所述第一标准镜头参数的和作为所述更新镜头参数。
该实施例中,用镜头参数步长和目标参数等级差的乘积和第一标准镜头参数的和来作为更新镜头参数,可以将更新镜头参数的值设置在第一标准镜头参数和第二标准镜头参数之间,使得更新镜头参数的数值大小符合预期。
进一步地,在本申请的一个实施例中,相邻的参数等级区间的镜头参数步长不同;所述镜头参数步长为该参数等级区间内单位参数等级的镜头参数的变化值。
该实施例中,通过对相邻参数等级区间的镜头参数步长设置为不同的数值,可以对相邻参数等级区间的镜头参数实现不同精细度的调控,从而能够适应不同镜头远近情况下对调控精细度的要求不同的需求。
进一步地,在本申请的一个实施例中,所述多个参数等级区间包括相邻的第一参数等级区间和第二参数等级区间,所述第一参数等级区间由相邻的第三标准参数等级和第四标准参数等级作为端点值,所述第二参数等级区间由相邻的第五标准参数和第六标准参数等级作为端点值,
其中,所述第三标准参数等级、所述第四标准参数等级、所述第五标准参数和所述第六标准参数等级的值依次增大,且所述第四标准参数等级与所述第五标准参数等级的差为1。
该实施例中,将第一参数等级区间和第二参数等级区间相邻的端点值设置成不一样的,且差值为1的数值,可以简化计算,方便的实现镜头参数步长和目标镜头参数的计算。
进一步地,在本申请的一个实施例中,所述更新镜头参数包括更新相机位置参数、更新相机旋转参数、更新相机焦点位置旋转参数;
所述处理方法还包括:
根据所述更新相机位置参数和所述更新相机焦点位置旋转参数确定相机本地坐标值;
根据所述更新相机旋转参数和所述更新相机焦点位置旋转参数确定相机本地旋转参数。
该实施例中,将更新后的镜头参数做进一步处理,得到能够应用于虚拟相机调控的本地参数,且通过该实施例中的坐标转换和参数计算所得到的镜头参数,能够使得镜头缩放的过程中虚拟相机和相机焦点对象位置保持在同一直线上,响应于镜头缩放、虚拟相机镜头在该直线上拉近或拉远,因此能够使得焦点不产生偏移。
进一步地,在本申请的一个实施例中,所述根据所述更新相机位置参数和所述更新相机焦点位置旋转参数确定相机本地坐标值的步骤,包括:
将所述更新相机位置参数转换为第一世界坐标;
将所述第一世界坐标转换为相机焦点位置旋转参数为0时的第一本地坐标;
将所述虚拟相机的焦点旋转至所述更新相机焦点位置旋转参数,根据所述第一本地坐标和所述更新相机焦点位置旋转参数转换得到第二世界坐标;
将所述第二世界坐标转换为所述相机本地坐标值。
该实施例中,通过上述本地坐标和世界坐标之间的转换和旋转计算的流程设置,来获取相关镜头参数,使得镜头缩放的过程中虚拟相机和相机焦点对象位置保持在同一直线上,响应于镜头缩放、虚拟相机镜头在该直线上拉近或拉远,因此能够使得焦点不产生偏移。
进一步地,在本申请的一个实施例中,所述根据所述更新相机旋转参数和所述更新相机焦点位置旋转参数确定相机本地旋转参数的步骤,包括:
计算所述更新相机旋转参数减去所述更新相机焦点位置旋转参数的差值,该差值为所述相机本地旋转参数。
该实施例中,给出了相机本地旋转参数的计算方法,该计算方法所得到的相机本地旋转参数参与镜头画面显示后,能够使得镜头缩放的过程中虚拟相机和相机焦点对象位置保持在同一直线上,响应于镜头缩放、虚拟相机镜头在该直线上拉近或拉远,因此能够使得焦点不产生偏移,为镜头画面的渲染显示做好镜头参数处理准备工作。
进一步地,在本申请的一个实施例中,在所述响应于当前镜头画面中镜头参数更新触发事件,获取镜头的目标参数等级的步骤之前,所述处理方法还包括:
对所述虚拟相机进行初始化参数配置,初始化参数包括相机位置参数、相机旋转参数、相机fov参数、模型根节点位置参数、模型位置参数、相机焦点对象位置参数、相机焦点对象旋转参数和参数等级。
该实施例中,给出了相机初始化配置步骤和初始化参数的类型,完善了虚拟相机控制的整个流程。
另一方面,本申请实施例还提供了一种虚拟相机镜头画面更新方法,所述镜头画面更新方法包括:
根据前述的一种虚拟相机镜头参数处理方法确定所述相机本地坐标值、所述相机本地旋转参数和所述更新镜头参数,所述更新镜头参数还包括更新相机fov参数、更新模型根节点位置参数、更新模型位置参数和更新相机焦点对象位置参数;
基于所述相机本地坐标值、所述相机本地旋转参数和所述更新镜头参数调整所述虚拟相机的方位信息、渲染更新后的镜头画面。
该镜头画面更新方法由于利用了前述更新镜头参数和其他参数的获取方法,使得最终渲染出的镜头画面在预期范围内,且用户关注焦点不会产生偏移。
另一方面,本申请实施例还提供了一种虚拟相机镜头参数处理装置,所述处理装置包括:
响应单元,用于响应于当前镜头画面中镜头参数更新触发事件,获取镜头的目标参数等级;
第一处理单元,根据所述目标参数等级和预设的多个标准镜头参数组获取第一标准镜头参数组和第二标准镜头参数组;所述标准镜头参数组包括标准参数等级和与该标准参数等级对应的标准镜头参数;其中,所述参数等级的大小表示镜头的远近;
第二处理单元,用于根据所述目标参数等级、所述第一标准镜头参数组和第二标准镜头参数组确定更新镜头参数。
另一方面,本申请实施例提供了一种终端设备,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行时,使得所述至少一个处理器实现上述的虚拟相机镜头参数处理方法或者虚拟相机镜头画面更新方法。
另一方面,本申请实施例还提供了一种计算机可读存储介质,其中存储有处理器可执行的程序,上述处理器可执行的程序在由处理器执行时用于实现上述的虚拟相机镜头参数处理方法或者虚拟相机镜头画面更新方法。
本申请的优点和有益效果将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到:
本申请实施例所公开的一种虚拟相机镜头参数处理方法,响应于镜头参数更新触发事件,获取镜头的目标参数等级;根据所述目标参数等级和预设的多个标准镜头参数组获取第一标准镜头参数组和第二标准镜头参数组;根据所述目标参数等级、所述第一标准镜头参数组和第二标准镜头参数组确定更新镜头参数;其中,所述参数等级的大小表示镜头的远近。该方法能够通过设置标准参数等级和对应的标准镜头参数,将镜头参数限制在一定范围内,使得调整镜头后所获取的更新镜头参数在该限制范围内,满足用户的观察需求。
附图说明
为了更清楚地说明本申请实施例或者现有技术中的技术方案,下面对本申请实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本发明的技术方案中的部分实施例,对于本领域的技术人员来说,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
图1为本申请实施例中提供的一种虚拟相机镜头参数处理的实施环境示意图;
图2为本申请实施例中提供的一种虚拟相机镜头参数处理方法的流程示意图;
图3为本申请实施例中提供的一种虚拟相机在中距离平视时的镜头画面显示界面;
图4为本申请实施例中提供的一种虚拟相机在近距离平视时的镜头画面显示界面;
图5为本申请实施例中提供的一种虚拟相机在中距离俯视时的镜头画面显示界面;
图6为相关技术中提供的一种虚拟相机在近距离俯视时的镜头画面显示界面;
图7为本申请实施例中提供的一种虚拟相机在近距离俯视时的镜头画面显示界面;
图8为本申请实施例中提供的一种虚拟相机镜头画面更新方法的流程示意图;
图9为本申请实施例中提供的一种虚拟相机镜头参数处理装置的结构示意图;
图10为本申请实施例中提供的一种终端设备的结构示意图。
具体实施方式
下面结合说明书附图和具体的实施例对本申请进行进一步的说明。所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
近年来,随着计算机技术和移动通信技术的飞速发展,连接互联网的终端设备可以支持各种媒体、娱乐和生活应用。通过智能终端设备,用户可以方便的通过各种应用程序来实现多样化的娱乐操作。
相关技术中,在虚拟场景下通过对虚拟相机镜头的控制来获取用户感兴趣的镜头画面,以满足用户不同视角或者范围的观察需求。镜头变化后,需要及时获取变化后的镜头参数以获得变化后的镜头画面。常见的镜头参数处理方法,主要实现了以下功能:
1)相机初始化参数:用于实现界面及模型初始化时,根据不同界面的UI布局及模型展示部位需求,为虚拟相机的镜头参数配置不同的初始化参数。
常见的镜头参数如下:镜头焦点(Focus):镜头虚拟相机的聚焦点,即屏幕的中央位置,可以理解,焦点位置通常设置在镜头想主要展现的虚拟模型上,该虚拟模型可以为一个静物,例如建筑物,也可以为一个动态的虚拟角色。
镜头距离(Arm Length,也可以称为臂长):镜头虚拟相机距离镜头焦点的距离。
镜头俯仰角(Pitch):镜头虚拟相机到镜头焦点的连线与水平面形成的角度。
镜头面向角(Yaw):镜头虚拟相机方向和角色朝向形成的角度。
相机fov参数:虚拟相机镜头的视域角度。
相机位置参数:虚拟相机在游戏世界空间中的位置,即x、y、z轴坐标值。
相机旋转参数:虚拟相机在游戏世界空间中的旋转值,即x、y、z三个旋转轴的欧拉角旋转值。
2)虚拟相机镜头的推近拉远:类似于现实摄影技术,用于实现模型在应用画面中的放大缩小,展示模型的局部细节或者整体效果。
3)相机的俯视仰视变化:用于实现俯视角与仰视角之间的模型观察角度变化。
然而目前的镜头参数更新方法简单直接,使得变化后的镜头画面不能满足用户的观察需求。
参照图3,图3中示出了中距离平视时虚拟相机镜头画面显示界面,包括位于屏幕的中间的模型310、位于屏幕左侧的可供用户选择的关注项目320和位于屏幕右侧的对虚拟相机的镜头进行调整的调整项目330。关注项目320包括眼睛、嘴角、上唇等,调整项目330包括偏移、旋转、缩放。可以理解的是,图3所示界面仅为一种示例,并非对本实施例应用场景的限制,各个项目内容和位置等均可灵活设置。比如,镜头画面显示的模型可以不是人物类模型,可以是植物、建筑等等任何模型均可;关注项目320也可以省去,可以由用户在模型310上的点击等方法来确定用户的关注项目;调整项目330可以由用户利用鼠标或者利用触摸来实现镜头的旋转、缩放、偏移等操作。
对图3中的镜头参数进行放大操作后,就可得到如图4所示的近距离平视时虚拟相机镜头画面显示界面,模型310放大后,用户可以更方便的对自己感兴趣的项目进行观察,比如用户对模型310的眼睛部位比较关注,经过该放大操作后,可方便用户观察眼睛部位的细节。比如,在一些游戏应用中,存在对目标人物模型进行捏脸的操作场景,此时通过该放大操作,可以方便游戏玩家对自己感兴趣的部位进行仔细观察,并按照自己喜欢的方式对人物模型进行捏脸改造;或者相机应用中,用户也需要通过类似的过程实现对虚拟相机所构造的模型进行仔细观察或改造。
但是有的时候,为了从各个视角来观察模型,有时候需要通过旋转模型来进行观察,比如采用俯视或者仰视等角度对模型进行观察。图5所示为中距离俯视时虚拟相机镜头画面显示界面,其焦点在模型的头部五官,对图5进行放大操作后,得到如图6所示的近距离俯视时虚拟相机镜头画面显示界面,焦点偏移至模型310的脖子,头部的一部分在显示界面以外,眼睛几乎超出显示界面,难以满足俯视角度下对模型头部五官仔细观察的要求。
同样的,在仰视时对镜头的缩放操作也会存在类似的镜头显示范围不适当和焦点偏移的问题。
当然,需要说明的是,上述的相关技术描述仅用于辅助理解本申请应用的背景,并不代表上述技术内容已属于现有的公知常识。
为了解决相关技术的显示范围不适当或焦点偏移至少之一的技术问题,本申请实施例提供了一种虚拟相机镜头参数处理方法、虚拟相机镜头画面更新方法更新方法、装置、设备及介质,该方法能够使缩放操作后的镜头参数限制在一定范围内,提供合适的镜头画面,满足用户的观察需求。
图1是本申请实施例提供的一种虚拟相机镜头参数处理的实施环境示意图。参照图1,该实施环境的软硬件主体主要包括终端设备101和服务器102,终端设备101可以与服务器102通信连接。本申请实施例中的虚拟相机镜头参数处理方法,可以在终端设备101本地执行,也可以基于终端设备101与服务器102之间的交互来执行。
具体地,本申请中的终端设备101可以包括但不限于智能手表、智能手机、平板电脑、台式计算机、个人数字助理(Personal Digital Assistant,PDA)、智能语音交互设备、智能家电或者车载终端设备中的任意一种或者多种。服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备101与服务器102之间可以通过无线网络或有线网络建立通信连接,该无线网络或有线网络使用标准通信技术和/或协议,网络可以设置为因特网,也可以是其它任何网络,例如包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。
当然,可以理解的是,图1中的实施环境只是本申请实施例中提供的虚拟相机镜头参数处理一种可选的应用场景,实际的应用并不固定为图1所示出的软硬件环境。
下面结合图1示出的实施环境,对本申请实施例中提供的虚拟相机镜头参数处理方法进行详细说明。
参照图2,图2是本申请实施例中提供的一种虚拟相机镜头参数处理方法的流程示意图,图2示出的虚拟相机镜头参数处理方法可在终端设备101侧执行,比如,该方法可以应用于终端设备101中相关的处理器上,但并不局限于以上形式;也可利用终端设备101和服务器102的交互来执行。本申请实施例所涉及的镜头参数用于共同指示虚拟相机的方位信息,常见镜头参数包括:相机位置参数、相机旋转参数、相机fov参数、模型根节点位置参数、模型位置参数、相机焦点对象位置参数、相机焦点对象旋转参数。
其中,相机位置参数的含义为:虚拟相机在游戏世界空间中的位置,即x、y、z轴坐标值;
相机旋转参数的含义为:虚拟相机在游戏世界空间中的旋转值,即x、y、z三个旋转轴的欧拉角旋转值;
相机fov参数的含义为:虚拟相机镜头的视域角度;
模型根节点位置参数的含义为:模型的父级节点在游戏世界空间中的位置,即世界空间XYZ坐标;
模型位置参数的含义为:模型相对于模型根节点的位置,即模型根节点空间XYZ坐标;
相机焦点对象位置参数的含义为:相机焦点对象在游戏世界空间中的坐标,即世界空间XYZ坐标;
相机焦点对象旋转参数的含义为:相机焦点对象在游戏世界空间中的欧拉角旋转值,即世界空间的XYZ轴旋转数值。
具体地,图2中的方法包括但不限于步骤210至步骤230。
步骤210:响应于当前镜头画面中镜头参数更新触发事件,获取镜头的目标参数等级。
图5为终端101所提供的虚拟相机镜头画面,该镜头画面为虚拟相机采用俯视角度时的模型展示画面。当前镜头画面中镜头参数更新触发事件可以由用户的多种操作直接或间接地触发,该镜头参数更新触发事件具体可以为在游戏应用或者虚拟相机应用等应用程序中针对目标业务场景或业务对象的触发事件,其中,目标业务场景可以理解为特定的业务场景,如对捏脸场景下对某局部位置进行捏脸的情景,当用户控制业务对象进入某个特定的业务场景时,就会触发镜头参数更新事件。比如,可将镜头参数更新触发事件设置包括用户在当前镜头画面的缩放操作。以图5所示镜头画面为例,用户可以将关注项目设置为眼睛,并对该镜头进行放大操作,终端101即可捕获该放大操作。可以理解的是,图5所示界面仅为一种示例,并非对本实施例的限制,各个项目内容和位置等均可灵活设置。比如,镜头画面显示的模型可以不是人物类模型,可以是植物、建筑等等用户关注的模型均可;关注项目320也可以省去,可以由用户在人物模型310上的点击等方法来确定用户的关注项目,或者采用鼠标停留位置来确定关注项目等等,或者利用用户在缩放操作前的手指停留位置来确定用户的关注项目;调整项目330可以由用户利用鼠标或者利用触摸来实现镜头的旋转、缩放、偏移等操作来实现。本实施例中不对镜头参数更新事件的形式做任何限定,只要终端101能够检测到该事件即可。
若当前镜头画面中所触发的事件满足镜头参数更新触发条件,则会获取镜头的目标参数等级。参数等级的值的大小表示镜头距离的远近。示例性地,参数等级的值越大,表示镜头距离越远。
步骤220:根据所述目标参数等级和预设的多个标准镜头参数组获取第一标准镜头参数组和第二标准镜头参数组;所述标准镜头参数组包括标准参数等级和与该标准参数等级对应的标准镜头参数。
如前所述,参数等级的值与镜头距离远近相关,比如可将镜头距离最小时(比如,镜头距离为0时)的参数等级设置为0,将镜头距离最远处的参数等级设置为100。参数等级的值可灵活设置,此处的0和100仅为示例。参数等级为0时,对应的镜头参数为近端镜头参数;参数等级为100时,对应的镜头参数为远端镜头参数。比如当镜头参数为位置参数时,可将近端位置参数设置为(0,0,0),远端位置参数设置为(150,150,150)。
标准镜头参数组至少包括近端镜头参数组和远端镜头参数组。通过预设的多个标准镜头参数组中对与标准参数等级对应的标准镜头参数赋值,限定了画面显示的范围,从而避免了镜头显示画面不适当的问题。
标准镜头参数组还可以包括近端镜头参数组、中端镜头参数组和远端镜头参数组;近端镜头参数组包括近端参数等级和近端镜头参数,中端镜头参数组包括中端参数等级和中端镜头参数,远端镜头参数组包括远端参数等级和远端镜头参数。可灵活设置上述镜头参数组,比如,以位置参数为例:近端参数等级为0,近端镜头参数中的近端位置参数为(0,0,0);中端参数等级为50,中端镜头参数中的中端位置参数为(50,50,50);远端参数等级为100,远端镜头参数中的远端位置参数为(150,150,150)。可以理解的是,参数等级的值可以自由设定,镜头参数的数值也可根据实际应用场景和镜头画面显示效果做灵活设置,上述数值均为示例,不作为对本申请实施例的限制。其他类型的镜头参数的设置过程与位置参数的设置过程一致,区别仅仅在于不同镜头参数的值的含义、大小、格式等方面并不相同。
具体的标准镜头参数组的个数为多个,至少为2个,可设置为3个,或者3个以上,本申请实施例中对具体数量此不做限定。设置为3个时,比如说,包括远端标准参数组、中端标准参数组和近端标准参数组,可以较好的对远、中、近不同调节位置的镜头画面进行调控。
当标准镜头参数组的个数是2个,包括近端镜头参数组和远端镜头参数组时,此时的第一标准镜头参数为近端镜头参数。
当标准镜头参数组的个数是3个,包括近端镜头参数组、中端镜头参数组和远端镜头参数组时,则根据目标参数等级和近端参数等级、中端参数等级的比较来确定第一标准镜头参数。比如,将目标参数等级大于且最接近目标参数等级的标准参数等级所对应的镜头参数确定为第一标准镜头参数。
步骤230:根据所述目标参数等级、所述第一标准镜头参数组和第二标准镜头参数组确定更新镜头参数。
具体地,根据目标参数等级和第一标准参数等级可以确定目标参数等级和第一标准参数等级之间的差值,即可以确定目标更新镜头参数与第一标准镜头参数之间的距离,根据该差值和标准镜头参数来确定更新镜头参数。
通过该步骤,使得镜头画面为非标准参数等级时依然能够得到精细的调控,满足用户的观察需求。
在一些实施例中,多个所述标准参数等级限定出多个参数等级区间,每个所述参数等级区间由相邻的两个标准参数等级作为端点值;所述根据所述目标参数等级和预设的多个标准镜头参数组获取第一标准镜头参数组和第二标准镜头参数组的步骤,包括:
确定所述目标参数等级所位于的参数等级区间为目标参数等级区间;
将所述目标参数等级区间的较小的端点值设置为第一标准参数等级;所述第一标准参数等级对应的标准镜头参数为第一标准镜头参数;
将所述目标参数等级区间的较大的端点值设置为第二标准参数等级;所述第二标准参数等级对应的标准镜头参数为第二标准镜头参数。
以标准镜头参数组的个数是3个为例来解释上述步骤。3个标准镜头参数组包括近端镜头参数组、中端镜头参数组和远端镜头参数组,近端镜头参数组和中端镜头参数组构成第一参数等级区间,中端镜头参数组和远端镜头参数组之间构成第二参数等级区间。如果目标参数等级大于近端参数等级、且小于中端参数等级,那么目标参数等级就位于第一参数等级区间,此时近端参数等级即为第一标准参数等级,近端镜头参数即为第一标准镜头参数。如果目标参数等级大于中端参数等级、且小于远端参数等级,那么目标参数等级就位于第二参数等级区间,此时中端参数等级即为第一标准参数等级,中端镜头参数即为第一标准镜头参数。
通过该步骤可以简单的确定第一标准镜头参数组和第二标准镜头参数组,为更新镜头参数的计算提供便利。
经过本申请所提供的上述方法,通过设置标准参数等级和对应的标准镜头参数,为不同调节位置设置了标准镜头参数,将镜头参数限制在一定范围内,使得调整镜头后所获取的更新镜头参数在该限制范围内,满足用户的观察需求。如图7所示,俯视时对模型进行放大处理后,不会出现头部五官超出镜头画面的情况。
在一些实施例中,所述根据所述目标参数等级、所述第一标准镜头参数组和第二标准镜头参数组确定更新镜头参数的步骤,包括:
计算所述第二标准镜头参数和所述第一标准镜头参数的差值得到区间镜头参数差;
计算所述第二标准参数等级和所述第一标准参数等级的差值得到区间标准等级参数差;
根据所述区间镜头参数差和所述区间标准等级参数差确定镜头参数步长;
计算所述目标参数等级和所述第一标准参数等级的差值得到目标参数等级差;
根据所述镜头参数步长、所述目标参数等级差和所述第一标准镜头参数确定所述更新镜头参数。
该步骤中,通过对目标等级参数所在的目标参数等级区间的镜头参数步长进行计算,利用该镜头参数步长来插值计算目标等级参数所对应的更新镜头参数。因此能够对非标准参数等级的目标参数等级所对应的更新镜头参数进行精细计算。
在一些实施例中,所述根据所述镜头参数步长、所述目标参数等级差和所述第一标准镜头参数确定所述更新镜头参数的步骤,包括:
计算所述镜头参数步长和所述目标参数等级差的乘积;
计算所述乘积和所述第一标准镜头参数的和作为所述更新镜头参数。
该步骤中进一步描述了插值计算的计算过程,利用镜头参数步长和目标参数等级差的乘积和第一标准镜头参数的和来作为更新镜头参数,可以将更新镜头参数的值设置在第一标准镜头参数和第二标准镜头参数之间,使得更新镜头参数的数值大小符合预期,不会出现超出显示界面、不符合观察预期的问题。
在一些实施例中,相邻的参数等级区间的镜头参数步长不同;所述镜头参数步长为该参数等级区间内单位参数等级的镜头参数的变化值。可以理解的是,在该步骤所涉及的实施例中,标准镜头参数组的个数至少为3个,这样才能够形成至少2个的相邻的参数等级区间。以标准镜头参数组的个数是3个为例来解释上述步骤。3个标准镜头参数组包括近端镜头参数组、中端镜头参数组和远端镜头参数组,近端镜头参数组和中端镜头参数组构成第一参数等级区间,中端镜头参数组和远端镜头参数组之间构成第二参数等级区间。第一参数等级区间和第二参数等级区间的镜头参数步长不同,也就是说,单位参数等级所对应的镜头参数的变化值不同。仍以位置参数举例:近端参数等级为0,近端镜头参数中的近端位置参数为(0,0,0);中端参数等级为50,中端镜头参数中的中端位置参数为(50,50,50);远端参数等级为100,远端镜头参数中的远端位置参数为(150,150,150);那么第一参数等级区间的镜头参数步长的值为(50-0)/(50-0)=1,第二参数等级区间的镜头步长的值为(150-50)/(100-50)=2。可见在该示例中,第二参数等级区间的镜头步长大于第一参数等级区间的镜头步长,因此,第一参数等级区间进行缩放操作时,镜头缩放更精细,在第二参数等级区间进行缩放操作时,镜头缩放更迅捷。
可选地,可将标准参数等级值较小的参数等级区间的镜头参数步长设置为小于标准参数等级值较大的参数等级区间的镜头参数步长;也就是说,越靠近近端的参数等级区间的镜头参数步长越小。对于上述标准镜头参数组的个数为3个的例子来说,即靠近近端的第一参数等级区间的镜头参数步长小于靠近远端的第二参数等级区间的镜头参数步长。这样设置后,能够在近端缩放时使得镜头画面的显示更加精细,在远端缩放时使得镜头画面的显示更加迅捷。
可理解的是,除了各个参数等级区间的端点的镜头参数值会影响步长外,中端镜头参数组中的中端参数等级的数值也会对此产生影响,比如,在中端镜头参数固定的情况下,中端参数等级值越靠近近端参数等级值,则镜头参数步长越大,对于较近端镜头(位于第一参数等级区间内的镜头)缩放时的画面显示的调控就越迅捷和越不精细,相反在较远端镜头(位于第二参数等级区间内的镜头)缩放时的画面显示的调控就越精细。因此,可选地,本申请又一实施例中,相邻的参数等级区间的分界处的端点的标准参数等级的数值更靠近远端参数等级,即相对于近端参数等级更靠近远端参数等级,偏离了近端参数等级和远端参数等级之间的中位值。这样的设置,可以使得靠近近端的镜头缩放时的镜头参数的调控更精细。
可以理解的是,也可选择将相邻两个参数等级区间的分界处的参数等级设置为位于两个参数等级区间所构成的整体区间的参数等级的中间值。比如,对于具有两个参数等级区间的情形而言,其中端参数等级可以设置为基本上等于近端和远端的中间值,可兼顾镜头远近距离下两种情形下的调控的精细度和迅捷度。
在一些实施例中,所述多个参数等级区间包括相邻的第一参数等级区间和第二参数等级区间,所述第一参数等级区间由相邻的第三标准参数等级和第四标准参数等级作为端点值,所述第二参数等级区间由相邻的第五标准参数和第六标准参数等级作为端点值,
其中,所述第三标准参数等级、所述第四标准参数等级、所述第五标准参数和所述第六标准参数等级的值依次增大,且所述第四标准参数等级与所述第五标准参数等级的差为1。
将第一参数等级区间和第二参数等级区间相邻的端点值设置成不一样的,且差值为1的数值,可以简化计算,方便的实现镜头参数步长和目标镜头参数的计算。以标准镜头参数组的个数是3个为例来解释上述内容。近端镜头参数组所包括的第三标准参数等级为0,中端镜头参数组所包括的第四标准参数等级为50,中端镜头参数组所包括的第五标准参数等级为51,远端镜头参数组包括的第六标准参数等级为101;也就是说,中端镜头参数组包括2个子中端镜头参数组,两个子中端镜头参数组中的标准参数等级的差值为1。这样设置后,若目标参数等级的大小位于第四标准参数等级和第五标准参数等级之间时,虚拟相机的镜头参数是不变的,只有在小于第四标准参数等级的第一参数等级区间和大于第五标准参数等级的第二参数等级区间内才会根据各个区间的镜头参数步长对镜头参数的数值进行更新。
具体地,以标准镜头参数组的个数为3个、分别为近端镜头参数组、中端镜头参数组和远端镜头参数组,以镜头参数为位置参数为例来对前述步骤进行详细说明。其他个数的参数组和其他的镜头参数均可以参照本示例来解释。
近端参数等级为0,近端镜头参数中的近端位置参数为(0,0,0);第一中端参数等级为50,第一中端镜头参数中的第一中端位置参数为(50,50,50);第二中端参数等级为51,第二中端镜头参数中的第二中端位置参数为(50,50,50);远端参数等级为101,远端镜头参数中的远端位置参数为(150,150,150);近端参数等级和第一中端参数等级所限定的区间为第三参数等级区间,第二中端参数等级所限定的区间为第四参数等级区间。
假设此时获取到的目标参数等级为61,由于61大于51、小于101,所以位于第四参数等级区间。第四参数等级区间的镜头参数步长的计算公式为(150-50)/(101-51),即第四参数等级区间的镜头参数步长为2,此计算公式中的50表示第二中端位置参数中的参数50;目标参数等级与第二中端参数等级的差为(61-51),即目标参数等级与第二中端参数等级的差为10;则该目标参数等级60所对应的一维位置参数的计算公式为(50+2*10),即为70,此计算公式中的50表示第二中端位置参数中的参数50;因此,可获得目标参数等级60所对应的位置参数为(70,70,70)。
在一些实施例中,所述更新镜头参数包括更新相机位置参数、更新相机旋转参数、更新相机焦点位置旋转参数;
所述处理方法还包括:
根据所述更新相机位置参数和所述更新相机焦点位置旋转参数确定相机本地坐标值;
根据所述更新相机旋转参数和所述更新相机焦点位置旋转参数确定相机本地旋转参数。
该步骤中,镜头参数包括相机位置参数、相机旋转参数、相机fov参数、模型根节点位置参数、模型位置参数、相机焦点对象位置参数、相机焦点对象旋转参数;按照前述镜头参数处理方法可以获得更新镜头参数,再利用相机焦点位置参数和相机焦点对象旋转参数即可实现对相机位置参数的转换从而获得相机本地坐标值;并根据更新相机旋转参数和相机焦点位置旋转参数确定相机本地旋转参数。其中,相机焦点位置旋转参数可由终端设备101获取。比如,当用户对虚拟相机的角度进行调整,示例性的,对虚拟相机的俯视仰视角度进行调整,那么终端设备101可以检测到该操作来获取该虚拟相机的相机焦点位置旋转参数,并经前述的镜头参数处理方法获取更新后的相机焦点位置旋转参数。相机焦点对象位置参数也可由终端设备101获取。以图5所示中距离俯视时的镜头画面显示界面为例来说明:用户在该界面下,可以通过点选320关注项目中的“眼睛”作为关注焦点,并经前述的镜头参数处理方法获得更新后的相机焦点对象位置参数。当然,这种相机焦点对象的获取方法并不是唯一的,也可以通过缩放操作前鼠标所停留的位置,或者缩放操作前用户手指所停留的位置来确定相机焦点对象。以上均为示例,本实施例中不对具体的获取手段做限制。
该步骤所示方法,将更新后的镜头参数做进一步处理,得到能够应用于虚拟相机调控的本地参数,且通过该步骤中的坐标转换和参数计算所得到的镜头参数,能够使得镜头缩放的过程中虚拟相机和相机焦点对象位置保持在同一直线上,响应于镜头缩放、虚拟相机镜头在该直线上拉近或拉远,因此能够使得焦点不产生偏移。
在一些实施例中,所述根据所述更新相机位置参数和所述更新相机焦点位置旋转参数确定相机本地坐标值的步骤,包括:
将所述更新相机位置参数转换为第一世界坐标;
将所述第一世界坐标转换为相机焦点位置旋转参数为0时的第一本地坐标;
将所述虚拟相机的焦点旋转至所述更新相机焦点位置旋转参数,根据所述第一本地坐标和所述更新相机焦点位置旋转参数转换得到第二世界坐标;
将所述第二世界坐标转换为所述相机本地坐标值。
该实施例中,通过上述本地坐标和世界坐标之间的转换和旋转计算的流程设置,来获取相关镜头参数,使得镜头缩放的过程中虚拟相机和相机焦点对象位置保持在同一直线上,响应于镜头缩放、虚拟相机镜头在该直线上拉近或拉远,因此能够使得焦点不产生偏移。
在一些实施例中,所述根据所述更新相机旋转参数和所述更新相机焦点位置旋转参数确定相机本地旋转参数的步骤,包括:
计算所述更新相机旋转参数减去所述更新相机焦点位置旋转参数的差值,该差值为所述相机本地旋转参数。
本实施例给出了相机本地旋转参数的计算方法,该计算方法所得到的相机本地旋转参数参与镜头画面显示后,能够使得镜头缩放的过程中虚拟相机和相机焦点对象位置保持在同一直线上,响应于镜头缩放、虚拟相机镜头在该直线上拉近或拉远,因此能够使得焦点不产生偏移,为镜头画面的渲染显示做好镜头参数处理准备工作。
在一些实施例中,在所述响应于当前镜头画面中镜头参数更新触发事件,获取镜头的目标参数等级的步骤之前,所述处理方法还包括:
对所述虚拟相机进行初始化参数配置,初始化参数包括相机位置参数、相机旋转参数、相机fov参数、模型根节点位置参数、模型位置参数、相机焦点对象位置参数、相机焦点对象旋转参数和参数等级。
该实施例中,给出了相机初始化配置步骤和初始化参数的类型,完善了虚拟相机控制的整个流程。
具体地,一些实施例中,还可按照如下步骤来优化镜头画面展示效果。
步骤a:根据模型展示需要来选择是否需要通过过渡帧完成不同地参数等级计算出地镜头参数之间地变化。一般来说,模型和相机所在UI初始化时,不需要使用过渡帧,同一UI内部如果存在相机的镜头参数变化需求,会使用过渡帧。该选择也可提前预设,这种情况下,就不需要该选择步骤。
步骤b:将前述步骤计算出的最终的相机本地坐标值、最终的相机本地旋转参数应用到模型的虚拟相机上,配合其他更新后的镜头参数,完成相机设置。
对于不考虑过渡帧的情形下,也可直接按照步骤b来完成相机设置。
对于考虑过渡帧的情形下,将前述步骤计算出的最终的相机本地坐标值、最终的相机本地旋转参数作为过渡帧动画的目标参数、设置过渡帧完成时间,通过过渡帧动画完成相机设置。使用过渡帧可以实现虚拟相机镜头画面的平滑过渡,而不是直接切换。比如在捏脸场景下,需要在不同部位之间做切换,具体地,从嘴切换到鼻子,使用过渡帧会让镜头画面的表现效果更好。而将相机本地坐标值、相机本地旋转参数输入到相关技术中的API,即可实现过渡帧动画目标参数的获取。
在一些实施例中,在对更新镜头参数进行计算前,还对虚拟相机的镜头参数进行初始化配置。
参照图8,本申请实施例还公开了一种虚拟相机镜头画面更新方法,所述镜头画面更新方法包括:
步骤810:根据前述的一种虚拟相机镜头参数处理方法确定所述相机本地坐标值、所述相机本地旋转参数和所述更新镜头参数;
步骤820:基于所述相机本地坐标值、所述相机本地旋转参数和所述更新镜头参数调整所述虚拟相机的方位信息、渲染更新后的镜头画面。
该镜头画面更新方法由于利用了前述更新镜头参数和其他参数的获取方法,使得最终渲染出的镜头画面在预期范围内,且用户关注焦点不会产生偏移。
参照图9,本申请实施例还公开了一种虚拟相机镜头参数处理装置,所述处理装置包括:
响应单元910,用于响应于当前镜头画面中镜头参数更新触发事件,获取镜头的目标参数等级;
第一处理单元920,根据所述目标参数等级和预设的多个标准镜头参数组获取第一标准镜头参数组和第二标准镜头参数组;所述标准镜头参数组包括标准参数等级和与该标准参数等级对应的标准镜头参数;
第二处理单元930,用于根据所述目标参数等级、所述第一标准镜头参数组和第二标准镜头参数组确定更新镜头参数;
其中,所述参数等级的大小表示镜头的远近。
可以理解的是,如图2所示的虚拟相机镜头参数处理方法实施例中的内容均适用于本显示装置实施例中,本显示装置实施例所具体实现的功能与如图2所示的虚拟相机镜头参数处理方法实施例相同,并且达到的有益效果与如图2所示的虚拟相机镜头参数处理方法实施例所达到的有益效果也相同。
参照图10,本申请实施例还公开了一种终端设备,包括:
至少一个处理器1010;
至少一个存储器1020,用于存储至少一个程序;
当至少一个程序被至少一个处理器1010执行,使得至少一个处理器1010实现如图2所示的虚拟相机镜头参数处理方法实施例或图8所示的虚拟相机镜头画面更新方法实施例。
可以理解的是,如图2所示的虚拟相机镜头参数处理方法实施例中或图8所示的虚拟相机镜头画面更新方法实施例的内容均适用于本终端设备实施例中,本终端设备实施例所具体实现的功能与如图2所示的虚拟相机镜头参数处理方法实施例或图8所示的虚拟相机镜头画面更新方法实施例相同,并且达到的有益效果与如图2所示的虚拟相机镜头参数处理方法实施例或图8所示的虚拟相机镜头画面更新方法实施例所达到的有益效果也相同。
本申请实施例还公开了一种计算机可读存储介质,其中存储有处理器可执行的程序,处理器可执行的程序在由处理器执行时用于实现如图2所示的虚拟相机镜头参数处理方法实施例或图8所示的虚拟相机镜头画面更新方法实施例。
可以理解的是,如图2所示的虚拟相机镜头参数处理方法实施例或图8所示的虚拟相机镜头画面更新方法实施例中的内容均适用于本计算机可读存储介质实施例中,本计算机可读存储介质实施例所具体实现的功能与如图2所示的虚拟相机镜头参数处理方法实施例或图8所示的虚拟相机镜头画面更新方法实施例相同,并且达到的有益效果与如图2所示的虚拟相机镜头参数处理方法实施例或图8所示的虚拟相机镜头画面更新方法实施例所达到的有益效果也相同。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或方框有时能以相反顺序被执行。此外,在本申请的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本申请,但应当理解的是,除非另有相反说明,功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本申请是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本申请。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本申请的范围,本申请的范围由所附权利要求书及其等同方案的全部范围来决定。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
尽管已经示出和描述了本申请的实施方式,本领域的普通技术人员可以理解:在不脱离本申请的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本申请的范围由权利要求及其等同物限定。
以上是对本申请的较佳实施进行了具体说明,但本申请并不限于实施例,熟悉本领域的技术人员在不违背本申请精神的前提下可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内
在本说明书的描述中,参考术语“一个实施方式”、“另一实施方式”或“某些实施方式”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
尽管已经示出和描述了本申请的实施方式,本领域的普通技术人员可以理解:在不脱离本申请的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本申请的范围由权利要求及其等同物限定。

Claims (14)

1.一种虚拟相机镜头参数处理方法,其特征在于,所述处理方法包括:
响应于当前镜头画面中镜头参数更新触发事件,获取镜头的目标参数等级;
根据所述目标参数等级和预设的多个标准镜头参数组获取第一标准镜头参数组和第二标准镜头参数组;所述标准镜头参数组包括标准参数等级和与该标准参数等级对应的标准镜头参数;
根据所述目标参数等级、所述第一标准镜头参数组和第二标准镜头参数组确定更新镜头参数;
其中,所述参数等级的大小表示镜头的远近。
2.根据权利要求1所述的一种虚拟相机镜头参数处理方法,其特征在于,多个所述标准参数等级限定出多个参数等级区间,每个所述参数等级区间由相邻的两个标准参数等级作为端点值;所述根据所述目标参数等级和预设的多个标准镜头参数组获取第一标准镜头参数组和第二标准镜头参数组的步骤,包括:
确定所述目标参数等级所位于的参数等级区间为目标参数等级区间;
将所述目标参数等级区间的较小的端点值设置为第一标准参数等级;所述第一标准参数等级对应的标准镜头参数为第一标准镜头参数;
将所述目标参数等级区间的较大的端点值设置为第二标准参数等级;所述第二标准参数等级对应的标准镜头参数为第二标准镜头参数。
3.根据权利要求2所述的一种虚拟相机镜头参数处理方法,其特征在于,所述根据所述目标参数等级、所述第一标准镜头参数组和第二标准镜头参数组确定更新镜头参数的步骤,包括:
计算所述第二标准镜头参数和所述第一标准镜头参数的差值得到区间镜头参数差;
计算所述第二标准参数等级和所述第一标准参数等级的差值得到区间标准等级参数差;
根据所述区间镜头参数差和所述区间标准等级参数差确定镜头参数步长;
计算所述目标参数等级和所述第一标准参数等级的差值得到目标参数等级差;
根据所述镜头参数步长、所述目标参数等级差和所述第一标准镜头参数确定所述更新镜头参数。
4.根据权利要求3所述的一种虚拟相机镜头参数处理方法,其特征在于,所述根据所述镜头参数步长、所述目标参数等级差和所述第一标准镜头参数确定所述更新镜头参数的步骤,包括:
计算所述镜头参数步长和所述目标参数等级差的乘积;
计算所述乘积和所述第一标准镜头参数的和作为所述更新镜头参数。
5.根据权利要求2-4任一项所述的一种虚拟相机镜头参数处理方法,其特征在于,相邻的参数等级区间的镜头参数步长不同;所述镜头参数步长为该参数等级区间内单位参数等级的镜头参数的变化值。
6.根据权利要求5所述的一种虚拟相机镜头参数处理方法,其特征在于,所述多个参数等级区间包括相邻的第一参数等级区间和第二参数等级区间,所述第一参数等级区间由相邻的第三标准参数等级和第四标准参数等级作为端点值,所述第二参数等级区间由相邻的第五标准参数和第六标准参数等级作为端点值,
其中,所述第三标准参数等级、所述第四标准参数等级、所述第五标准参数和所述第六标准参数等级的值依次增大,且所述第四标准参数等级与所述第五标准参数等级的差为1。
7.根据权利要求1-4、6中任一项所述的一种虚拟相机镜头参数处理方法,其特征在于,所述更新镜头参数包括更新相机位置参数、更新相机旋转参数、更新相机焦点位置旋转参数;
所述处理方法还包括:
根据所述更新相机位置参数和所述更新相机焦点位置旋转参数确定相机本地坐标值;
根据所述更新相机旋转参数和所述更新相机焦点位置旋转参数确定相机本地旋转参数。
8.根据权利要求7所述的一种虚拟相机镜头参数处理方法,其特征在于,所述根据所述更新相机位置参数和所述更新相机焦点位置旋转参数确定相机本地坐标值的步骤,包括:
将所述更新相机位置参数转换为第一世界坐标;
将所述第一世界坐标转换为相机焦点位置旋转参数为0时的第一本地坐标;
根据所述更新相机焦点位置旋转参数旋转所述虚拟相机的焦点,根据所述第一本地坐标和所述更新相机焦点位置旋转参数转换得到第二世界坐标;
将所述第二世界坐标转换为所述相机本地坐标值。
9.根据权利要求7所述的一种虚拟相机镜头参数处理方法,其特征在于,所述根据所述更新相机旋转参数和所述更新相机焦点位置旋转参数确定相机本地旋转参数的步骤,包括:
计算所述更新相机旋转参数减去所述更新相机焦点位置旋转参数的差值,该差值为所述相机本地旋转参数。
10.根据权利要求1-4、6中任一项所述的一种虚拟相机镜头参数处理方法,其特征在于,在所述响应于当前镜头画面中镜头参数更新触发事件,获取镜头的目标参数等级的步骤之前,所述处理方法还包括:
对所述虚拟相机进行初始化参数配置,初始化参数包括相机位置参数、相机旋转参数、相机fov参数、模型根节点位置参数、模型位置参数、相机焦点对象位置参数、相机焦点对象旋转参数和参数等级。
11.一种虚拟相机镜头画面更新方法,其特征在于,所述镜头画面更新方法包括:
根据权利要求7-9任一项所述的一种虚拟相机镜头参数处理方法确定所述相机本地坐标值、所述相机本地旋转参数和所述更新镜头参数,所述更新镜头参数还包括更新相机fov参数、更新模型根节点位置参数、更新模型位置参数和更新相机焦点对象位置参数;
基于所述相机本地坐标值、所述相机本地旋转参数和所述更新镜头参数调整所述虚拟相机的方位信息、渲染更新后的镜头画面。
12.一种虚拟相机镜头参数处理装置,其特征在于,所述处理装置包括:
响应单元,用于响应于当前镜头画面中镜头参数更新触发事件,获取镜头的目标参数等级;
第一处理单元,根据所述目标参数等级和预设的多个标准镜头参数组获取第一标准镜头参数组和第二标准镜头参数组;所述标准镜头参数组包括标准参数等级和与该标准参数等级对应的标准镜头参数;
第二处理单元,用于根据所述目标参数等级、所述第一标准镜头参数组和第二标准镜头参数组确定更新镜头参数;
其中,所述参数等级的大小表示镜头的远近。
13.一种终端设备,其特征在于,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如权利要求1-11中任一项所述的方法。
14.一种计算机可读存储介质,其中存储有处理器可执行的程序,其特征在于:所述处理器可执行的程序在由处理器执行时用于实现如权利要求1-11中任一项所述的方法。
CN202210281904.0A 2022-03-22 2022-03-22 虚拟相机镜头参数处理、更新方法、装置、设备及介质 Active CN114371806B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210281904.0A CN114371806B (zh) 2022-03-22 2022-03-22 虚拟相机镜头参数处理、更新方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210281904.0A CN114371806B (zh) 2022-03-22 2022-03-22 虚拟相机镜头参数处理、更新方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN114371806A true CN114371806A (zh) 2022-04-19
CN114371806B CN114371806B (zh) 2022-08-26

Family

ID=81146247

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210281904.0A Active CN114371806B (zh) 2022-03-22 2022-03-22 虚拟相机镜头参数处理、更新方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN114371806B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040111332A1 (en) * 2002-09-30 2004-06-10 David Baar Detail-in-context lenses for interacting with objects in digital image presentations
US20150040073A1 (en) * 2012-09-24 2015-02-05 Google Inc. Zoom, Rotate, and Translate or Pan In A Single Gesture
CN107016728A (zh) * 2017-03-08 2017-08-04 惠州Tcl移动通信有限公司 一种在虚拟现实场景中模拟摄影的方法及系统
CN110548280A (zh) * 2019-09-11 2019-12-10 珠海金山网络游戏科技有限公司 一种虚拟相机的控制方法及装置
CN111246095A (zh) * 2020-01-17 2020-06-05 腾讯科技(深圳)有限公司 控制镜头运动的方法、装置、设备及存储介质
CN111803946A (zh) * 2020-07-22 2020-10-23 网易(杭州)网络有限公司 游戏中的镜头切换方法、装置和电子设备
CN112891943A (zh) * 2021-03-19 2021-06-04 腾讯科技(深圳)有限公司 一种镜头处理方法、设备以及可读存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040111332A1 (en) * 2002-09-30 2004-06-10 David Baar Detail-in-context lenses for interacting with objects in digital image presentations
US20150040073A1 (en) * 2012-09-24 2015-02-05 Google Inc. Zoom, Rotate, and Translate or Pan In A Single Gesture
CN107016728A (zh) * 2017-03-08 2017-08-04 惠州Tcl移动通信有限公司 一种在虚拟现实场景中模拟摄影的方法及系统
CN110548280A (zh) * 2019-09-11 2019-12-10 珠海金山网络游戏科技有限公司 一种虚拟相机的控制方法及装置
CN111246095A (zh) * 2020-01-17 2020-06-05 腾讯科技(深圳)有限公司 控制镜头运动的方法、装置、设备及存储介质
WO2021143296A1 (zh) * 2020-01-17 2021-07-22 腾讯科技(深圳)有限公司 控制镜头运动的方法、装置、设备及存储介质
CN111803946A (zh) * 2020-07-22 2020-10-23 网易(杭州)网络有限公司 游戏中的镜头切换方法、装置和电子设备
CN112891943A (zh) * 2021-03-19 2021-06-04 腾讯科技(深圳)有限公司 一种镜头处理方法、设备以及可读存储介质

Also Published As

Publication number Publication date
CN114371806B (zh) 2022-08-26

Similar Documents

Publication Publication Date Title
CN110766777B (zh) 虚拟形象的生成方法、装置、电子设备及存储介质
CN101901497B (zh) 运动捕捉角色的逆运动学
JP2004259054A (ja) 表示装置及び表示方法
CN109151540A (zh) 视频图像的交互处理方法及装置
US20230370720A1 (en) Focusing method and apparatus, electronic device, and medium
CN104272726A (zh) 显示影像形成装置及显示影像形成方法
CN112637507B (zh) 拍摄方法、装置、电子设备及可读存储介质
US11490032B2 (en) Method and apparatus for creating and displaying visual media on a device
CN107870703B (zh) 图片全屏展示的方法、系统及终端设备
WO2022088776A1 (zh) 视频展示方法和视频展示装置
KR20220110493A (ko) 비디오의 객체 표시 방법 및 장치, 전자 장치 및 컴퓨터 판독 가능 저장 매체
CN113286138A (zh) 一种全景视频显示方法及显示设备
CN104601945A (zh) 连续显示画面局部的方法
CN113066189B (zh) 一种增强现实设备及虚实物体遮挡显示方法
CN114371806B (zh) 虚拟相机镜头参数处理、更新方法、装置、设备及介质
CN112929750A (zh) 一种摄像头调节方法及显示设备
US10257467B2 (en) Client device for displaying images of a controllable camera, method, computer program and monitoring system comprising said client device
WO2023143120A1 (zh) 素材展示方法、装置、电子设备、存储介质及程序产品
US20230106330A1 (en) Method for creating a variable model of a face of a person
CN115496664A (zh) 一种模型训练方法、装置、电子设备及可读存储介质
CN114385062A (zh) 展示方案的切换方法、装置、可读存储介质和电子设备
CN114596221A (zh) 脸部轮廓自动平滑处理方法、装置、电子设备及存储介质
CN114095611A (zh) 来电显示界面的处理方法、装置和电子设备
CN115552364A (zh) 多端协同的显示更新方法及装置
CN115426505B (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