一种游戏引擎混合现实拍摄方法与流程

文档序号:12179077阅读:910来源:国知局
一种游戏引擎混合现实拍摄方法与流程

本发明涉及虚拟现实技术领域,特别是一种游戏引擎混合现实拍摄方法。



背景技术:

混合现实技术(MR)是虚拟现实技术的进一步发展,该技术通过在虚拟环境中引入现实场景信息,在虚拟世界、现实世界和用户之间搭起一个交互反馈的信息回路,以增强用户体验的真实感。一般有硬件部分和软件部分组成,其中,硬件部分包括跟踪系统、计算机和摄像机;软件部分首先通过游戏引擎和跟踪系统获取实际相机跟踪信息;然后通过引擎输出虚拟物体画面;并通过第三方软件采集拍摄画面,以及通过第三方软件对拍摄画面进行抠像最后再通过第三方软件合成虚拟画面与拍摄画面。但是这种方法必须要使用第三方软件进行拍摄画面的抠像与合成,因此导致功能性受第三方软件限制,无法与游戏引擎进行深度信息传递,以至于抠像效果简单,整体色彩不统一,两方画面延迟无法准确匹配。游戏引擎输出帧率与采集帧率无法完全统一,照成画面抖动。

因此,需要一种在游戏引擎中能使拍摄画面与游戏虚拟画面准确匹配的拍摄方法。



技术实现要素:

本发明的目的是提出一种游戏引擎混合现实拍摄方法;该方法能在游戏引擎中使拍摄画面与游戏虚拟画面进行准确匹配。

本发明的目的是通过以下技术方案来实现的:

本发明提供的游戏引擎混合现实拍摄方法,包括以下步骤:

S1:通过跟踪系统获取实际相机跟踪信息;

S2:抖动优化处理和延迟优化处理跟踪信息数据;

S3:生成虚拟摄像机并根据虚拟三维场景模型获取虚拟场景画面;

S4:采集实际拍摄画面数据;

S5:对采集的画面数据进行抠像处理;

S6:结合虚拟摄像机中的虚拟相机坐标对抠像处理后的画面数据进行动态空间切割;

S7:根据采集的实际拍摄画面数据和虚拟场景画面来校准实际拍摄相机与跟踪点的位置;

S8:合成采集的实际拍摄画面数据与虚拟场景画面。

进一步,所述对跟踪信息进行数据抖动优化的具体步骤如下:

S21:设置第一抖动阀值和第二抖动阀值;

S22:获取跟踪点当前帧位置信息和上一帧位置信息;

S23:将当前帧位置信息和上一帧位置信息进行相减得到偏移值;

S24:判断偏移值是否大于第一抖动阀值,如果是,则设置第二抖动阀值2为0;

S25:如果否,则设置第二抖动阀值2为1;

S26:判断偏移值是否大于第二抖动值,如果是,则设置跟踪点当前帧位置信息为当前帧位置信息;如果否,则设置跟踪点当前帧位置信息为上一帧位置信息。

进一步,所述对跟踪信息进行数据延迟优化的具体步骤如下:

S31:设置延迟时间X:

S32:创建用于记录当前帧跟踪点位置信息的数组;

S33:获取当前帧跟踪点旋转值和位移值;

S34:在数组中存储当前帧跟踪点旋转值和位移值;

S35:通过偏移值读取相应时间位移和旋转值,进行LERP插值计算,计算两帧之间的插值;

S36:设置当前虚拟摄像机的位置和旋转为当前计算结果。

进一步,所述动态空间切割的具体步骤如下:

S61:获取拍摄抠像后的画面;

S62:获取当前相机定位信息并建立虚拟摄像机;

S63:创建虚拟绿布模拟试卷空间中的绿布范围;

S64:渲染出动态绿布范围遮罩;

S65:进行对图像进行减法计算,去除绿布范围以外拍摄内容;

S66:输出计算后画面。

进一步,所述校准实际拍摄相机与跟踪点的位置的具体步骤如下:

S71:在获得跟踪点位置旋转数据;

S72:构建与当前帧相关的物体的子物体;所述子物体为跟随父级运动的偏移物体;

S73:设置偏移物体的相对六轴偏移值;

S74:将偏移物体作为虚拟相机的摆放位置。

由于采用了上述技术方案,本发明具有如下的优点:

本发明在游戏引擎中完全整合了MR所需的所有功能,并进行了深度优化,完全摆脱第三方软件的使用。解决了混合现实在引擎与第三方软件无法精确配合造成的问题。通过调整跟踪点位置偏移信息来精确匹配物理相机;通过调整延迟属性来精确匹配画面延迟;通过调整抖动阀值来去除静止状态下的硬件物理抖动;对采集画面与三维虚拟画面同时更新,避免帧率不统一问题。

同时,通过精确调整抠像数值以去除黑边与绿色溢出,实时采集视频画面无任何丢帧现象;通过动态切割采集画面去除绿布范围外拍摄物体,达到360无死角拍摄,无需第三方软件支持。

本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。

附图说明

本发明的附图说明如下。

图1为游戏引擎混合现实系统图。

图2为数据抖动优化流程图。

图3为数据延迟优化流程图。

图4动态空间切割流程图。

图5为位移补偿示意图。

图6为位移补偿调整示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步说明。

实施例

如图1所示,本实施例通过提供游戏引擎混合现实拍摄系统来实现拍摄方法,该系统包括拍摄用摄像机、跟踪定位系统和计算机;游戏引擎混合现实拍摄方法,包括以下步骤:

S1:通过跟踪系统获取实际相机跟踪信息;

S2:抖动优化处理和延迟优化处理跟踪信息数据;

