虚拟场景的拍摄方法、装置、设备、介质和程序
文献发布时间:2024-04-18 19:58:21
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种虚拟场景的拍摄方法、装置、设备、介质和程序。
背景技术
在一些影视作品、游戏场景、三维动画等三维(3D)虚拟场景的创作过程中,需要从不同角度拍摄3D虚拟场景中的一些图像用于艺术创作,以便于创造出更好的作品。
现有技术中通过游戏引擎中的虚拟摄像机对3D虚拟场景进行拍摄,虚拟摄像机使用不同的拍摄参数拍摄得到3D虚拟场景的不同图像,虚拟摄像机的拍摄参数包括虚拟摄像机的位姿和镜头参数。其中,虚拟摄像机的拍摄参数可以是预先设置的,例如,创作者根据经验或者需求提供多组不同的拍摄参数,通常需要专业的技术人员将提供的多组拍摄参数输入到游戏引擎中。当预先设置的虚拟摄像机的拍摄参数不能满足创作者的需求时,创作者需要不断尝试调整虚拟摄像机的拍摄参数,技术人员根据创作者的需求在游戏引擎中不断调整虚拟摄像机的拍摄参数,在实际情况下,即使通过多次调整虚拟摄像机的拍摄参数,也可能无法拍摄到满足创作者需求的图像。
现有技术中,虚拟摄像机拍摄参数的设置和调整复杂,需要专业的技术人员在游戏引擎中进行设置和调整,且调整过程繁琐可能需要多次调整才能符合创作者的需求,调整效率低。
发明内容
本申请实施例提供一种虚拟场景的拍摄方法、装置、设备、介质和程序,使得虚拟摄像机的位姿和镜头参数的调整更加直观、灵活、精准,提高了虚拟摄像机的拍摄参数的调整效率。
第一方面,本申请实施例提供一种虚拟场景的拍摄方法,所述方法包括:获取第一设备在物理空间的坐标系中的位姿,其中,所述物理空间的坐标系与三维虚拟场景的坐标系建立了关联关系,所述第一设备在所述物理空间内运动;根据所述第一设备的位姿和所述关联关系确定位于所述虚拟场景中的虚拟摄像机的位姿,所述虚拟摄像机跟随所述第一设备运动,所述虚拟摄像机用于对所述虚拟场景进行拍摄;获取所述虚拟摄像机的镜头参数,所述虚拟摄像机的镜头参数是基于所述第一设备输入的第一镜头调整按钮的第一操作信息确定的;根据所述虚拟摄像机的位姿和镜头参数,确定所述虚拟摄像机拍摄到的所述虚拟场景的第一图像。
第二方面,本申请实施例提供一种虚拟场景的拍摄装置,所述装置包括:第一获取模块,用于获取第一设备在物理空间的坐标系中的位姿,其中,所述物理空间的坐标系与三维虚拟场景的坐标系建立了关联关系,所述第一设备在所述物理空间内运动;第一确定模块,用于根据所述第一设备的位姿和所述关联关系确定位于所述虚拟场景中的虚拟摄像机的位姿,所述虚拟摄像机跟随所述第一设备运动,所述虚拟摄像机用于对所述虚拟场景进行拍摄;第二获取模块,用于获取所述虚拟摄像机的镜头参数,所述虚拟摄像机的镜头参数是基于所述第一设备输入的第一镜头调整按钮的第一操作信息确定的;第二确定模块,用于根据所述虚拟摄像机的位姿和镜头参数,确定所述虚拟摄像机拍摄到的所述虚拟场景的第一图像。
第三方面,本申请实施例提供一种电子设备,所述电子设备包括:处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行如上述第一方面或各实现方式所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序使得计算机执行如上述第一方面或各实现方式所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述第一方面或各实现方式的方法。
第六方面,本申请实施例提供一种虚拟场景的拍摄设备,包括:定位装置,用于获取所述拍摄设备在物理空间的坐标系中的位姿;输入外设,用于通过按钮调整虚拟摄像机的位姿和/或镜头参数,所述虚拟摄像机用于根据所述虚拟摄像机的位姿和镜头参数对三维虚拟场景进行拍摄,所述物理空间的坐标系与所述虚拟场景的坐标系建立了关联关系,所述虚拟摄像机的位姿是根据所述拍摄设备的位姿和所述关联关系确定的,所述拍摄设备在所述物理空间内运动,所述虚拟摄像机跟随所述拍摄设备运动;显示器,用于显示所述虚拟摄像机拍摄到图像。
本申请实施例提供的技术方案,通过获取第一设备在物理空间的坐标系中的位姿,根据第一设备的位姿和物理空间的坐标系与3D虚拟场景的坐标系的关联关系,确定位于虚拟场景中的虚拟摄像机的位姿;获取虚拟摄像机的镜头参数,根据虚拟摄像机的位姿和镜头参数,确定虚拟摄像机拍摄到的虚拟场景的第一图像。该方法通过调整第一设备的位姿对虚拟摄像机的位姿进行调整,通过第一设备的镜头调整按钮调整镜头参数,并实时的通过第一设备显示调整效果,使得虚拟摄像机的拍摄参数的调整更加直观、灵活、精准,提高了虚拟摄像机的拍摄参数的调整效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例适用的一种拍摄系统的示意图;
图2为红外动作捕捉系统的一种部署示意图;
图3是本申请实施例一提供的虚拟场景的拍摄方法的流程图;
图4为本申请实施例二提供的方法的流程图;
图5为第一设备的一种示意图;
图6为虚拟直播场景的示意图;
图7为本申请实施例三提供的方法的信令流程图;
图8为本申请实施例四提供的虚拟场景的拍摄装置的结构示意图;
图9为本申请实施例五提供的电子设备的一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于理解本申请实施例,在描述本申请各个实施例之前,首先对本申请所有实施例中所涉及到的一些概念进行适当的阐述。
3D虚拟场景是指一种通过计算机制作或者生成的一个3D的虚拟空间(或者称为虚拟环境或者虚拟世界),3D虚拟场景还可以是扩展现实Extended Reality,XR)场景,XR是指通过计算机将真实与虚拟相结合,打造一个可人机交互的虚拟环境,XR包括虚拟现实(Virtual Reality)、增强现实(Augmented Reality,AR)或者和混合现实(Mixed Reality,MR)。
目前,3D虚拟场景广泛应用在游戏创作、影视创作、3D动画创作等领域中,能够为用户提供更好的视觉体验。以影视创作为例,通过游戏引擎制作3D虚拟场景,并在搭建的绿幕摄影棚中拍摄真实图像(例如演员),后期通过游戏引擎或者其他合成设备将真实图像中的人物、道具等真实物体和3D虚拟场景的图像合成形成最终画面。
游戏引擎也称为渲染引擎,是用于创作3D虚拟场景的平台,能够对3D虚拟场景进行实时渲染。常用的游戏引擎包括但不限于:Unity引擎、虚幻引擎(Unreal Engine,UE)或者Notch引擎等。
在游戏创作、影视创作、3D动画创作过程中,需要拍摄3D场景中的一些图像用于进行艺术创作。可以通过游戏引擎中的虚拟摄像机对3D虚拟场景进行拍摄,该虚拟摄像机拍摄到的图像为2D图像。
例如,在游戏创作创造过程中,需要拍摄3D场景的一些图像用于制作游戏过场动画,游戏过场动画是指游戏中为了展现故事情节而特别预先制作的动画,可以在游戏开始或者游戏进行过程中播放。
又如,在影视作品创作过程中,需要制作分镜头脚本,分镜头是指根据剧本中的故事情节和动作分解成一系列镜头,并确定每个镜头拍摄的内容、相机的角度、相机的位置、相机的镜头参数等。分镜头脚本是指根据分镜头的内容生成的台本,用于指导后续的拍摄,分镜头脚本是影视创作必不可少的前期准备。游戏引擎可以基于分镜头脚本进行三维动态分镜头预演,三维动态分镜头预演是指通过虚拟摄像机对3D虚拟场景进行分镜头拍摄,并将分镜头拍摄的图像展示给用户,使得创作者能够提前对拍摄效果进行预览。
游戏引擎中的虚拟摄像机的功能与现实环境(或者称为现实场景、物理空间)中的物理摄像机的作用是相同的,只不过二者拍摄的对象不同,物理摄像机用于拍摄现实环境中的物体,虚拟摄像机用于拍摄3D虚拟场景。
虚拟摄像机具有拍摄参数,拍摄参数包括虚拟摄像机的位姿和镜头参数,其中,虚拟摄像机的位姿是一个6自由度(6dimensions of freedom,DOF)的定位数据,包括虚拟相机的位置和姿态,虚拟摄像机的位置是指虚拟摄像机在三个方向(即X轴、Y轴和Z轴)上的移动距离,虚拟相机的姿态是指在三个方向的旋转(绕X轴、绕Y轴、绕Z轴)角度,其中,虚拟摄像机在X轴、Y轴和Z轴可以理解为上下、左右、前后的平移。虚拟摄像机的位姿可以理解为虚拟摄像机的外参。
虚拟摄像机的镜头参数是指虚拟摄像机的内参,包括但不限于虚拟摄像机的焦距、景深等。
虚拟摄像机不仅可以应用在上述场景中,还可以应用在虚拟直播场景,在虚拟直播场景中通过虚拟摄像机对3D虚拟场景中的虚拟对象(例如虚拟角色或者虚拟物体)进行拍摄,实时的向用户展示拍摄的虚拟对象。例如,3D虚拟场景中有个角色在跳舞,则可以通过虚拟摄像机对虚拟角色进行拍摄,将虚拟角色的跳舞过程直播给观众。
现有技术中,虚拟摄像机拍摄参数的设置和调整复杂,需要专业的技术人员在游戏引擎中进行设置和调整,技术门槛较高,不便于创作者操作。并且调整过程繁琐可能需要多次调整才能符合艺术创作者的需求,调整效率低。
为了解决现有技术的问题,本申请实施例提供一种虚拟场景的拍摄方法使得艺术创作者能够简单、直观的对虚拟摄像机的拍摄参数进行调整。
图1为本申请实施例适用的一种拍摄系统的示意图,如图1所示,该拍摄系统包括:第一设备110、第二设备120和定位系统。
定位系统130用于建立物理空间的坐标系,以及确定第一设备110在物理空间的坐标系中的位姿,第一设备110位于物理空间中,且能够在物理空间中移动,用户可以手持第一设备110移动或者借助其他移动设备带动第一设备110在物理空间中移动。
第二设备120用于实时对3D虚拟场景进行渲染,具体的,第二设备120从定位系统130处获取第一设备110在物理空间的坐标系中的位姿,根据第一设备110在物理空间的坐标系中的位姿确定3D虚拟场景中的虚拟摄像机的位姿,根据虚拟摄像机的位姿和虚拟摄像机的镜头参数,确定虚拟摄像机拍摄得到的虚拟场景的第一图像,并将第一图像发送给第一设备110。
第一设备110接收到第一图像后,对第一图像进行显示,用户根据第一设备110上显示的第一图像,移动和/或转动第一设备110,使得第一设备110的位姿发生变化,第一设备110的位姿发生变化时,虚拟摄像机在3D虚拟场景中的位姿也同步发生变化,通过用户调整第一设备110的位姿,能够达到调整虚拟摄像机的位姿的目的。
可选的,用户还可以通过第一设备110的输入装置对虚拟摄像机的镜头参数,即用户根据第一设备110上显示的第一图像,通过移动和/或转动第一设备110实现对虚拟摄像机的位姿调整,通过第一设备110的输入装置实现对虚拟摄像机的镜头参数调整。相应的,第一设备110需要具备显示装置和输入装置。
可选的,在一些实现方式中,可以由第一设备110对3D虚拟场景进行渲染,即第一设备110根据虚拟摄像机的位姿和虚拟摄像机的镜头参数,确定虚拟摄像机拍摄得到的虚拟场景的第一图像,此时,该拍摄系统中可以不包括第二设备120,即将第二设备120的功能都集成在第一设备110上实现。或者,该拍摄系统中包括第二设备120,第二设备120主要具有显示作用,第一设备110确定虚拟摄像机拍摄得到的虚拟场景的第一图像后,除了在第一设备110上显示第一图像,还将第一图像发送给第二设备120,在第二设备120上显示第一图像,从而使得可以由多个创作者或者相关工作人员同时观看虚拟摄像机拍摄到的图像的效果。
第一设备110或者第二设备120可以为手机、平板电脑、台式电脑、便携式笔记本电脑等多种形式的设备。当由第二设备120对3D虚拟场景进行渲染,此时,第一设备110主要是用于显示第一图像,因此,第一设备110可以为一个显示器,还可以是其他具有显示功能的电子设备,例如,手机、平板电脑等。如果第一设备110还用于输入虚拟摄像机的镜头参数,则第一设备110需要具有输入装置,相应的,第一设备110可以为显示器加外接输入装置的组合设备,例如,第一设备110由显示器和外接的游戏手柄组成,该游戏手柄可以为输入装置;第一设备110还可以是集成有输入装置的设备,例如,平板电脑或者手机等。
当由第一设备110对3D虚拟场景进行渲染时,此时,第二设备120主要是用于显示第一图像,因此,第二设备120可以为一个显示器,还可以是其他具有显示功能的电子设备,例如,手机、电脑等。
上述定位系统130用于定位第一设备110的位姿,上述定位系统130可以是动作捕捉系统,动作捕捉技术是指对人体或者物体在真实三维空间当中运动轨迹跟踪、测量和记录的一种技术,动作捕捉系统是指用于完成动作捕捉所需设备的总称。
动作捕捉系统是根据计算机视觉原理,通过多个摄像头从不同角度对目标对象进行拍摄,通过三角测量进行空间计算和定位。示例性的,动作捕捉系统为红外动作捕捉系统,图2为红外动作捕捉系统的一种部署示意图,如图2所示,红外动作捕捉系统包括多个动作捕捉摄像头,该多个摄像头安装在物理空间中,以室内空间为例,多个摄像头可以安装在墙壁(靠近天花板的一侧)以及天花板上。相机的搭建放置需要根据场地做出调整,其中,多个摄像机拍射角度不共线,尽可能减少相机覆盖盲区,尽可能用较少的相机捕捉较大的区域。
摄像头需要满足以下基本条件:具备发射高频率发射红外光,能够具有快速提取标记(mark)点或者快速将视频画面转换成内存较小的高对比的软件可识别的格式文件(即单个摄像头拍摄的mark点的2D坐标文件),捕捉场地内的摄像头需支持同步,针对场地大小的不同也需要选择不同的摄像头型号(相机的分辨率,红外光的照射距离)。
在相机条件满足后,需要在捕捉对象的表面贴上反红外光的mark点(也称为mark球或者红外标记点),mark点用于对摄像头发射的红外光进行反射,摄像头对mark点返回的红外光进行拍摄,获取到mark点的图像,根据mark点的图像得到mark点的2D坐标信息(即像素坐标)。动作捕捉软件根据各个mark点的2D坐标信息,得到各mark点的3D坐标,根据各个mark点的3D坐标和各摄像头的3D坐标确定捕捉对象的位姿。其中,每个摄像头的3D坐标通过相机标定获取到。
可选的,动作捕捉软件可以位于第二设备120中,也可以位于第一设备110中,还可以位于一个动作捕捉系统中一个单独的设备中,本申请实施例不对此进行限制。
可选的,也可以采用主动红外光点代替上述的红外mark点,主动红外光点是指能够主动发射高频红外光的装置,当采用主动红外光点时,摄像头不再需要发射红外光,主动红外光点发射的红外光能够被摄像头拍摄到。
参照图2所示,第一设备110位于物理空间中,在第一设备110上设置有多个红外mark点,多个红外mark点不共线。动作捕捉软件先根据摄像头拍摄到的图像建立物理空间的坐标系,物理空间的坐标系的原点和方向如图2所示,在建立物理空间的坐标系后,摄像头对第一设备110上的mark点进行拍摄,根据拍摄到的图像确定第一设备110在物理空间坐标系中的位姿。
上述定位系统130还可以是相机追踪设备,相机追踪设备与第一设备110固定在一起,随第一设备110一起运动,并检测第一设备110的位姿。该相机追踪设备可以是redspy红外定位头或startracker系统。
图1所示系统中,需要外部的定位系统130辅助对第一设备110进行定位,可选的,在一些实现方式中,不需要外部的定位系统130,由第一设备110内置的定位模块进行定位,第一设备110获取自己的位姿信息后,如果由第二设备120对虚拟场景进行渲染,则第一设备110将自己的位姿信息发送给第二设备120,如果由第一设备110对虚拟场景进行渲染,则第一设备110根据自己的位姿信息对虚拟场景进行渲染。
示例性的,第一设备110通过内置的惯性测量单元(Inertial Measurement Unit,IMU)测量第一设备110的位姿,IMU包括三轴陀螺仪和三轴加速度计,其中,陀螺仪可用于检测物体转动时三个轴向上的角速度获得物体的姿态,加速度计可用于检测物体物理移动时的加速度获得物体的位置信息。
在介绍了本申请实施例涉及到的一些概念之后,下面结合附图对本申请实施例提供的一种虚拟场景的拍摄方法进行具体说明。
图3是本申请实施例一提供的虚拟场景的拍摄方法的流程图。本实施例以该方法由图1所示的第一设备110或者第二设备120执行,本实施例以第二设备为例进行说明,如图1所示,本实施例的方法包括以下步骤。
S101、获取第一设备在物理空间的坐标系中的位姿,其中,物理空间的坐标系与3D虚拟场景的坐标系建立了关联关系,第一设备在物理空间内运动。
在获取第一设备在物理空间中的坐标系中的位姿之前,需要先建立物理空间的坐标系与3D虚拟场景的坐标系的关联关系。
以第二设备为例,第二设备通过定位系统获取物理空间的坐标系,该定位系统用于确定第一设备在物理空间的坐标系中的位姿。该定位系统可以为上述的动作捕捉系统或者相机追踪系统。相应的,需要先将定位系统设置在物理空间中,将定位系统与第二设备连接。
一种实现方式中,第二设备接收定位系统发送的物理空间的坐标系的信息,物理空间的坐标系的信息包括坐标系的原点和方向。该方式中,定位系统为外置的独立设备,定位系统在确定物理空间的坐标系后,将物理空间的坐标系的信息发送给第二设备。
另一种实现方式中,当定位系统为动作捕捉系统时,如果动作捕捉软件安装在第二设备上,则第二设备接收动作捕捉系统中的其他辅助设备发送的用于确定物理空间的坐标系的第一信息,根据第一信息确定物理空间的坐标系。
例如,在图2所示的红外动作捕捉系统中,第二设备接收红外动作捕捉系统中的各个摄像头发送的红外mark点的图像或者红外mark点的2D坐标,各个红外mark点放置在物理空间的坐标系的原点位置上,动作捕捉软件根据各个摄像头发送的红外mark点的图像或者红外mark点的2D坐标确定坐标系的原点和方向。
又一种实现方式中,第一设备利用自身内置的定位模块确定物理空间的坐标系,并检测第一设备的位姿,将物理空间的坐标系的信息发送给第二设备。该实现方式中,不需要外置的定位系统。
第二设备在获取到物理空间的坐标系后,为物理空间的坐标系与3D虚拟场景的坐标系建立关联关系,或者称为将物理空间的坐标系与3D虚拟场景的坐标系绑定,通过将物理空间的坐标系与3D虚拟场景的坐标系关联,使得物理空间中的第一设备的位姿与虚拟场景中的虚拟摄像头的位姿同步,当第一设备在物理空间的位姿变化时,虚拟摄像机在虚拟场景中的位姿也相应发生变化,或者说虚拟摄像机跟随第一设备运动,第一设备的运动包括移动和/或渲染,因此,用户能够通过控制第一设备的位姿控制虚拟摄像机的位姿。
示例性的,建立物理空间的坐标系与3D虚拟场景的坐标系建立关联关系,包括:将物理空间的坐标系与3D虚拟场景的坐标系对齐,即将两个坐标系的原点和方向完全对齐,或者,将物理空间的坐标系按照预设的偏移量进行调整,物理空间调整后的坐标系与3D虚拟场景的坐标系对齐。该预设的偏移量包括坐标系的旋转信息和/或平移信息,平移信息是指坐标系在X、Y、Z轴上的移动距离,旋转信息是指坐标系在X、Y、Z轴上的旋转角度。
以第二设备为例,第二设备获取第一设备的位姿的方法与获取物理空间的坐标系的方法一一对应。
一种实现方式中,第二设备接收定位系统发送的第一设备在物理空间的坐标系中的位姿。该方式中,定位系统检测第一设备的位姿,将第一设备的位姿发送给第二设备。
另一种实现方式中,当定位系统为动作捕捉系统时,如果动作捕捉软件安装在第二设备上,则第二设备接收动作捕捉系统中的其他辅助设备发送的用于确定第一设备的位姿的第二信息,根据第二信息确定第一设备的位姿。
例如,在图2所示的红外动作捕捉系统中,第二设备接收红外动作捕捉系统中的各个摄像头发送的红外mark点的图像或者红外mark点的2D坐标,各个红外mark点固定设置在第一设备上,动作捕捉软件根据各个摄像头发送的红外mark点的图像或者红外mark点的2D坐标确定第一设备的位姿。
又一种实现方式中,第一设备利用自身内置的定位模块确定第一设备的位姿,将第一设备的位姿发送给第二设备。
用户手持第一设备在物理空间内运动,也可以通过其他移动装置控制第一设备在物理空间内运动,例如,通过机械手臂控制第一设备在物理空间内移动。
S102、根据第一设备的位姿和该关联关系确定位于虚拟场景中的虚拟摄像机的位姿,虚拟摄像机跟随第一设备运动,虚拟摄像机用于对虚拟场景进行拍摄。
虚拟摄像机的功能与物理摄像机的功能类似,虚拟摄像机是游戏引擎提供的一种应用在3D虚拟场景中的摄像机,用于对虚拟场景进行拍摄。
一种方式中,第二设备根据该关联关系,将第一设备的位姿确定为虚拟场景中的虚拟摄像机的位姿。另一种方式中,第二设备根据该关联关系,在第一设备的位姿的基础上加上预设的偏移量得到虚拟摄像机的位姿。
S103、获取虚拟摄像机的镜头参数,虚拟摄像机的镜头参数是基于第一设备输入的第一镜头调整按钮的第一操作信息确定的。
虚拟摄像机的镜头参数包括但不限于:焦距大小、焦距速度、景深(Depth ofField,DOF)距离、景深速度等。
焦距速度用于控制焦距从当前值调整到目标值时的调整时长,在调整相同的焦距大小时,焦距速度越大调整所需时长越短,焦距速度越小调整所需时长越长。
景深速度用于控制景深距离从当前值到目标值时的调整时长,在调整相同的景深距离时,景深速度越大调整所需时长越短,景深速度越小调整所需时长越长。
一种实现方式中,如果没有接收到第一设备发送的第一镜头调整按钮的第一操作信息,则使用上一帧图像拍摄使用的镜头参数,如果接收到第一设备发送的第一镜头调整按钮的第一操作信息,则根据该第一操作信息,确定虚拟摄像头的镜头参数。用户可以根据自己的需求实时通过第一设备调整虚拟摄像机的镜头参数。
第一镜头调整按钮的第一操作信息是用户通过第一设备的输入装置输入,该输入装置可以是物理输入装置,例如,外接的手持控制器;该输入装置还可以是虚拟输入装置,例如,电子设备的触摸屏幕上显示的虚拟控制器,该虚拟控制器通过触摸操作操控。
输入装置上设置有多个镜头调整按钮,每个镜头调整按钮用于调整虚拟摄像头的一个镜头参数,可以理解,当输入装置为物理输入装置时,镜头调整按钮为物理按钮,当输入装置为虚拟输入装置时,镜头调整按钮为虚拟按钮,例如,触摸屏幕上显示的虚拟控件。
示例性的,游戏引擎在获取到第一设备发送的第一镜头调整按钮的第一操作信息后,根据预配置的不同镜头调整按钮的操作信息与虚拟摄像机的不同镜头参数的调整量的对应关系,以及第一操作信息,确定与第一镜头调整按钮对应的镜头参数的调整量。根据第一镜头调整按钮对应的镜头参数的调整量,调整第一镜头调整按钮对应的镜头参数。
在渲染引擎中预先配置了不同镜头调整按钮的操作信息与虚拟摄像机的不同镜头参数的调整量的对应关系,每个镜头调整按钮用于调整一个镜头参数,镜头调整按钮的操作可以是对镜头调整按钮的按压操作、滑动操作、旋转操作等。相应的,镜头调整按钮的操作信息可以是按压次数、按压时长、旋转角度、是否按压的指示信息等。
假设虚拟摄像机的镜头参数包括:焦距大小、焦距速度、景深距离和景深速度。一种实现方式中,景深距离对应两个镜头调整按钮:景深距离增加按钮和景深距离减小按钮,景深速度对应两个镜头调整按钮:景深速度增加按钮和景深速度减小按钮,焦距大小对应两个镜头调整按钮:焦距增大按钮和焦距减小按钮,焦距速度对应两个镜头调整按钮:焦距速度增大按钮和焦距速度减小按钮。
以焦距大小为例,焦距增大按钮和焦距减小按钮为两个旋转按钮,则该对应关系包括:焦距增大按钮旋转1度时,焦距增大的距离,焦距减小按钮旋转一度时,焦距减小的距离。可选的,焦距增大按钮和焦距减小按钮也可以通过一个按钮实现,通过不同的旋转方向确定焦距增大还是减小,这里只是举例说明。
以焦距速度为例,焦距速度增大按钮和焦距速度减小按钮为两个按压按钮,则该对应关系包括:焦距速度增大按钮按压一次时,焦距速度增加一倍,焦距速度减小按钮按压一次时,焦距速度减小一倍。
当第一镜头调整按钮为焦距速度增大按钮时,第一操作信息为焦距增大按钮的按压次数,根据第一操作信息和该对应关系,得到焦距速度的增加倍数,当第一操作信息所指示的焦距增大按钮的按压次数为一次时,确定焦距速度增加1倍。游戏引擎根据确定的焦距速度的增加倍数,对虚拟摄像头的焦距增大倍数进行调整。
可选的,在本申请其他实施例中,虚拟摄像机的镜头参数还可以是用户通过第二设备输入的,或者,预先设定好的,例如,设置在拍摄第1-5帧图像时,使用第一镜头参数,在拍摄第6-10帧图像时采用第二镜头参数,在拍摄第11-15帧图像时采用第三镜头参数,依次类推,可以设置预设时长内拍摄使用的镜头参数。
S104、根据虚拟摄像机的位姿和虚拟摄像机的镜头参数,确定虚拟摄像机拍摄到的虚拟场景的第一图像。
在获取到虚拟摄像机的位姿和镜头参数后,第二设备或者第一设备上的游戏引擎根据虚拟摄像机的位姿和镜头参数实时渲染得到虚拟场景的第一图像,其中,第一图像为一个2D图像。游戏引擎能根据虚拟摄像机的位姿和镜头参数,对3D虚拟场景的数据进行计算,将3D虚拟场景绘制到2D图像中,并显示2D图像,该过程类似于使用摄像机对虚拟场景进行拍摄。
可选的,用户还可以通过第一设备的输入装置对第一设备的位姿进行调整。示例性的,获取第一设备发送的第一位姿调整按钮的第二操作信息,基于第二操作信息调整虚拟摄像机的位姿,根据虚拟摄像机调整后的位姿和虚拟摄像机的镜头参数,确定虚拟摄像机拍摄到的虚拟场景的第一图像。
输入装置上设置有多个位姿调整按钮,每个位姿调整按钮用于调整虚拟摄像头的一个位姿参数,当输入装置为物理输入装置时,位姿调整按钮为物理按钮,当输入装置为虚拟输入装置时,位姿调整按钮为虚拟按钮,例如,触摸屏幕上显示的虚拟控件。
虚拟摄像机的位姿参数包括位置参数和姿态参数,位置参数包括虚拟摄像机在X、Y、Z轴上的移动距离,姿态参数包括虚拟摄像机在X、Y、Z轴上的旋转角度,通过位姿调整按钮可以对虚拟摄像机在X、Y、Z轴上的移动距离和旋转角度中的一个或者多个进行调整。
在渲染引擎中预先配置了不同位姿调整按钮的操作信息与虚拟摄像机的不同位姿参数的调整量的对应关系,每个位姿调整按钮用于调整一个位姿参数,位姿调整按钮的操作可以是对位姿调整按钮的按压操作、滑动操作、旋转操作等。相应的,位姿调整按钮的操作信息可以是按压次数、按压时长、旋转角度、是否按压的指示信息等。
假设虚拟摄像机的位姿参数包括X、Y、Z轴上的移动距离,一种实现方式中,X轴上的移动距离对应两个位姿调整按钮:向左移动按钮和向右移动按钮,Y轴上的移动距离对应两个位姿调整按钮:向前移动按钮和向后移动按钮,Z轴上的移动距离对应两个位姿调整按钮:向上移动按钮和向下移动按钮。其中,向右、向左移动按钮依次用于控制虚拟摄像机在X轴的正向和负向移动,向前、向后移动按钮依次用于控制虚拟摄像机在Y轴的正向和负向移动,向上、向下移动按钮依次用于控制虚拟摄像机在Z轴的正向和负向移动。
以X轴上的移动距离为例,向左移动按钮和向右移动按钮为两个按压按钮,则该对应关系包括:向右移动按钮按压一次,X轴的正向方向上移动第一预设距离,向左移动按钮按压一次,X轴的负向方向上移动第一预设距离,该第一预设距离例如为1米、2米、5米、10米等,可以根据使用场景配置该第一预设距离的取值。Y轴和Z轴上的移动距离与移动按钮的对应关系类似,这里不再重复说明。
当第一位姿调整按钮为向右移动按钮时,第二操作信息为向右移动按钮的按压次数,根据第二操作信息和该对应关系,得到X轴的正向方向上的移动距离,当第二操作信息所指示的向右移动按钮的按压次数为一次时,确定X轴的正向方向上的移动第一预设距离。游戏引擎根据确定的X轴的正向方向上的移动的第一预设距离,对虚拟摄像头的位置进行调整,即控制虚拟摄像头在X轴的正向方向上的移动第一预设距离。
当用户通过调整第一设备的位姿无法满足虚拟摄像机的位姿调整需求时,可以通过第一设备的位姿调整按钮调整虚拟摄像机的位姿。例如,当需要使用航拍模式时,由于物理空间的空间大小有限,物理空间的空间大小与虚拟场景的空间大小不匹配,通常,物理空间的空间大小远小于虚拟场景的空间大小,此时,为了实现对虚拟场景的航拍,可以通过第一设备的位姿调整按钮调整虚拟摄像机的位姿。
可选的,第一设备的输入装置上还包括位置初始化控件,该位置初始化控件用于恢复虚拟摄像机的位姿。相应的,获取第一设备发送的位置初始化按钮的第三操作信息,根据第三操作信息,控制虚拟摄像机的位姿恢复至位姿调整之前。
可选的,游戏引擎还可以对虚拟摄像机的拍摄效果进行优化,例如,对虚拟摄像机进行防抖、跟焦、速度调节、航拍设置等。
当本实施例的方法由第二设备执行时,第二设备在确定第一图像后,可以将第一图像发送给第一设备,由第一设备对第一图像进行显示。当本实施例的方法由第一设备执行时,第一设备渲染得到第一图像后,通过自己的显示屏幕显示第一设备。
通过第一设备显示虚拟场景的图像,使得用户能够根据第一设备上显示的虚拟场景的图像,实时的调整第一设备的位姿以对虚拟摄像机的位姿进行调整,以及实时的通过第一设备的输入装置调整虚拟摄像机的镜头参数。其中,用户通过调整第一设备的位姿对虚拟摄像机的位姿进行调整,类似于对物理相机的调整,使得虚拟摄像机的位姿的调整更加直观、灵活,不需要专业人员对游戏引擎进行操作,普通用户也可以实现对虚拟摄像机的位姿调整。用户通过第一设备的输入装置调整虚拟摄像机的镜头参数,不需要专业人员对游戏引擎进行操作,在第一设备上对镜头调整按钮进行操作调整即可,调整更加方便、灵活。
用户在调整虚拟摄像机的拍摄参数后,能够通过第一设备上显示的图像直观、即时的看到调整效果,带给用户更好的体验。如果调整效果不理想,则用户可以移动第一设备的位姿对虚拟摄像机的位姿进行调整,用户在物理空间中能够真实感受到虚拟摄像机的位姿,从而使得虚拟摄像机的位姿更加精准。
可选的,第一设备和第二设备可以同步显示第一图像,当然,第一设备或者第二设备还可以将第一图像发送给其他设备,使得更多的设备同步显示第一图像。例如,在直播场景中,第二设备或者第一设备将第一图像发送给直播观众的客户端。
通过第一设备和第二设备(还可以包括其他设备)同步显示第一图像,使得多个设备可以同时显示第一图像,便于多个用户能够同时对虚拟场景的显示效果进行查看。例如,在影视剧拍摄过程过中,导演、制片人、美术指导等工作人员都需要对虚拟场景的显示效果进行预览,此时,需要可能通过多个设备同时显示虚拟场景的图像。
可选的,第一设备或者第二设备按照时间顺序存储第一图像以及第一图像的拍摄参数,第一图像的拍摄参数包括拍摄第一图像时虚拟摄像机的位姿和虚拟摄像机的镜头参数。通过存储第一图像以及第一图像的拍摄参数,便于用户后续查询虚拟场景的图像以及拍摄参数,从中选择最优的拍摄参数,根据选择拍摄参数指导影视剧、游戏等后续的拍摄、制作等。
当本实施例的方法由第一设备执行时,可选的,第一设备将第一图像以及第一图像的拍摄参数一起发送给第二设备,由第二设备存储第一图像的拍摄参数。
上述以本实施例的方法由第二设备执行为例进行说明,当本实施例的方法由第一设备执行时,第一设备与第二设备执行本实施例的方法的原理相同这里不再重复描述。
本实施例中,通过获取第一设备在物理空间的坐标系中的位姿,根据第一设备的位姿和物理空间的坐标系与3D虚拟场景的坐标系的关联关系,确定位于虚拟场景中的虚拟摄像机的位姿,虚拟摄像机跟随第一设备运动,虚拟摄像机用于对虚拟场景进行拍摄;获取虚拟摄像机的镜头参数,根据虚拟摄像机的位姿和虚拟摄像机的镜头参数,确定虚拟摄像机拍摄得到的虚拟场景的第一图像。该方法通过调整第一设备的位姿对虚拟摄像机的位姿进行调整,通过第一设备的镜头调整按钮调整虚拟摄像机的镜头参数,并实时的通过第一设备显示调整效果,使得虚拟摄像机的拍摄参数的调整更加直观、灵活、精准,提高了虚拟摄像机的拍摄参数的调整效率。
在实施例一的基础上,本申请实施例二提供一种虚拟场景的拍摄方法,本实施例以第二设备对虚拟场景渲染为例进行说明。图4为本申请实施例二提供的方法的流程图,如图4所示,本实施例提供的方法包括以下步骤。
S201、第二设备通过红外动作捕捉系统获取物理空间的坐标系,建立物理空间的坐标系与3D虚拟场景的坐标系的关联关系。
本实施例以定位系统为红外动作捕捉系统为例进行说明,相应的,在执行本实施例的方法之前,需要先建立红外动作捕捉系统,具体的包括:安装摄像头,将摄像头与第二设备连接,在第一设备上设置多个红外mark点,在第二设备上安装、配置该红外动作捕捉系统的动作捕捉软件,建立动作捕捉软件与游戏引擎之间的接口,其中,动作捕捉软件与游戏引擎之间的接口用于传输物理空间的坐标系以及第一设备的位姿等信息。
用户还需要建立第一设备与第二设备之间的连接,第一设备与第二设备之间的连接用于传输数据,第一设备和第二设备之间可以通过有线或者无线方式进行连接,本申请实施例不对此进行限制。
可选的,本申请实施例中第一设备为组合设备,即第一设备由多个独立设备组合而成,相应的,用户需要对第一设备进行连接、组装等。
示例性的,第一设备包括显示装置、输入装置和图传装置,该输入装置、图传装置分别与显示装置连接,其中,图传装置用于接收第二设备发送的虚拟场景的图像,显示装置用于显示图传装置发送的图像,输入装置用于输入虚拟摄像机的拍摄参数的调整信息,该调整信息包括镜头调整按钮的操作信息和/或位姿调整按钮的操作信息。
该显示装置可以为一个显示器或者其他具有显示功能的设备,用于显示第二设备发送的图像,图传装置用于接收第二设备发送的数据(包括但不限于图像数据)以及向第二设备发送数据。图传装置主要是针对于远距离、高速移动和弱信号环境下的实时视频传输需求而设计的,图传装置广泛应用在各类影视拍摄场景中。
该输入装置可以为手持控制器,手持控制器和显示装置通过刚体连接部件连接,该手持控制器上设置有多个物理镜头调整按钮、多个物理位姿调整按钮、开关、操纵杆等,镜头调整按钮用于调整虚拟摄像头的镜头参数,位姿调整按钮用于调整虚拟摄像头的位姿参数,该手持控制器可以为游戏手柄、遥控器等。
图5为第一设备的一种示意图,如图5所示,该第一设备包括显示器、手持控制器和图传装置,图传装置为无线图传装置,无线图传装置与第二设备通过无线方式连接,从而使得第一设备不受制于有线线路布局而可以在物理空间内自由移动,方便用户对第一设备操作以及移动。手持控制器和显示器通过刚体连接部件连接,用户通过手握该手持控制器带动显示器移动或者转动。
在显示器的四周设置有4个红外mark点,如图4所示,4个红外mark点不共线。可选的,4个红外mark点也可以设置在手持控制器上,或者部分红外mark点设置在显示器上,部分红外mark点设置在手持控制器上。
图5所示第一设备体积适中,方便用户对第一设备进行移动或者转动,用户手握该手持控制器带动第一设备移动或者转动,不需要其他设备辅助第一设备移动或者转动,手持控制器易于操作,便于用户通过手持控制器输入虚拟摄像头的镜头参数。当第一设备采用图5所示组合设备时,第二设备可以为一个电脑,第二设备可以外接一个或者多个显示器,对虚拟场景的图像进行显示。
图5所示只是第一设备的一种实现方式,第一设备还可以采用其他形式,例如,采用手机、平板电脑、笔记本电脑等移动终端代替显示器和手持控制器,该移动终端可以直接与第二设备连接,或者该移动终端与图传装置连接,通过图传装置与第二设备连接,利用移动终端自身的输入功能作为输入装置。以平板电脑为例,在平板电脑的四周设置多个红外mark点,利用平板电脑本身具有的输入功能调整虚拟摄像头的镜头参数和/或位姿,平板电脑与图传装置连接。
红外动作捕捉系统建立好之后,各个摄像头先对自己的位置进行标定,在自己的位置标定好之后,第二设备通过红外动作捕捉系统建立物理空间的坐标系。
可选的,红外动作捕捉系统借助标定设备建立物理空间的坐标系,用户将该标定设备放置在物理空间中物理空间的坐标系的原点位置上,例如,图2所示红外动作捕捉系统中,用户将标定设置放置在物理空间的中心位置,将该中心位置作为物理空间的坐标系的原点。
该标定设备由多个刚体连接的红外mark点组成,例如,标定设备由3个红外mark点刚体连接组成,形成一个L型的刚体结构,一个红外mark点位于L型的刚体结构的直角点,另外两个红外mark点位于L型的刚体结构的两个直角边的端点。
红外动作捕捉系统的摄像头对该标定设备进行拍摄,得到标定设备上的3个红外mark点的2D坐标,将3个红外mark点的2D坐标发送给第二设备,第二设备上的动作捕捉软件根据3个红外mark点的2D坐标确定3个红外mark点的位置,将位于标定设备的直角点的红外mark点的位置作为物理坐标系的原点,将位于标定设备的一个直角边的端点上的红外mark点与坐标原点形成的方向作为X轴方向,将另一个直角边的端点上的红外mark点与坐标原点形成的方向作为Y轴方向,可选的,可以将L型的刚体结构中较长的直角边所在的方向作为X轴方向。
动作捕捉软件建立物理空间的坐标后,将物理空间的坐标系发送给第二设备的游戏引擎,游戏引擎已知3D虚拟场景的坐标系,建立物理空间的坐标系与3D虚拟场景的坐标系的关联关系。
S202、第二设备通过红外动作捕捉系统获取第一设备在物理空间的坐标系中的位姿,第一设备在物理空间内运动。
用户控制第一设备在物理空间内的移动或者转动,例如,用户持握手持控制器在物理空间内移动以调整第一设备的位置,或者,用户转动手持控制器以调整第一设备的姿态。
红外动作捕捉系统的摄像头发射红外光,第一设备上的4个红外mark点反射红外光,摄像头拍摄第一设备上设置的4个红外标记点的图像,得到红外标记点的2D坐标,将红外mark点的2D坐标发送给第二设备。第二设备的动作捕捉软件根据各红外mark点2D坐标确定第一设备的位姿。
S203、第二设备根据第一设备的位姿和该关联关系确定位于虚拟场景中的虚拟摄像机的位姿。
动作捕捉软件获取到第一设备的位姿后,将第一设备的位姿发送给游戏引擎,游戏引擎根据该虚拟摄像机跟随第一设备运动,该虚拟摄像机用于对虚拟场景进行拍摄。
S204、第二设备接收第一设备发送的第一镜头调整按钮的第一操作信息,根据该第一操作信息,确定虚拟摄像机的镜头参数。
本实施例中,用户可以通过第一设备的输入装置输入调整虚拟摄像机的镜头参数,该输入装置为手持控制器,该手持控制器上设置有多个物理镜头调整按钮,该镜头调整按钮用于调整虚拟摄像头的镜头参数。用户操作该手持控制器上的镜头调整按钮,该手持控制器检测到用户对第一镜头调整按钮的第一操作信息,并将第一镜头调整按钮的第一操作信息发送给第二设备。
第二设备根据预配置的不同镜头调整按钮的操作信息与虚拟摄像机的不同镜头参数的调整量的对应关系,以及该第一操作信息,确定与第一镜头调整按钮对应的镜头参数的调整量,根据第一镜头调整按钮对应的镜头参数的调整量,调整第一镜头调整按钮对应的镜头参数。
通过手持控制器上的镜头调整按钮调整虚拟摄像头的镜头参数,方便用户对虚拟摄像机的镜头参数进行调整。
S205、第二设备根据虚拟摄像机的位姿和虚拟摄像机的镜头参数,确定虚拟摄像机拍摄到的虚拟场景的第一图像。
可选的,该手持控制器上设置有多个物理位姿调整按钮,该位姿调整按钮用于调整虚拟摄像头的位姿参数。用户操作该手持控制器上的位姿调整按钮,该手持控制器检测到用户对第一位姿调整按钮的第二操作信息,并将第一位姿调整按钮的第二操作信息发送给第二设备。
第二设备根据预配置的不同位姿调整按钮的操作信息与虚拟摄像机的不同位姿参数的调整量的对应关系,以及该第二操作信息,确定与第一位姿调整按钮对应的位姿参数的调整量。根据第一位姿调整按钮对应的位姿参数的调整量,调整第一位姿调整按钮对应的位姿参数。
S206、第二设备将第一图像发送给第一设备。
第二设备将第一图像发送给图传装置,图传装置将第一图像发送给第一设备的显示装置,第一设备的显示装置显示该第一图像。
S207、第二设备和第一设备同步显示第一图像。
第二设备通过自己的显示屏幕显示第一图像,第一设备通过自己的显示装置显示第一图像,第一设备和第二设备同步显示第一图像,使得多个用户可以同时预览虚拟场景的图像。
可选的,第二设备按照时间顺序存储第一图像以及第一图像的拍摄参数,第一图像的拍摄参数包括拍摄第一图像时虚拟摄像机的位姿和虚拟摄像机的镜头参数。
通过存储第一图像以及第一图像的拍摄参数,在影视作品创作过程中,创作者可以根据存储的第一图像以及第一图像的拍摄参数制作分镜头脚本,由于创作者提前预览了各个镜头的拍摄效果,在制作分镜头脚本时,能够根据拍摄效果选择更优的镜头参数,从而使得制作的分镜头脚本更加符合创作者的需求,提高了后续拍摄的效率。
在游戏创作创造过程中,创作者可以从拍摄到的第一图像中选择部分图像制作游戏过场动画,由于拍摄到的第一图像是创作者根据自己需求对虚拟摄像头的拍摄参数进行调整得到的,因此拍摄到的第一图像更加符合创作者自己的需求,使得创作者能够制作出自己满意的作品。
本实施例的方法还可以应用在虚拟直播场景中,第二设备支持实时渲染,每秒钟可以渲染30、60帧或者更高帧数的图像,从而形成直播视频。第二设备在根据虚拟摄像头的位姿和镜头参数渲染得到虚拟场景的图像后,可以将虚拟场景的图像实时发送给应用服务器,通过应用服务器将虚拟场景的图像推送给直播观众,直播观众通过自己的客户端观看虚拟场景的直播视频。
图6为虚拟直播场景的示意图,如图6所示,虚拟直播场景中,创作者手持第一设备的手持控制器在物理空间中运动,第一设备的显示器的画面中实时显示有虚拟场景的直播画面,创作者可以根据第一设备的显示器显示的虚拟场景的直播画面,移动或者转动手持控制器,通过移动或者转动手持控制器调整第一设备的位姿,在第一设备的位姿发生变化后,虚拟摄像头的位姿相应变化。同时,用户可以通过手持控制器上的镜头调整控件调整虚拟摄像头的镜头参数。虚拟摄像头采用不同的位姿和镜头参数,拍摄到的虚拟场景的图像不同,呈现给用户的直播画面也不同。
可选的,用户还可以通过手持控制器上的位姿调整控件调整虚拟摄像头的位姿,从而能够从更多的角度对虚拟场景进行拍摄,例如,对虚拟场景进行航拍,提供给用户更好的直播画面。
通过实时调整虚拟摄像机的位姿和镜头参数,以调整直播镜头,使得用户看到的虚拟场景的直播视频更加接近真实直播场景,提高了虚拟直播的效果。
本实施例中,第二设备通过红外动作捕捉系统获取物理空间的坐标系以及第一设备在物理空间坐标系中的位姿,根据第一设备的位姿和物理空间的坐标系与3D虚拟场景的坐标系的关联关系确定位于虚拟场景中的虚拟摄像机的位姿,并接收第一设备发送的第一镜头调整按钮的第一操作信息,根据该第一操作信息,确定虚拟摄像机的镜头参数,根据虚拟摄像机的位姿和虚拟摄像机的镜头参数,确定虚拟摄像机拍摄得到的虚拟场景的第一图像,将第一图像发送给第一设备进行显示。该方法中,用户能够根据第一设备上显示的虚拟场景的图像,实时的调整第一设备的位姿以对虚拟摄像机的位姿进行调整,以及实时的通过第一设备的输入装置调整虚拟摄像机的镜头参数,使得虚拟摄像机的拍摄参数的调整更加直观、灵活,不需要专业人员对游戏引擎进行操作,普通用户也可以实现对虚拟摄像机的拍摄参数调整,并且提高了虚拟摄像头的拍摄参数的调整效率。
在实施例一和实施例二的基础上,本申请实施例三提供一种虚拟场景的拍摄方法,用于对第二设备、第二设备和定位系统的交互流程进行说明,各个步骤的具体实现方式参照前述实施例的相关描述,这里不再重复说明,本实施例重点说明设备之间的交互和时序关系。图7为本申请实施例三提供的方法的信令流程图,如图7所示,本实施例提供的方法包括以下步骤。
S301、定位系统获取物理空间的坐标系。
该定位系统为独立与第一设备和第二设备的外置设备,该定位系统可以为动作捕捉系统或者相机追踪系统。
S302、定位系统向第二设备发送物理空间的坐标系。
S303、第二设备建立物理空间的坐标系与3D虚拟场景的坐标系的关联关系。
本实施例中,游戏引擎设置在第二设备上,第二设备对3D虚拟场景进行渲染。
S304、定位系统检测第一设备在物理空间的坐标系中的位姿。
S305、定位系统向第二设备发送第一设备的位姿。
S306、第一设备检测第一镜头调整按钮的第一操作信息。
S307、第一设备向第二设备发送该第一操作信息。
S308、第二设备根据该第一操作信息,确定虚拟摄像头的镜头参数。
需要说明的是,步骤S304、S305与步骤S306-S308在执行时并没有先后顺序,也可以同时执行。如果用户不需要对虚拟摄像头的镜头参数进行调整,则不会触发步骤S306-S308,第二设备使用上一帧图像使用的镜头参数。
S309、第一设备检测第一位姿调整按钮的第二操作信息。
S310、第一设备向第二设备发送该第二操作信息。
S311、第二设备根据该第二操作信息调整虚拟摄像头的位姿。
S312、第二设备根据虚拟摄像头的位姿/调整后的位姿以及镜头参数,确定虚拟摄像机拍摄到的虚拟场景的第一图像。
需要说明的是,步骤S309-S311为可选步骤,如果用户不对虚拟摄像头的位姿进行调整,则不执行步骤S309-S311。
S313、第二设备向第一设备发送第一图像。
S314、第二设备显示第一图像。
S315、第一设备显示第一图像。
步骤S314和S315中,第一设备和第二设备可以同时第一图像。
S316、第二设备保存第一图像和第一图像的拍摄参数。
第一图像的拍摄参数包括拍摄第一图像的虚拟摄像头的位姿和镜头参数。
重复执行步骤S304-S316,完成虚拟摄像机的拍摄。
在本申请实施例中,虚拟摄像头可以按照预设的拍摄频率对虚拟场景自动进行拍摄,也可以由用户控制虚拟摄像头拍摄,例如,在第一设备的输入装置上设置有拍摄按钮,用户通过按压该拍摄按钮实现对虚拟摄像头的控制。
为便于更好的实施本申请实施例的虚拟场景的拍摄方法,本申请实施例还提供一种虚拟场景的拍摄装置。图8为本申请实施例四提供的虚拟场景的拍摄装置的结构示意图,如图8所示,该虚拟场景的拍摄装置100可以包括:
第一获取模块11,用于获取第一设备在物理空间的坐标系中的位姿,其中,所述物理空间的坐标系与三维虚拟场景的坐标系建立了关联关系,所述第一设备在所述物理空间内运动;
第一确定模块12,用于根据所述第一设备的位姿和所述关联关系确定位于所述虚拟场景中的虚拟摄像机的位姿,所述虚拟摄像机跟随所述第一设备运动,所述虚拟摄像机用于对所述虚拟场景进行拍摄;
第二获取模块13,用于获取所述虚拟摄像机的镜头参数,所述虚拟摄像机的镜头参数是基于所述第一设备输入的第一镜头调整按钮的第一操作信息确定的;
第二确定模块14,用于根据所述虚拟摄像机的位姿和镜头参数,确定所述虚拟摄像机拍摄到的所述虚拟场景的第一图像。
在一些可选实现方式中,通过定位系统获取所述物理空间的坐标系的信息以及所述第一设备在所述物理空间的坐标系中的位姿。
在一些可选实现方式中,所述定位系统为动作捕捉系统或者相机追踪系统。
在一些可选实现方式中,还包括:存储模块,用于按照时间顺序存储所述第一图像以及所述第一图像的拍摄参数,所述第一图像的拍摄参数包括拍摄所述第一图像时所述虚拟摄像机的位姿和镜头参数。
在一些可选实现方式中,所述第二获取模块13具体用于:
获取所述第一设备发送的所述第一镜头调整按钮的第一操作信息;
根据预配置的不同镜头调整按钮的操作信息与所述虚拟摄像机的不同镜头参数的调整量的对应关系,以及所述第一操作信息,确定与所述第一镜头调整按钮对应的镜头参数的调整量;
根据所述第一镜头调整按钮对应的镜头参数的调整量,调整所述第一镜头调整按钮对应的镜头参数。
在一些可选实现方式中,所述第二确定模块14具体用于:获取所述第一设备发送的第一位姿调整按钮的第二操作信息,基于所述第二操作信息调整所述虚拟摄像机的位姿;
根据所述虚拟摄像机调整后的位姿和所述虚拟摄像机的镜头参数,确定所述虚拟摄像机拍摄到的所述第一图像。
在一些可选实现方式中,所述第二确定模块14具体用于:
根据预配置的不同位姿调整按钮的操作信息与所述虚拟摄像机的不同位姿参数的调整量的对应关系,以及所述第二操作信息,确定与所述第一位姿调整按钮对应的位姿参数的调整量;
根据所述第一位姿调整按钮对应的位姿参数的调整量,调整所述第一位姿调整按钮对应的位姿参数。
在一些可选实现方式中,还包括位姿恢复模块,用于:
获取所述第一设备发送的位置初始化按钮的第三操作信息;
根据所述第三操作信息,控制所述虚拟摄像机的位姿恢复至位姿调整之前。
在一些可选实现方式中,所述装置集成在所述第一设备中,所述装置还包括:
显示模块,用于显示所述第一图像;
发送模块,用于向第二设备发送所述第一图像和所述第一图像的拍摄参数,所述第一图像的拍摄参数包括拍摄所述第一图像时所述虚拟摄像机的位姿和所述虚拟摄像机的镜头参数,所述第一设备和所述第二设备同步显示所述第一图像。
在一些可选实现方式中,所述装置集成在第二设备中,所述装置还包括:
显示模块,用于显示所述第一图像;
发送模块,用于将所述第一图像发送给所述第一设备进行显示,其中,所述第一设备和所述第二设备同步显示所述第一图像。
在一些可选实现方式中,所述第一设备包括显示装置、输入装置和图传装置,所述输入装置、所述图传装置分别与所述显示装置连接,所述图传装置用于接收所述第二设备发送的所述第一图像,并将所述第一图像发送给所述显示装置,所述显示装置用于显示所述第一图像,所述输入装置用于输入信息。
在一些可选实现方式中,所述输入装置为手持控制器,所述手持控制器和所述显示装置通过刚体连接部件连接,所述手持控制器上设置有多个物理镜头调整按钮,所述镜头调整按钮用于调整所述虚拟摄像头的镜头参数。
在一些可选实现方式中,所述手持控制器上还设置有多个物理位姿调整按钮,所述位姿调整按钮用于调整所述虚拟摄像头的位姿参数。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。
上文中结合附图从功能模块的角度描述了本申请实施例的装置100。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
本申请实施例还提供一种电子设备。图9为本申请实施例五提供的电子设备的一种结构示意图,如图9所示,该电子设备200可以包括:
存储器21和处理器22,该存储器21用于存储计算机程序,并将该程序代码传输给该处理器22。换言之,该处理器22可以从存储器21中调用并运行计算机程序,以实现本申请实施例中的方法。
在本申请的一些实施例中,该处理器22可以包括但不限于:通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
在本申请的一些实施例中,该存储器21包括但不限于:易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在本申请的一些实施例中,该计算机程序可以被分割成一个或多个模块,该一个或者多个模块被存储在该存储器21中,并由该处理器22执行,以完成本申请提供的方法。该一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序在该电子设备中的执行过程。
如图9所示,该电子设备200还可包括:收发器23,该收发器23可连接至该处理器22或存储器21。
其中,处理器22可以控制该收发器23与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器23可以包括发射机和接收机。收发器23还可以进一步包括天线,天线的数量可以为一个或多个。
可以理解,虽然图9中未示出,该电子设备200还可以包括定位模块、蓝牙模块、显示器、控制器、输入装置等,在此不再赘述。
应当理解,该电子设备中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
本申请还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。或者说,本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
本申请还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得电子设备执行上述方法实施例中的相应流程,为了简洁,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。
- 电影拍摄场景的调度方法、装置、电子设备和存储介质
- 虚拟机应用程序管理方法、装置、设备及可读存储介质
- 图像拍摄控制方法、装置、服务器、存储介质及拍摄装置
- 拍摄装置、认证装置、拍摄方法以及存储介质
- 一种图像拍摄方法、装置、设备及存储介质
- 虚拟场景的效果显示方法、装置、设备、介质及程序产品
- 基于虚拟场景的互动方法、装置、设备、介质及程序产品