虚拟相机的控制方法、装置和电子设备与流程

未命名 09-23 阅读:55 评论:0


1.本公开涉及相机控制技术领域,尤其是涉及一种虚拟相机的控制方法、装置和电子设备。


背景技术:

2.在自动化过场动画制作流程中,如何有效的复用已有的镜头模板是一个比较重要的环节;其中,过场动画是指游戏中为了展现故事情节而特别制作的动画。相关技术中,通常会根据游戏场景中的物体体积,将物体模型分类为小、中、大三个物体类型,然后为每个物体类型选取参考物体,再基于不同物体类型对应的参考物体分别制作镜头模板文件。但是,即使根据物体体积制作了不同的镜头模板,同一体积下的不同物体,也可能形状不同,从而容易出现相机镜头不适用的情况,导致相机镜头仅能拍摄到物体的部分区域,且物体在拍摄画面中的出现位置偏向一侧,影响过场动画制作效果。


技术实现要素:

3.本公开的目的在于提供一种虚拟相机的控制方法、装置和电子设备,以使相机运动轨迹自动适配不同形状和物体模型,提高过场动画制作效果。
4.第一方面,本公开提供了一种虚拟相机的控制方法,该方法包括:获取待拍摄的目标模型,并确定目标模型的边界信息;其中,该边界信息包括:目标模型在预设坐标系下,每个轴向的最大坐标值和最小坐标值;基于边界信息和预设运动轨迹,确定拍摄目标模型的第一虚拟相机的相机运动轨迹;其中,相机运动轨迹包括第一虚拟相机在拍摄过程中的相机位置和相机朝向;第一虚拟相机的相机朝向通过预设位置点调节;基于第一虚拟相机的相机运动轨迹拍摄目标模型,在拍摄目标模型的过程中,将预设位置点设置在目标模型上的指定位置,以使第一虚拟相机的相机朝向调节为面向指定位置的方向。
5.第二方面,本公开提供了一种虚拟相机的控制装置,该装置包括:信息确定模块,用于获取待拍摄的目标模型,并确定目标模型的边界信息;其中,边界信息包括:目标模型在预设坐标系下,每个轴向的最大坐标值和最小坐标值;相机轨迹确定模块,用于基于边界信息和预设运动轨迹,确定拍摄目标模型的第一虚拟相机的相机运动轨迹;其中,相机运动轨迹包括第一虚拟相机在拍摄过程中的相机位置和相机朝向;第一虚拟相机的相机朝向通过预设位置点调节;朝向调节模块,用于基于第一虚拟相机的相机运动轨迹拍摄目标模型,在拍摄目标模型的过程中,将预设位置点设置在目标模型上的指定位置,以使第一虚拟相机的相机朝向调节为面向指定位置的方向。
6.第三方面,本公开提供了一种电子设备,该电子设备包括处理器和存储器,该存储器存储有能够被处理器执行的机器可执行指令,该处理器执行机器可执行指令以实现上述虚拟相机的控制方法。
7.第四方面,本公开提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,改计算机可执行指令在被处理器调用和执行时,计算机可执行指令
促使处理器实现上述虚拟相机的控制方法。
8.本公开实施例带来了以下有益效果:
9.本公开提供的一种虚拟相机的控制方法、装置和电子设备,首先获取待拍摄的目标模型,并确定目标模型的边界信息;其中,该边界信息包括:目标模型在预设坐标系下,每个轴向的最大坐标值和最小坐标值;进而基于边界信息和预设运动轨迹,确定拍摄目标模型的第一虚拟相机的相机运动轨迹;其中,相机运动轨迹包括第一虚拟相机在拍摄过程中的相机位置和相机朝向;第一虚拟相机的相机朝向通过预设位置点调节;然后基于第一虚拟相机的相机运动轨迹拍摄目标模型,在拍摄目标模型的过程中,将预设位置点设置在目标模型上的指定位置,以使第一虚拟相机的相机朝向调节为面向指定位置的方向。该方式中,在基于目标模型的边界信息和预设运动轨迹得到拍摄目标模型的虚拟相机的相机运动轨迹后,再根据目标模型的指定位置对相机朝向进行微调,可得到与目标模型适配的相机运动轨迹,从而该方式可使相机运动轨迹自动化适配不同形状的物体模型,提高了场动画制作效果。
10.本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
11.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。
附图说明
12.为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
13.图1为本公开实施例提供的一种虚拟相机的控制方法的示意图;
14.图2为本公开实施例提供的一种参考模型的最小包围盒的示意图;
15.图3为本公开实施例提供的一种运动轨迹转换示意图;
16.图4为本公开实施例提供的另一种运动轨迹转换的示意图;
17.图5为本公开实施例提供的一种预设点位置移动前后拍摄画面对比图;
18.图6为本公开实施例提供的一种虚拟相机的控制装置的结构示意图;
19.图7为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
20.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。
21.因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范
围。
22.在自动化过场动画制作流程中,如何有效的复用已有的镜头模板是一个比较重要的环节,否则针对每个镜头制作特殊镜头动画就违背了自动化的初衷。其中,过场动画是指游戏中为了展现故事情节而特别制作的动画。
23.相关技术中,通常会根据游戏场景中的物体体积,将物体模型分类为小、中、大三个物体类型,然后为每个物体类型选取参考物体,再基于不同物体类型对应的参考物体分别制作镜头模板文件。但是,即使根据物体体积制作了不同的镜头模板,同一体积下的不同物体,也可能形状不同,从而容易出现相机镜头不适用的情况,例如,相同体积的物体可能为左边高,右边低的物体1;或者为左边低,右边高的物体2,那么针对这两个物体,相机的运动轨迹应有所差别,但是该方法针对相同体积的物体的相机运动轨迹是相同的,导致相机镜头仅能拍摄到物体的部分区域,且物体在拍摄画面中的出现位置偏向一侧,影响过场动画制作效果。针对上述问题,相关技术中可以使用新制作的镜头来匹配过场动画制作需要,但该方式人工消耗较高。
24.基于此,本公开实施例提供了一种虚拟相机的控制方法、装置和电子设备,该技术可以应用于过场动画制作场景中,尤其是过场动画制作中的虚拟相机运动匹配场景中。
25.为了便于对本公开实施例进行理解,首先对本公开实施例公开的一种虚拟相机的控制方法进行详细介绍,如图1所示,该方法包括如下具体步骤:
26.步骤s102,获取待拍摄的目标模型,并确定目标模型的边界信息;其中,该边界信息包括:目标模型在预设坐标系下,每个轴向的最大坐标值和最小坐标值。
27.上述待拍摄的目标模型是第一虚拟相机实际拍摄的物体的物体模型,该目标模型可以是建筑模型、角色模型、植物模型等,在此不做具体限定。上述目标模型的边界信息包括目标模型在预设坐标系下,每个轴向的最大坐标值和最小坐标值,上述预设坐标是可以是世界坐标系,也可以是用户自定义的坐标系等,例如,在直角坐标系中,包含有x轴、y轴和z轴三个轴向,将目标模型的模型边界在x轴上的最大坐标值和最小坐标值、在y轴上的最小坐标值和最小坐标值,以及在z轴上的最大坐标值和最小坐标值,确定为目标模型的边界信息。
28.步骤s104,基于边界信息和预设运动轨迹,确定拍摄目标模型的第一虚拟相机的相机运动轨迹;其中,相机运动轨迹包括第一虚拟相机在拍摄过程中的相机位置和相机朝向;第一虚拟相机的相机朝向通过预设位置点调节。
29.上述预设运动轨迹也可以理解为相机运动模板,只要知道物体模型的边界信息,均可使用相机运动模板进行重新匹配,得到虚拟相机拍摄该物体模型时,与该物体模型适配的相机运动轨迹,从而可以更好的拍摄物体模型。具体地,上述预设运动轨迹可以是用户根据需求设置的虚拟相机的运动轨迹,也可以是虚拟相机从指定角度开始向上、向下、向左或者向右拍摄物体模型的运动轨迹,还可以是虚拟相机拍摄标准单位下的参考模型时的运动轨迹,该参考模型可以根据研发需求或者用户需求设定,该标准单位对应的具体数值也可以根据用户需求设定。上述预设运动轨迹包括虚拟相机在拍摄过程中的相机位置和相机朝向。
30.在已知预设运动轨迹的基础上,可基于目标模型的边界信息,将预设运动轨迹转换为拍摄目标模型的第一虚拟相机的相机运动轨迹。也即是基于目标模型的边界信息调整
预设运动轨迹,得到与目标模型适配的第一虚拟相机的相机运动轨迹。其中,第一虚拟相机是目标指向相机,也可以理解为第一虚拟相机的相机朝向通过预设位置点调节,以使第一虚拟相机的相机朝向总是指向预设位置点,该预设位置点可根据用户需求调节,例如,该预设位置点可以是某一指定位置点,也可以是物体模型的中心等。
31.步骤s106,基于第一虚拟相机的相机运动轨迹拍摄目标模型,在拍摄目标模型的过程中,将预设位置点设置在目标模型上的指定位置,以使第一虚拟相机的相机朝向调节为面向指定位置的方向。
32.在确定第一虚拟相机的相机运动轨迹后,第一虚拟相机可按照该相机运动轨迹进行运动来拍摄目标模型,且在拍摄过程中还需实时调节预设位置点的位置,以使第一虚拟相机的相机朝向总是指向调节后的预设位置点的位置。本公开中,调节后的预设位置点的位置可以是目标模型中的指定位置,该指定位置可以是目标模型的体积中心在目标模型中的位置,该指定位置也可以是目标模型中的某一固定位置,在此不做具体限定,可根据研发需求设定。
33.本公开实施例提供的一种虚拟相机的控制方法,在基于目标模型的边界信息和预设运动轨迹得到拍摄目标模型的虚拟相机的相机运动轨迹后,再根据目标模型的指定位置对相机朝向进行微调,可得到与目标模型适配的相机运动轨迹,从而该方式可使相机运动轨迹自动化适配不同形状的物体模型,提高了场动画制作效果。
34.下述实施例重点描述预设运动轨迹的一种确定方式。
35.具体地,预设运动轨迹可以通过下述步骤10-11实现:
36.步骤10,获取参考模型,并确定参考模型的边界信息,以及第二虚拟相机拍摄参考模型的第一运动轨迹。
37.在实际应用中,上述参考模型可以是用户选取的标准物体模型,该标准物体模型可以根据用户需求任意设置,在此不做具体限定。该参考模型的边界信息可以包括:参考模型在预设坐标系下,每个轴向的最大坐标值和最小坐标值。具体地,可首先生成参考模型的最小包围盒;进而在预设坐标系下,将最小包围盒的顶点坐标在每个轴向的最大坐标值和最小坐标值,确定为参考模型的边界信息。
38.如图2所示为本公开实施例提供的一种参考模型的最小包围盒的示意图,图2中的白色模型表示的参考模型,该参考模型外围的长方体也即是参考模型的最小包围盒,需要确定参考模型的最小包围盒的八个顶点在直角坐标系中的坐标,并从所有坐标中计算x轴、y轴和z轴分别对应的最大坐标值和最小坐标值,并将计算得到的坐标值确定为参考模型的边界信息。例如,参考模型的边界信息为[-613.195,-222.536,-498.978]至[635.93,224.688,491.005],那么x轴对应的最大坐标值和最小坐标值分别是635.93和-613.195;y轴对应的最大坐标值和最小坐标值分别是224.688和-222.536;z轴对应的最大坐标值和最小坐标值分别是491.005和-498.978。
[0039]
第二虚拟相机拍摄参考模型的第一运动轨迹可以根据研发需求确定,也可以是默认运动轨迹,第二虚拟相机与第一虚拟相机不同,该第二虚拟相机为普通虚拟相机,并不需要根据预设位置点调节相机朝向,仅需根据第一运动轨迹拍摄参考模型。
[0040]
步骤11,基于参考模型的边界信息,对第一运动轨迹进行转换处理,得到预设运动轨迹;其中,转换处理包括:将第一运动轨迹转化为拍摄标准单位下的参考模型的运动轨
迹。
[0041]
在具体实现时,上述标准单位对应的具体数值可以根据研发需求确定,例如,该标准单位可以1厘米,也可以是1000厘米等。具体地,第一运动轨迹可以理解为第二虚拟相机拍摄能够包围参考模型的最小包围盒中的物体的运动轨迹,那么转换处理的具体处理过程,可以包括:根据标准单位,得到标准单位下的标准包围盒包围,然后将第一运动轨迹转换为拍摄能够被标准包围盒包围的物体模型的运动轨迹。
[0042]
通常,为了计算方便会将标准单位设置为1,从而将边界信息中的数值转换为[-1,1]之间,但是为了动画数据的精确性,例如maya动画软件中只能计算小数点后三位的数值,如果将数值压缩为
±
1区间,之后的计算精度可能会不足,因而本公开还可将标准单位设置为1000或者500等,具体可根据研发需求确定。
[0043]
在具体实现时,为了得到预设运动轨迹,需要针对预设坐标系下的每个轴向执行下述步骤20-23的转换处理过程:
[0044]
步骤20,根据标准单位下的标准包围盒在当前轴向对应的长度,以及边界信息中当前轴向对应的最大坐标值与最小坐标值的相减结果,确定在标准单位下当前轴向对应的第一位置偏移值。
[0045]
上述标准单位对应的具体数值可以根据研发需求确定,标准包围盒的边长与标准单位相匹配。在一可选实施例中,上述标准包围盒为正方体,正方体的边长为标准单位的预设倍数。该预设倍数可以根据研发需求确定,例如,该预设倍数可以是两倍或者三倍等。
[0046]
上述标准包围盒在当前轴向对应的长度也即是标准包围盒在当前轴向上的最大坐标值与最小坐标值的相减的结果,如果标准包围盒为正方体,那么标准包围盒在当前轴向对应的长度也即是标准单位的预设倍数。上述当前轴向可以是直角坐标系中的x轴、y轴或者z轴。
[0047]
在一可选实施例中,可以将标准包围盒在当前轴向对应的长度与相减结果的比值,确定为在标准单位下当前轴向对应的第一位置偏移值。例如,标准包围盒在当前轴向对应的长度为2000,边界信息中当前轴向对应的最大坐标值与最小坐标值的相减结果为635.93-(-613.195)=1249.125,那么在标准单位下当前轴向对应的第一位置偏移值为2000/1249.125=1.601。
[0048]
步骤21,根据标准包围盒中除当前轴向之外的其他两个轴向对应的长度,以及边界信息中其他两个轴向下的最大坐标值与最小坐标值,确定在标准单位下当前轴向对应的第一朝向偏移值。
[0049]
在获得在标准单位下当前轴向对应的第一位移偏值的同时,还需要确定相机的朝向偏移值。例如,在maya软件中相机的rotate值为当前轴向的朝向偏移值,rotate x就是相机朝向绕x轴旋转的读数。
[0050]
在具体实现时,如果当前轴向为x轴,那么当前轴向之外的其他两个轴向分别是y轴和z轴。那么标准包围盒在y轴对应的长度也即是标准包围盒在y轴上的最大坐标值与最小坐标值相减的结果,同样地,标准包围盒在z轴对应的长度也即是标准包围盒在z轴上的最大坐标值与最小坐标值相减的结果。
[0051]
在一具体实施例中,确定在标准单位下当前轴向对应的第一朝向偏移值的具体过程,可以包括:确定标准包围盒中除当前轴向之外的其他两个轴向中的第一轴向对应的第
一长度,以及第二轴向对应的第二长度,并计算第一长度与第二长度的第一比值;确定在边界信息中第一轴向对应的最大坐标值与最小坐标值相减的第一结果,以及在边界信息中第二轴向对应的最大坐标值与最小坐标值相减的第二结果;计算第一结果与第二结果的第二比值;将第一比值与第二比值的比值,确定为在标准单位下当前轴向对应的第一朝向偏移值。
[0052]
例如,如果标准包围盒为边长为2000的正方体,那么上述第一长度与第二长度的第一比值为2000/2000=1;如果边界信息中第一轴向对应的最大坐标值与最小坐标值相减的第一结果为224.688-(-222.536)=447.224;边界信息中第二轴向对应的最大坐标值与最小坐标值相减的第二结果为491.005-(-498.978)=989.983,那么第一结果与第二结果的第二比值为447.227/989.983=0.45。基于此,在标准单位下当前轴向对应的第一朝向偏移值为1/0.45=0.22。
[0053]
步骤22,将第二虚拟相机在当前轴向对应的相机位置乘以第一位置偏移值,得到在标准单位下当前轴向对应的相机位置;将第二虚拟相机在当前轴向对应的相机朝向乘以第一朝向偏移值,得到在标准单位下当前轴向对应的相机朝向。
[0054]
步骤23,将在标准单位下当前轴向对应的相机位置和在标准单位下当前轴向对应的相机朝向,确定为在标准单位下当前轴向对应的预设运动轨迹。
[0055]
如图3所示为本公开实施例提供的一种运动轨迹转换示意图,图3中的白色模型为参考模型,图3中的长方体为参考模型的包围盒,正方体为标准包围盒,图3中的1对应的是第二虚拟相机拍摄参考模型的运动轨迹,也即是第二虚拟相机拍摄能够被长方体包围的物体模型的运动轨迹;图3中的2对应的是第一虚拟相机拍摄参考模型的运动轨迹转换为标准单位后,得到的标准单位下第二虚拟相机的预设运动轨迹,该预设运动轨迹也即是第二虚拟相机拍摄能够被正方体包围的物体模型的运动轨迹。
[0056]
在一具体实施例中,在确定了预设运动轨迹后,还需要将第二虚拟相机转换为第一虚拟相机,从而可根据预设位置点微调第一虚拟相机的朝向,从而修正拍摄画面中出现的目标模型的位置,以使目标模型出现在拍摄画面中心,或者拍摄画面中出现目标模型的全景。
[0057]
下述实施例重点描述基于边界信息和预设运动轨迹,确定拍摄目标模型的第一虚拟相机的相机运动轨迹的方式。
[0058]
如果参考模型与目标模型的体积相差较大,预设运动轨迹将不适合目标模型,从而第二虚拟相机无法基于预设运动轨迹较好的拍摄目标模型,因而,需要根据预设运动轨迹,计算适合拍摄目标模型的第一虚拟相机的相机运动轨迹。上述预设运动轨迹包括:在标准单位下每个轴向对应的相机位置和相机朝向。
[0059]
具体地,为了得到适合拍摄目标模型的第一虚拟相机的相机运动轨迹,需要针对预设坐标系下的每个轴向执行下述步骤30-33:
[0060]
步骤30,根据边界信息中当前轴向对应的最大坐标值与最小坐标值的相减结果,以及标准单位下的标准包围盒在当前轴向对应的长度,确定当前轴向对应的第二位置偏移值。
[0061]
在一可选实施例中,上述目标模型的边界信息的确定过程,可以包括:生成目标模型的最小包围盒;在预设坐标系下,将最小包围盒的顶点坐标在每个轴向的最大坐标值和
最小坐标值,确定为目标模型的边界信息。具体地,上述目标模型的最小包围盒可以是刚好能够包围目标模型的长方体。
[0062]
在具体实现时,可以将边界信息中当前轴向对应的最大坐标值与最小坐标值的相减结果,与标准包围盒在当前轴向对应的长度的比值,确定为当前轴向对应的第二位置偏移值。
[0063]
步骤31,根据边界信息中除当前轴向之外的其他两个轴向对应的最大坐标值与最小坐标值,以及标准包围盒中其他两个轴向对应的长度,确定当前轴向对应的第二朝向偏移值。
[0064]
在具体实现时,确定第二朝向偏移值的实现方式可以根据研发需求确定,例如,可以最大坐标值与最小坐标值相减或者相加,然后根据该结果与标准包围盒中其他两个轴向对应的长度相乘或者相除,得到第二朝向偏移值。
[0065]
在一具体实施例中,确定当前轴向对应的第二朝向偏移值的具体过程可以包括:确定在边界信息中其他两个轴向中的第一轴向对应的最大坐标值与最小坐标值相减的第三结果,以及在边界信息中其他两个轴向中的第二轴向对应的最大坐标值与最小坐标值相减的第四结果;计算第三结果与第四结果的第三比值;确定标准包围盒中第一轴向对应的第三长度和第二轴向对应的第四长度,并计算第三长度与第四长度的第四比值;将第三比值与第四比值的比值,确定为当前轴向对应的第二朝向偏移值。
[0066]
步骤32,将在标准单位下当前轴向对应的相机位置乘以第二位置偏移值,得到当前轴向下的第一虚拟相机的相机位置;将在标准单位下当前轴向对应的相机朝向乘以第二朝向偏移值,得到当前轴向下的第一虚拟相机的相机朝向。
[0067]
在具体实现时,第一虚拟相机的相机运动轨迹,包括:第一虚拟相机在拍摄目标模型的过程中,每个轴向对应的相机位置和相机朝向。如图4所示为本公开实施例提供的另一种运动轨迹转换的示意图,图4中白色模型为目标模型,图4中的长方体为目标模型的包围盒,正方体为标准包围盒,图4中的1对应的是第一虚拟相机在预设运动轨迹,该预设运动轨迹也即是第二虚拟相机拍摄能够被正方体包围的物体模型的运动轨迹。图4中的2对应的是第一虚拟相机拍摄目标模型的相机运动轨迹。
[0068]
在实际应用中,虽然已经根据目标模型的体积重新映射了相机运动轨迹,但是由于物体模型的外形还是有可能千奇百怪,所以本公开根据拍摄画面中出现的物体体积将第一虚拟相机的预设位置点重新修正,以使预设位置点位于目标模型的体积中心的位置。如图5所示为本公开实施例提供的一种预设点位置移动前后拍摄画面对比图:图5中左侧图像为未调整预设位置点的位置时,第一虚拟相机拍摄目标模型得到的拍摄画面,图5中右侧图像为调整预设位置点的位置后,第一虚拟相机拍摄目标模型得到的拍摄画面。从左侧图像中可看出拍摄画面中的目标模型的位置过低,需要将第一虚拟相机的预设位置点下移,右侧图像将相机朝向面向可视范围中的目标模型的体积中心的位置,也即是将预设位置点下移至目标模型的体积中心的位置,可以看出拍摄画面中目标模型出现的位置更合理。
[0069]
上述方式提供了一种相机运动轨迹的转换流程,更好的将一个预设运动轨迹适用于不同的体积大小的物体模型的动画拍摄中。在适配参考模型的阶段完成之后,还会计算镜头空间内可视的目标模型的体积中心位置,从而进一步调整虚拟相机的相机朝向。该方式替代传统制作更多镜头模板文件的形式,使用预设运动轨迹可自动化适配更多的物体模
型。另外,本公开可以应用在maya软件、houdini软件和ue等的特效制作场景,同时,该方式也使用游戏引擎中的虚拟相机的运动轨迹匹配场景。
[0070]
下述实施例重点描述从不同的面开始拍摄目标模型的方式。
[0071]
首先通过下述步骤40-44,确定虚拟相机从不同的面开始拍摄物体模型时的预设运动轨迹:
[0072]
步骤40,获取参考模型,并确定参考模型的边界信息,以及第二虚拟相机拍摄参考模型的第一运动轨迹。
[0073]
步骤41,确定第二虚拟相机在第一运动轨迹的起始位置,面向的标准单位下的标准包围盒的第一平面。
[0074]
在具体实现时,可以根据第一运动轨迹,计算得到第二虚拟相机拍摄参考模型的起始位置,根据该起始位置对应的相机朝向,可得到该相机朝向面向的参考模型的最小包围盒的哪个面,进而可求得该面与标注包围盒中的哪个面的位置相对应,将相对应的面确定为第一平面。以第一平面为基础,可以求得若第二虚拟相机拍摄时从朝向标准包围盒的其他时的新的运动轨迹。
[0075]
步骤42,根据参考模型的边界信息和标准包围盒,调整第一运动轨迹,得到起始位置为第一平面的备选运动轨迹。
[0076]
步骤43,根据第一平面与标准包围盒中其他平面的位置关系,确定起始位置为其他平面的备选运动轨迹。
[0077]
在具体实现时,可以根据第一平面与标准包围盒中除第一平面之外的其他平面中的每个平面的位置关系,确定每个平面对应的备选运动轨迹。其他平面对应的备选运动轨迹是通过第一平面对应的备选运动轨迹转换得到的,也即是,根据第一平面与其他平面的位置关系,可以得到坐标旋转值,针对第一平面对应的备选运动轨迹中的每个轨迹点的位置坐标,根据坐标旋转值对当前位置坐标进行旋转变化,得到第一位置坐标,该第一位置坐标也即是其他平面对应的备选运动轨迹中的当前轨迹点对应的最终位置坐标。
[0078]
例如,其他平面为第一平面的左侧边相邻的平面,将第一平面对应的备选运动轨迹以世界坐标中心为基准,以z轴为基准进行-90
°
的旋转变化后,即可获得其他平面对应的备选运动轨迹。重复以上步骤,即可获得标准包围盒所有平面对应的备选运动轨迹,将其存储后可以作为之后将备选运动轨迹运用在目标模型上的选择变体。
[0079]
步骤44,将标准包围盒每个平面对应的备选运动轨迹,确定为预设运动轨迹。
[0080]
基于上述描述,上述基于边界信息和预设运动轨迹,确定拍摄目标模型的第一虚拟相机的相机运动轨迹的具体过程,可以包括:响应针对目标模型的最小包围盒的第二平面的选择操作,确定标准包围盒中与第二平面对应的目标平面,将预设运动轨迹中目标平面对应的备选运动轨迹确定为目标运动轨迹;基于目标模型的边界信息,调整目标运动轨迹,得到拍摄目标模型的第一虚拟相机的相机运动轨迹。
[0081]
由于预设运动轨迹中包括标准包围盒的所有平面对应的运动轨迹,所以可以针对目标模型的特征,选择合适的相机运动轨迹的起始位置对应的第二平面,进而利用标准包围盒中与第二平面位置对应的目标平面的备选运动轨迹,确定拍摄目标模型的第一虚拟相机的相机运动轨迹。其中,确定拍摄目标模型的第一虚拟相机的相机运动轨迹的方式,可以参考上述方法实施例,在此不再赘述。该方式,可以更加丰富预设运动轨迹的适用范围,有
助于提升用户体验感。
[0082]
对应于上述方法实施例,本公开实施例提供了一种虚拟相机的控制装置,如图6所示,该装置包括:
[0083]
信息确定模块60,用于获取待拍摄的目标模型,并确定目标模型的边界信息;其中,该边界信息包括:目标模型在预设坐标系下,每个轴向的最大坐标值和最小坐标值。
[0084]
相机轨迹确定模块61,用于基于边界信息和预设运动轨迹,确定拍摄目标模型的第一虚拟相机的相机运动轨迹;其中,相机运动轨迹包括第一虚拟相机在拍摄过程中的相机位置和相机朝向;第一虚拟相机的相机朝向通过预设位置点调节。
[0085]
朝向调节模块62,用于基于第一虚拟相机的相机运动轨迹拍摄目标模型,在拍摄目标模型的过程中,将预设位置点设置在目标模型上的指定位置,以使第一虚拟相机的相机朝向调节为面向指定位置的方向。
[0086]
上述虚拟相机的控制装置,在基于目标模型的边界信息和预设运动轨迹得到拍摄目标模型的虚拟相机的相机运动轨迹后,再根据目标模型的指定位置对相机朝向进行微调,可得到与目标模型适配的相机运动轨迹,从而该方式可使相机运动轨迹自动化适配不同形状的物体模型,提高了场动画制作效果。
[0087]
具体地,上述指定位置包括:目标模型的体积中心在目标模型中的位置。
[0088]
具体地,上述装置还包括预设轨迹确定模块,用于:获取参考模型,并确定参考模型的边界信息,以及第二虚拟相机拍摄参考模型的第一运动轨迹;基于参考模型的边界信息,对第一运动轨迹进行转换处理,得到预设运动轨迹;其中,转换处理包括:将第一运动轨迹转化为拍摄标准单位下的参考模型的运动轨迹。
[0089]
在具体实现时,上述装置还包括相机转换模块,用于:在获取待拍摄的目标模型,并确定目标模型的边界信息之前,将第二虚拟相机转换为第一虚拟相机。
[0090]
进一步地,上述预设轨迹确定模块,还用于:生成参考模型的最小包围盒;在预设坐标系下,将最小包围盒的顶点坐标在每个轴向的最大坐标值和最小坐标值,确定为参考模型的边界信息。
[0091]
进一步地,上述预设轨迹确定模块,还用于:针对预设坐标系下的每个轴向,执行下述操作:根据标准单位下的标准包围盒在当前轴向对应的长度,以及边界信息中当前轴向对应的最大坐标值与最小坐标值的相减结果,确定在标准单位下当前轴向对应的第一位置偏移值;根据标准包围盒中除当前轴向之外的其他两个轴向对应的长度,以及边界信息中其他两个轴向下的最大坐标值与最小坐标值,确定在标准单位下当前轴向对应的第一朝向偏移值;将第二虚拟相机在当前轴向对应的相机位置乘以第一位置偏移值,得到在标准单位下当前轴向对应的相机位置;将第二虚拟相机在当前轴向对应的相机朝向乘以第一朝向偏移值,得到在标准单位下当前轴向对应的相机朝向;将在标准单位下当前轴向对应的相机位置和在标准单位下当前轴向对应的相机朝向,确定为在标准单位下当前轴向对应的预设运动轨迹。
[0092]
在实际应用中,上述预设轨迹确定模块,还用于:将标准包围盒在当前轴向对应的长度与相减结果的比值,确定为在标准单位下当前轴向对应的第一位置偏移值。
[0093]
在具体实现时,上述预设轨迹确定模块,还用于:确定标准包围盒中除当前轴向之外的其他两个轴向中的第一轴向对应的第一长度,以及第二轴向对应的第二长度,并计算
第一长度与第二长度的第一比值;确定在边界信息中第一轴向对应的最大坐标值与最小坐标值相减的第一结果,以及在边界信息中第二轴向对应的最大坐标值与最小坐标值相减的第二结果;计算第一结果与第二结果的第二比值;将第一比值与第二比值的比值,确定为在标准单位下当前轴向对应的第一朝向偏移值。
[0094]
在可选实施例中,上述标准包围盒为正方体,该正方体的边长为标准单位的预设倍数。
[0095]
在可选实施例中,上述预设轨迹确定模块,用于:确定第二虚拟相机在第一运动轨迹的起始位置,面向的标准单位下的标准包围盒的第一平面;根据参考模型的边界信息和标准包围盒,调整第一运动轨迹,得到起始位置为第一平面的备选运动轨迹;根据第一平面与标准包围盒中其他平面的位置关系,确定起始位置为其他平面的备选运动轨迹;将标准包围盒每个平面对应的备选运动轨迹,确定为预设运动轨迹。
[0096]
进一步地,上述相机轨迹确定模块61,用于:响应针对目标模型的最小包围盒的第二平面的选择操作,确定标准包围盒中与第二平面对应的目标平面,将预设运动轨迹中目标平面对应的备选运动轨迹确定为目标运动轨迹;基于目标模型的边界信息,调整目标运动轨迹,得到拍摄目标模型的第一虚拟相机的相机运动轨迹。
[0097]
进一步地,上述信息确定模块61,用于:生成目标模型的最小包围盒;在预设坐标系下,将最小包围盒的顶点坐标在每个轴向的最大坐标值和最小坐标值,确定为目标模型的边界信息。
[0098]
在实际应用中,上述预设运动轨迹包括:在标准单位下每个轴向对应的相机位置和相机朝向;上述相机轨迹确定模块61,用于:针对预设坐标系下的每个轴向,执行下述操作:根据边界信息中当前轴向对应的最大坐标值与最小坐标值的相减结果,以及标准单位下的标准包围盒在当前轴向对应的长度,确定当前轴向对应的第二位置偏移值;根据边界信息中除当前轴向之外的其他两个轴向对应的最大坐标值与最小坐标值,以及标准包围盒中其他两个轴向对应的长度,确定当前轴向对应的第二朝向偏移值;将在标准单位下当前轴向对应的相机位置乘以第二位置偏移值,得到当前轴向下的第一虚拟相机的相机位置;将在标准单位下当前轴向对应的相机朝向乘以第二朝向偏移值,得到当前轴向下的第一虚拟相机的相机朝向。
[0099]
进一步地,上述相机轨迹确定模块61,用于:将相减结果与标准包围盒在当前轴向对应的长度的比值,确定为当前轴向对应的第二位置偏移值。
[0100]
进一步地,上述相机轨迹确定模块61,还用于:确定在边界信息中其他两个轴向中的第一轴向对应的最大坐标值与最小坐标值相减的第三结果,以及在边界信息中其他两个轴向中的第二轴向对应的最大坐标值与最小坐标值相减的第四结果;计算第三结果与第四结果的第三比值;确定标准包围盒中第一轴向对应的第三长度和第二轴向对应的第四长度,并计算第三长度与第四长度的第四比值;将第三比值与第四比值的比值,确定为当前轴向对应的第二朝向偏移值。
[0101]
本公开实施例所提供的虚拟相机的控制装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
[0102]
本公开实施例还提供了一种电子设备,如图7所示,该电子设备包括处理器和存储
器,该存储器存储有能够被处理器执行的机器可执行指令,该处理器执行机器可执行指令以实现上述虚拟相机的控制方法。
[0103]
具体地,上述虚拟相机的控制方法,包括:获取待拍摄的目标模型,并确定目标模型的边界信息;其中,边界信息包括:目标模型在预设坐标系下,每个轴向的最大坐标值和最小坐标值;基于边界信息和预设运动轨迹,确定拍摄目标模型的第一虚拟相机的相机运动轨迹;其中,相机运动轨迹包括第一虚拟相机在拍摄过程中的相机位置和相机朝向;第一虚拟相机的相机朝向通过预设位置点调节;基于第一虚拟相机的相机运动轨迹拍摄目标模型,在拍摄目标模型的过程中,将预设位置点设置在目标模型上的指定位置,以使第一虚拟相机的相机朝向调节为面向指定位置的方向。
[0104]
上述虚拟相机的控制方法中,在基于目标模型的边界信息和预设运动轨迹得到拍摄目标模型的虚拟相机的相机运动轨迹后,再根据目标模型的指定位置对相机朝向进行微调,可得到与目标模型适配的相机运动轨迹,从而该方式可使相机运动轨迹自动化适配不同形状的物体模型,提高了场动画制作效果。
[0105]
在可选实施例中,上述指定位置包括:目标模型的体积中心在目标模型中的位置。
[0106]
在可选实施例中,上述预设运动轨迹,通过下述方式确定:获取参考模型,确定参考模型的边界信息,以及第二虚拟相机拍摄参考模型的第一运动轨迹;基于参考模型的边界信息,对第一运动轨迹进行转换处理,得到预设运动轨迹;其中,转换处理包括:将第一运动轨迹转化为拍摄标准单位下的参考模型的运动轨迹。
[0107]
在可选实施例中,上述获取待拍摄的目标模型,并确定目标模型的边界信息的步骤之前,上述方法还包括:将第二虚拟相机转换为第一虚拟相机。
[0108]
在可选实施例中,上述确定参考模型的边界信息的步骤,包括:生成参考模型的最小包围盒;在预设坐标系下,将最小包围盒的顶点坐标在每个轴向的最大坐标值和最小坐标值,确定为参考模型的边界信息。
[0109]
在可选实施例中,上述基于参考模型的边界信息,对第一运动轨迹进行转换处理,得到预设运动轨迹的步骤,包括:针对预设坐标系下的每个轴向,执行下述操作:根据标准单位下的标准包围盒在当前轴向对应的长度,以及边界信息中当前轴向对应的最大坐标值与最小坐标值的相减结果,确定在标准单位下当前轴向对应的第一位置偏移值;根据标准包围盒中除当前轴向之外的其他两个轴向对应的长度,以及边界信息中其他两个轴向下的最大坐标值与最小坐标值,确定在标准单位下当前轴向对应的第一朝向偏移值;将第二虚拟相机在当前轴向对应的相机位置乘以第一位置偏移值,得到在标准单位下当前轴向对应的相机位置;将第二虚拟相机在当前轴向对应的相机朝向乘以第一朝向偏移值,得到在标准单位下当前轴向对应的相机朝向;将在标准单位下当前轴向对应的相机位置和在标准单位下当前轴向对应的相机朝向,确定为在标准单位下当前轴向对应的预设运动轨迹。
[0110]
在可选实施例中,上述根据标准单位下的标准包围盒在当前轴向对应的长度,以及边界信息中当前轴向对应的最大坐标值与最小坐标值的相减结果,确定在标准单位下当前轴向对应的第一位置偏移值的步骤,包括:
[0111]
将标准包围盒在当前轴向对应的长度与相减结果的比值,确定为在标准单位下当前轴向对应的第一位置偏移值。
[0112]
在可选实施例中,上述根据标准包围盒中除当前轴向之外的其他两个轴向对应的
长度,以及边界信息中其他两个轴向下的最大坐标值与最小坐标值,确定在标准单位下当前轴向对应的第一朝向偏移值的步骤,包括:确定标准包围盒中除当前轴向之外的其他两个轴向中的第一轴向对应的第一长度,以及第二轴向对应的第二长度,并计算第一长度与第二长度的第一比值;确定在边界信息中第一轴向对应的最大坐标值与最小坐标值相减的第一结果,以及在边界信息中第二轴向对应的最大坐标值与最小坐标值相减的第二结果;计算第一结果与第二结果的第二比值;将第一比值与第二比值的比值,确定为在标准单位下当前轴向对应的第一朝向偏移值。
[0113]
在可选实施例中,上述标准包围盒为正方体,该正方体的边长为标准单位的预设倍数。
[0114]
在可选实施例中,上述基于参考模型的边界信息,对第一运动轨迹进行转换处理,得到预设运动轨迹的步骤,包括:确定第二虚拟相机在第一运动轨迹的起始位置,面向的标准单位下的标准包围盒的第一平面;根据参考模型的边界信息和标准包围盒,调整第一运动轨迹,得到起始位置为第一平面的备选运动轨迹;根据第一平面与标准包围盒中其他平面的位置关系,确定起始位置为其他平面的备选运动轨迹;将标准包围盒每个平面对应的备选运动轨迹,确定为预设运动轨迹。
[0115]
在可选实施例中,上述基于边界信息和预设运动轨迹,确定拍摄目标模型的第一虚拟相机的相机运动轨迹的步骤,包括:响应针对目标模型的最小包围盒的第二平面的选择操作,确定标准包围盒中与第二平面对应的目标平面,将预设运动轨迹中目标平面对应的备选运动轨迹确定为目标运动轨迹;基于目标模型的边界信息,调整目标运动轨迹,得到拍摄目标模型的第一虚拟相机的相机运动轨迹。
[0116]
在可选实施例中,上述确定目标模型的边界信息的步骤,包括:生成目标模型的最小包围盒;在预设坐标系下,将最小包围盒的顶点坐标在每个轴向的最大坐标值和最小坐标值,确定为目标模型的边界信息。
[0117]
在可选实施例中,上述预设运动轨迹包括:在标准单位下每个轴向对应的相机位置和相机朝向;基于边界信息和预设运动轨迹,确定拍摄目标模型的第一虚拟相机的相机运动轨迹的步骤,包括:针对预设坐标系下的每个轴向,执行下述操作:根据边界信息中当前轴向对应的最大坐标值与最小坐标值的相减结果,以及标准单位下的标准包围盒在当前轴向对应的长度,确定当前轴向对应的第二位置偏移值;根据边界信息中除当前轴向之外的其他两个轴向对应的最大坐标值与最小坐标值,以及标准包围盒中其他两个轴向对应的长度,确定当前轴向对应的第二朝向偏移值;将在标准单位下当前轴向对应的相机位置乘以第二位置偏移值,得到当前轴向下的第一虚拟相机的相机位置;将在标准单位下当前轴向对应的相机朝向乘以第二朝向偏移值,得到当前轴向下的第一虚拟相机的相机朝向。
[0118]
在可选实施例中,上述根据边界信息中当前轴向对应的最大坐标值与最小坐标值的相减结果,以及标准单位下的标准包围盒在当前轴向对应的长度,确定当前轴向对应的第二位置偏移值的步骤,包括:将相减结果与标准包围盒在当前轴向对应的长度的比值,确定为当前轴向对应的第二位置偏移值。
[0119]
在可选实施例中,上述根据边界信息中除当前轴向之外的其他两个轴向对应的最大坐标值与最小坐标值,以及标准包围盒中其他两个轴向对应的长度,确定当前轴向对应的第二朝向偏移值的步骤,包括:确定在边界信息中其他两个轴向中的第一轴向对应的最
大坐标值与最小坐标值相减的第三结果,以及在边界信息中其他两个轴向中的第二轴向对应的最大坐标值与最小坐标值相减的第四结果;计算第三结果与第四结果的第三比值;确定标准包围盒中第一轴向对应的第三长度和第二轴向对应的第四长度,并计算第三长度与第四长度的第四比值;将第三比值与第四比值的比值,确定为当前轴向对应的第二朝向偏移值。
[0120]
进一步地,图7所示的电子设备还包括总线102和通信接口103,处理器101、通信接口103和存储器100通过总线102连接。
[0121]
其中,存储器100可能包含高速随机存取存储器(ram,random access memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0122]
处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现成可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器100,处理器101读取存储器100中的信息,结合其硬件完成前述实施例的方法的步骤。
[0123]
本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,该计算机可执行指令促使处理器实现上述虚拟相机的控制方法,具体实现可参见方法实施例,在此不再赘述。
[0124]
具体地,上述虚拟相机的控制方法,包括:获取待拍摄的目标模型,并确定目标模型的边界信息;其中,边界信息包括:目标模型在预设坐标系下,每个轴向的最大坐标值和最小坐标值;基于边界信息和预设运动轨迹,确定拍摄目标模型的第一虚拟相机的相机运动轨迹;其中,相机运动轨迹包括第一虚拟相机在拍摄过程中的相机位置和相机朝向;第一虚拟相机的相机朝向通过预设位置点调节;基于第一虚拟相机的相机运动轨迹拍摄目标模型,在拍摄目标模型的过程中,将预设位置点设置在目标模型上的指定位置,以使第一虚拟相机的相机朝向调节为面向指定位置的方向。
[0125]
上述虚拟相机的控制方法中,在基于目标模型的边界信息和预设运动轨迹得到拍摄目标模型的虚拟相机的相机运动轨迹后,再根据目标模型的指定位置对相机朝向进行微调,可得到与目标模型适配的相机运动轨迹,从而该方式可使相机运动轨迹自动化适配不
同形状的物体模型,提高了场动画制作效果。
[0126]
在可选实施例中,上述指定位置包括:目标模型的体积中心在目标模型中的位置。
[0127]
在可选实施例中,上述预设运动轨迹,通过下述方式确定:获取参考模型,并确定参考模型的边界信息,以及第二虚拟相机拍摄参考模型的第一运动轨迹;基于参考模型的边界信息,对第一运动轨迹进行转换处理,得到预设运动轨迹;其中,转换处理包括:将第一运动轨迹转化为拍摄标准单位下的参考模型的运动轨迹。
[0128]
在可选实施例中,上述获取待拍摄的目标模型,并确定目标模型的边界信息的步骤之前,上述方法还包括:将第二虚拟相机转换为第一虚拟相机。
[0129]
在可选实施例中,上述确定参考模型的边界信息的步骤,包括:生成参考模型的最小包围盒;在预设坐标系下,将最小包围盒的顶点坐标在每个轴向的最大坐标值和最小坐标值,确定为参考模型的边界信息。
[0130]
在可选实施例中,上述基于参考模型的边界信息,对第一运动轨迹进行转换处理,得到预设运动轨迹的步骤,包括:针对预设坐标系下的每个轴向,执行下述操作:根据标准单位下的标准包围盒在当前轴向对应的长度,以及边界信息中当前轴向对应的最大坐标值与最小坐标值的相减结果,确定在标准单位下当前轴向对应的第一位置偏移值;根据标准包围盒中除当前轴向之外的其他两个轴向对应的长度,以及边界信息中其他两个轴向下的最大坐标值与最小坐标值,确定在标准单位下当前轴向对应的第一朝向偏移值;将第二虚拟相机在当前轴向对应的相机位置乘以第一位置偏移值,得到在标准单位下当前轴向对应的相机位置;将第二虚拟相机在当前轴向对应的相机朝向乘以第一朝向偏移值,得到在标准单位下当前轴向对应的相机朝向;将在标准单位下当前轴向对应的相机位置和在标准单位下当前轴向对应的相机朝向,确定为在标准单位下当前轴向对应的预设运动轨迹。
[0131]
在可选实施例中,上述根据标准单位下的标准包围盒在当前轴向对应的长度,以及边界信息中当前轴向对应的最大坐标值与最小坐标值的相减结果,确定在标准单位下当前轴向对应的第一位置偏移值的步骤,包括:
[0132]
将标准包围盒在当前轴向对应的长度与相减结果的比值,确定为在标准单位下当前轴向对应的第一位置偏移值。
[0133]
在可选实施例中,上述根据标准包围盒中除当前轴向之外的其他两个轴向对应的长度,以及边界信息中其他两个轴向下的最大坐标值与最小坐标值,确定在标准单位下当前轴向对应的第一朝向偏移值的步骤,包括:确定标准包围盒中除当前轴向之外的其他两个轴向中的第一轴向对应的第一长度,以及第二轴向对应的第二长度,并计算第一长度与第二长度的第一比值;确定在边界信息中第一轴向对应的最大坐标值与最小坐标值相减的第一结果,以及在边界信息中第二轴向对应的最大坐标值与最小坐标值相减的第二结果;计算第一结果与第二结果的第二比值;将第一比值与第二比值的比值,确定为在标准单位下当前轴向对应的第一朝向偏移值。
[0134]
在可选实施例中,上述标准包围盒为正方体,该正方体的边长为标准单位的预设倍数。
[0135]
在可选实施例中,上述基于参考模型的边界信息,对第一运动轨迹进行转换处理,得到预设运动轨迹的步骤,包括:确定第二虚拟相机在第一运动轨迹的起始位置,面向的标准单位下的标准包围盒的第一平面;根据参考模型的边界信息和标准包围盒,调整第一运
动轨迹,得到起始位置为第一平面的备选运动轨迹;根据第一平面与标准包围盒中其他平面的位置关系,确定起始位置为其他平面的备选运动轨迹;将标准包围盒每个平面对应的备选运动轨迹,确定为预设运动轨迹。
[0136]
在可选实施例中,上述基于边界信息和预设运动轨迹,确定拍摄目标模型的第一虚拟相机的相机运动轨迹的步骤,包括:响应针对目标模型的最小包围盒的第二平面的选择操作,确定标准包围盒中与第二平面对应的目标平面,将预设运动轨迹中目标平面对应的备选运动轨迹确定为目标运动轨迹;基于目标模型的边界信息,调整目标运动轨迹,得到拍摄目标模型的第一虚拟相机的相机运动轨迹。
[0137]
在可选实施例中,上述确定目标模型的边界信息的步骤,包括:生成目标模型的最小包围盒;在预设坐标系下,将最小包围盒的顶点坐标在每个轴向的最大坐标值和最小坐标值,确定为目标模型的边界信息。
[0138]
在可选实施例中,上述预设运动轨迹包括:在标准单位下每个轴向对应的相机位置和相机朝向;基于边界信息和预设运动轨迹,确定拍摄目标模型的第一虚拟相机的相机运动轨迹的步骤,包括:针对预设坐标系下的每个轴向,执行下述操作:根据边界信息中当前轴向对应的最大坐标值与最小坐标值的相减结果,以及标准单位下的标准包围盒在当前轴向对应的长度,确定当前轴向对应的第二位置偏移值;根据边界信息中除当前轴向之外的其他两个轴向对应的最大坐标值与最小坐标值,以及标准包围盒中其他两个轴向对应的长度,确定当前轴向对应的第二朝向偏移值;将在标准单位下当前轴向对应的相机位置乘以第二位置偏移值,得到当前轴向下的第一虚拟相机的相机位置;将在标准单位下当前轴向对应的相机朝向乘以第二朝向偏移值,得到当前轴向下的第一虚拟相机的相机朝向。
[0139]
在可选实施例中,上述根据边界信息中当前轴向对应的最大坐标值与最小坐标值的相减结果,以及标准单位下的标准包围盒在当前轴向对应的长度,确定当前轴向对应的第二位置偏移值的步骤,包括:将相减结果与标准包围盒在当前轴向对应的长度的比值,确定为当前轴向对应的第二位置偏移值。
[0140]
在可选实施例中,上述根据边界信息中除当前轴向之外的其他两个轴向对应的最大坐标值与最小坐标值,以及标准包围盒中其他两个轴向对应的长度,确定当前轴向对应的第二朝向偏移值的步骤,包括:确定在边界信息中其他两个轴向中的第一轴向对应的最大坐标值与最小坐标值相减的第三结果,以及在边界信息中其他两个轴向中的第二轴向对应的最大坐标值与最小坐标值相减的第四结果;计算第三结果与第四结果的第三比值;确定标准包围盒中第一轴向对应的第三长度和第二轴向对应的第四长度,并计算第三长度与第四长度的第四比值;将第三比值与第四比值的比值,确定为当前轴向对应的第二朝向偏移值。
[0141]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端设备,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0142]
在本公开的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本公开和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本公开的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0143]
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