S3:生成虚拟摄像机并根据虚拟三维场景模型获取虚拟场景画面;

S4:采集实际拍摄画面数据;

S5:对采集的画面数据进行抠像处理;

S6:结合虚拟摄像机中的虚拟相机坐标对抠像处理后的画面数据进行动态空间切割;

S7:根据采集的实际拍摄画面数据和虚拟场景画面来校准实际拍摄相机与跟踪点的位置;

S8:合成采集的实际拍摄画面数据与虚拟场景画面。

如图2所示,其中,针对跟踪信息进行数据抖动优化时,设置两个抖动阀值实现双重判断抖动目标。

首先,获取跟踪点当前帧位置信息,与上一帧位置信息进行相减得到偏移值,当偏移值大于抖动阀值1时,设置抖动阀值2为0;当偏移值小于抖动阀值1时,设置抖动阀值2为1;其中,抖动阀值2为0时反馈当前的跟踪点位置信息,抖动阀值2为1时,设置当前跟踪点位置信息为上一帧位置。因此,设置双重抖动阀值可以以较小的抖动阀值控制大范围的抖动移动。

本实施例中针对跟踪信息进行数据延迟优化时,设置延迟时间参数,需要实时记录5秒内的移动数据在数组中,针对相机拍摄画面的延迟调整整体位移延迟时间,以匹配拍摄画面。

依次记录当前帧的跟踪点位置信息到数组中,

获取延迟时间参数,每增加1,则为时间偏移1帧;

因为有可能出现小数点的情况,所以需要获取当前选择帧的位置信息和上一帧的位置信息进行插值计算,得到准确目标位置信息;

赋予虚拟摄相机当前目标位置信息。

如图3所示,本实施例提供的数据延迟优化处理具体过程如下:

首先创建数组POS记录位移信息,长度为30*5,每秒30帧,一共150帧;创建数组ROT记录旋转信息,长度为30*5,每秒30帧,一共150帧;创建整数N=0为当前数组序列编号

然后获取当前帧跟踪点旋转值和位移值;设置POS,ROT数组中第N个数字为当前位移旋转值;

如果N的值小于数组长度150,N=N+1,否则N=0,用于循环记录数组数值,记录超过150帧便从头开始覆盖记录;

最后根据设置的延迟时间X结合记录当前时间为N,通过偏移值读取相应时间位移值和旋转值,X为浮点数值,进行LERP插值计算,计算两帧之间的插值;设置当前虚拟摄像机的位置和旋转为当前计算结果。

如图4所示,本实施例中通过精确调整抠像数值以去除黑边与绿色溢出,实时采集视频画面无任何丢帧现象;通过动态切割采集画面去除绿布范围外拍摄物体,具体如下:

首先接收视频采集数据;跟踪实际相机运动数据;然后在虚拟环境中搭建同等比例绿(蓝)布,和在虚拟环境中计算实际绿(蓝)布范围;最后通过建立一个虚拟摄像机,拾取现实相机运动轨迹,实时渲染虚拟环境中的绿(蓝)布,以此作为通道储存在内存中。

去除实际拍摄素材中绿布范围外内容,针对实际抠像后的素材再减去内存中实时计算的绿(蓝),布范围得到一个去除绿(蓝)布范围以外的图像数据。

如图5和6所示,图中,11为现实拍摄环境、111为现实定位手柄、112为现实摄像机、113为现实相机跟踪定位点、12为虚拟三维环境、121为虚拟定位手柄、122为虚拟摄像机、123为跟踪定位点反馈位置坐标信息;在现实拍摄环境11中两物体之间有相对位置偏差,在虚拟三维环境12需要设置相应补偿值来匹配现实摄像机所在位置。

21为虚拟手柄、22为实际相机拍摄手柄、23为显示屏幕;其中,实际相机拍摄手柄22需要通过画面确定偏移大小,以调整虚拟相机的位置进行匹配。

本实施例中在校准实际拍摄相机与跟踪点的位置时,由于跟踪点与相机有距离差距,所以需要计算补偿距离。在获得跟踪点位置旋转数据后需要在此物体的子物体下新建一个偏移物体,跟随父级运动,设置此偏移物体的相对六轴偏移值,使用此偏移物体作为虚拟相机的摆放位置,以精确匹配物理相机。合成最终采集画面与虚拟物体画面,在采集更新完毕后同时更新虚拟画面,可以做到画面同步更新,避免帧率不统一照成的抖动问题。

本实施例中的主要由三个模块组成抠像处理包括抠像处理、边缘处理和颜色处理三部分,分别通过抠像模块、边缘模块和颜色模块三个模块来进行,通过整合可以实现实时抠像无黑边、去除绿色和色彩溢出的功能。

抠像模块的抠像处理由抠像模块接受图像数据并通过设置控制变量用来控制抠像效果,控制变量分别为抠像范围参数控制、抠像强度参数控制、抠像蓝色补偿参数控制。

边缘模块通设置边缘缩进强度、边缘模糊度、边缘分散度三个控制变量来控制边缘处理效果。接收由抠像模块处理好的抠像图像数据,然后再通过模糊算法模糊整体图像,针对每预设范围内的像素进行计算,看限定模糊范围在10像素以内。

通过得到的模糊图片进行反相再减去原始没有模糊的图像则得到一个有模糊的边缘,通过对此边缘的多次叠加控制强度得到完整边缘,再通过原始图像减去边缘图像达到去除黑边的目的。

颜色模块用于去除绿色溢出,通过针对输入图像数据的RGB通道进行处理图像像素,如果当前像素的绿色通道数值大于红色和蓝色的平均值,则此绿色通道的数值改为红色和蓝色的平均值;否则不变。

最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的保护范围当中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1