技术特征:
1.一种虚拟相机的控制方法,其特征在于,所述方法包括:获取待拍摄的目标模型,并确定所述目标模型的边界信息;其中,所述边界信息包括:所述目标模型在预设坐标系下,每个轴向的最大坐标值和最小坐标值;基于所述边界信息和预设运动轨迹,确定拍摄所述目标模型的第一虚拟相机的相机运动轨迹;其中,所述相机运动轨迹包括所述第一虚拟相机在拍摄过程中的相机位置和相机朝向;所述第一虚拟相机的相机朝向通过预设位置点调节;基于所述第一虚拟相机的相机运动轨迹拍摄所述目标模型,在拍摄所述目标模型的过程中,将所述预设位置点设置在所述目标模型上的指定位置,以使所述第一虚拟相机的相机朝向调节为面向所述指定位置的方向。2.根据权利要求1所述的方法,其特征在于,所述指定位置包括:所述目标模型的体积中心在所述目标模型中的位置。3.根据权利要求1所述的方法,其特征在于,所述预设运动轨迹,通过下述方式确定:获取参考模型,并确定所述参考模型的边界信息,以及第二虚拟相机拍摄所述参考模型的第一运动轨迹;基于所述参考模型的边界信息,对所述第一运动轨迹进行转换处理,得到所述预设运动轨迹;其中,所述转换处理包括:将所述第一运动轨迹转化为拍摄标准单位下的参考模型的运动轨迹。4.根据权利要求3所述的方法,其特征在于,所述获取待拍摄的目标模型,并确定所述目标模型的边界信息的步骤之前,所述方法还包括:将所述第二虚拟相机转换为所述第一虚拟相机。5.根据权利要求3所述的方法,其特征在于,所述确定所述参考模型的边界信息的步骤,包括:生成所述参考模型的最小包围盒;在所述预设坐标系下,将所述最小包围盒的顶点坐标在每个轴向的最大坐标值和最小坐标值,确定为所述参考模型的边界信息。6.根据权利要求5所述的方法,其特征在于,所述基于所述参考模型的边界信息,对所述第一运动轨迹进行转换处理,得到所述预设运动轨迹的步骤,包括:针对所述预设坐标系下的每个轴向,执行下述操作:根据所述标准单位下的标准包围盒在当前轴向对应的长度,以及所述边界信息中所述当前轴向对应的最大坐标值与最小坐标值的相减结果,确定在所述标准单位下所述当前轴向对应的第一位置偏移值;根据所述标准包围盒中除所述当前轴向之外的其他两个轴向对应的长度,以及所述边界信息中所述其他两个轴向下的最大坐标值与最小坐标值,确定在所述标准单位下所述当前轴向对应的第一朝向偏移值;将所述第二虚拟相机在所述当前轴向对应的相机位置乘以所述第一位置偏移值,得到在所述标准单位下所述当前轴向对应的相机位置;将所述第二虚拟相机在所述当前轴向对应的相机朝向乘以所述第一朝向偏移值,得到在所述标准单位下所述当前轴向对应的相机朝向;将在所述标准单位下所述当前轴向对应的相机位置和在所述标准单位下所述当前轴
向对应的相机朝向,确定为在所述标准单位下所述当前轴向对应的预设运动轨迹。7.根据权利要求6所述的方法,其特征在于,所述根据所述标准单位下的标准包围盒在当前轴向对应的长度,以及所述边界信息中所述当前轴向对应的最大坐标值与最小坐标值的相减结果,确定在所述标准单位下所述当前轴向对应的第一位置偏移值的步骤,包括:将所述标准包围盒在当前轴向对应的长度与所述相减结果的比值,确定为在所述标准单位下所述当前轴向对应的第一位置偏移值。8.根据权利要求6所述的方法,其特征在于,所述根据所述标准包围盒中除所述当前轴向之外的其他两个轴向对应的长度,以及所述边界信息中所述其他两个轴向下的最大坐标值与最小坐标值,确定在所述标准单位下所述当前轴向对应的第一朝向偏移值的步骤,包括:确定所述标准包围盒中除所述当前轴向之外的其他两个轴向中的第一轴向对应的第一长度,以及第二轴向对应的第二长度,并计算所述第一长度与所述第二长度的第一比值;确定在所述边界信息中所述第一轴向对应的最大坐标值与最小坐标值相减的第一结果,以及在所述边界信息中所述第二轴向对应的最大坐标值与最小坐标值相减的第二结果;计算所述第一结果与所述第二结果的第二比值;将所述第一比值与所述第二比值的比值,确定为在所述标准单位下所述当前轴向对应的第一朝向偏移值。9.根据权利要求6所述的方法,其特征在于,所述标准包围盒为正方体,所述正方体的边长为所述标准单位的预设倍数。10.根据权利要求3所述的方法,其特征在于,所述基于所述参考模型的边界信息,对所述第一运动轨迹进行转换处理,得到所述预设运动轨迹的步骤,包括:确定所述第二虚拟相机在所述第一运动轨迹的起始位置,面向的所述标准单位下的标准包围盒的第一平面;根据所述参考模型的边界信息和所述标准包围盒,调整所述第一运动轨迹,得到所述起始位置为第一平面的备选运动轨迹;根据所述第一平面与所述标准包围盒中其他平面的位置关系,确定所述起始位置为其他平面的备选运动轨迹;将所述标准包围盒每个平面对应的备选运动轨迹,确定为预设运动轨迹。11.根据权利要求10所述的方法,其特征在于,所述基于所述边界信息和预设运动轨迹,确定拍摄所述目标模型的第一虚拟相机的相机运动轨迹的步骤,包括:响应针对所述目标模型的最小包围盒的第二平面的选择操作,确定所述标准包围盒中与所述第二平面对应的目标平面,将所述预设运动轨迹中所述目标平面对应的备选运动轨迹确定为目标运动轨迹;基于所述目标模型的边界信息,调整所述目标运动轨迹,得到拍摄所述目标模型的第一虚拟相机的相机运动轨迹。12.根据权利要求1所述的方法,其特征在于,所述确定所述目标模型的边界信息的步骤,包括:生成所述目标模型的最小包围盒;
在所述预设坐标系下,将所述最小包围盒的顶点坐标在每个轴向的最大坐标值和最小坐标值,确定为所述目标模型的边界信息。13.根据权利要求1所述的方法,其特征在于,所述预设运动轨迹包括:在标准单位下每个轴向对应的相机位置和相机朝向;所述基于所述边界信息和预设运动轨迹,确定拍摄所述目标模型的第一虚拟相机的相机运动轨迹的步骤,包括:针对所述预设坐标系下的每个轴向,执行下述操作:根据所述边界信息中当前轴向对应的最大坐标值与最小坐标值的相减结果,以及所述标准单位下的标准包围盒在所述当前轴向对应的长度,确定所述当前轴向对应的第二位置偏移值;根据所述边界信息中除所述当前轴向之外的其他两个轴向对应的最大坐标值与最小坐标值,以及所述标准包围盒中所述其他两个轴向对应的长度,确定所述当前轴向对应的第二朝向偏移值;将在所述标准单位下所述当前轴向对应的相机位置乘以所述第二位置偏移值,得到所述当前轴向下的所述第一虚拟相机的相机位置;将在所述标准单位下所述当前轴向对应的相机朝向乘以所述第二朝向偏移值,得到所述当前轴向下的所述第一虚拟相机的相机朝向。14.根据权利要求13所述的方法,其特征在于,所述根据所述边界信息中当前轴向对应的最大坐标值与最小坐标值的相减结果,以及所述标准单位下的标准包围盒在所述当前轴向对应的长度,确定所述当前轴向对应的第二位置偏移值的步骤,包括:将所述相减结果与所述标准包围盒在所述当前轴向对应的长度的比值,确定为所述当前轴向对应的第二位置偏移值。15.根据权利要求13所述的方法,其特征在于,所述根据所述边界信息中除所述当前轴向之外的其他两个轴向对应的最大坐标值与最小坐标值,以及所述标准包围盒中所述其他两个轴向对应的长度,确定所述当前轴向对应的第二朝向偏移值的步骤,包括:确定在所述边界信息中所述其他两个轴向中的第一轴向对应的最大坐标值与最小坐标值相减的第三结果,以及在所述边界信息中所述其他两个轴向中的第二轴向对应的最大坐标值与最小坐标值相减的第四结果;计算所述第三结果与所述第四结果的第三比值;确定所述标准包围盒中所述第一轴向对应的第三长度和所述第二轴向对应的第四长度,并计算所述第三长度与所述第四长度的第四比值;将所述第三比值与所述第四比值的比值,确定为所述当前轴向对应的第二朝向偏移值。16.一种虚拟相机的控制装置,其特征在于,所述装置包括:信息确定模块,用于获取待拍摄的目标模型,并确定所述目标模型的边界信息;其中,所述边界信息包括:所述目标模型在预设坐标系下,每个轴向的最大坐标值和最小坐标值;相机轨迹确定模块,用于基于所述边界信息和预设运动轨迹,确定拍摄所述目标模型的第一虚拟相机的相机运动轨迹;其中,所述相机运动轨迹包括所述第一虚拟相机在拍摄过程中的相机位置和相机朝向;所述第一虚拟相机的相机朝向通过预设位置点调节;
朝向调节模块,用于基于所述第一虚拟相机的相机运动轨迹拍摄所述目标模型,在拍摄所述目标模型的过程中,将所述预设位置点设置在所述目标模型上的指定位置,以使所述第一虚拟相机的相机朝向调节为面向所述指定位置的方向。17.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1至15任一项所述的虚拟相机的控制方法。18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,所述计算机可执行指令促使所述处理器实现权利要求1至15任一项所述的虚拟相机的控制方法。

技术总结
本公开提供了一种虚拟相机的控制方法、装置和电子设备,获取目标模型并确定目标模型的边界信息;基于边界信息和预设运动轨迹,确定通过预设位置点调节相机朝向的虚拟相机在拍摄过程中的相机运动轨迹;基于虚拟相机的相机运动轨迹拍摄目标模型,在拍摄目标模型的过程中,将预设位置点设置在目标模型上的指定位置,以使虚拟相机的相机朝向调节为面向指定位置的方向。该方式中,在基于目标模型的边界信息和预设运动轨迹得到拍摄目标模型的虚拟相机的相机运动轨迹后,再根据目标模型的指定位置对相机朝向进行微调,可得到与目标模型适配的相机运动轨迹,从而该方式可使相机运动轨迹自动化适配不同形状的物体模型,提高了场动画制作效果。制作效果。制作效果。


技术研发人员:王元
受保护的技术使用者:网易(杭州)网络有限公司
技术研发日:2023.06.14
技术公布日:2023/9/22
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