一种基于虚幻引擎的绿幕无限延展方法与流程

未命名 10-09 阅读:75 评论:0


1.本发明涉及虚拟制作、虚拟发布会及虚拟直播等领域,尤其涉及一种基于虚幻引擎的绿幕无限延展方法。


背景技术:

2.在电商、发布会等虚拟直播应用下,直播机构和直播平台的多样性及差异化较大,很多由于绿幕间空间限制,绿布范围小,在相机活动过程中难免会拍摄到绿幕范围以外的非绿布画面导致穿帮问题,也减小了虚拟直播中人物的活动范围,并缩短了相机与直播主体之间的距离及拍摄景别,影响直播效果。而既能解决空间限制导致拍摄到绿幕范围以外的非绿布画面穿帮问题,又能极大的控制成本和预算,成为虚拟直播领域下迫切需要的重要一环。
3.因此,本领域的技术人员致力于开发一种基于虚幻引擎(简称ue5)(unreal engine)的绿幕无限延展方法,以至少解决相关技术中由于现实绿幕间空间限制下绿布范围较小,相机活动过程中拍摄到绿幕范围以外的非绿布画面导致穿帮问题,使相机与直播主体之间不再受限与距离及景别而影响直播效果,并在无需扩大绿幕空间的情况下极大的节约了成本和直播预算。


技术实现要素:

4.有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是相关技术中由于现实绿幕间空间限制下绿布范围较小,相机活动过程中拍摄到绿幕范围以外的非绿布画面导致的穿帮等问题。
5.为实现上述目的,本发明提供了一种基于虚幻引擎的绿幕无限延展方法,包括如下步骤:
6.步骤s1:相机输入源接入虚幻引擎,并通过所述虚幻引擎的合成模块对输入源进行绿幕抠像;
7.步骤s2:程序化生成立方体网格,根据所述相机视角构建虚拟绿幕空间;
8.步骤s3:生成多个单截面,组成所述虚拟绿幕空间下的虚拟绿布区域;
9.步骤s4:创建场景捕获组件,分别渲染所述虚拟绿幕空间和所述虚拟绿布区域,输出对应的场景捕获渲染纹理贴图;
10.步骤s5:叠加输出的所述场景捕获渲染纹理贴图与输入源画面,根据所述虚拟绿布区域对所述输入源画面进行裁剪,实现绿幕根据视角实时延展。
11.进一步地,所述步骤s1还包括:
12.将所述绿幕输入源画面通过sdi或外接采集卡接入虚幻引擎,再通过所述虚幻引擎的合成模块对所述输入源进行绿幕抠像,将抠完像的输入源画面的虚幻引擎材质资产赋予抠像面片网格体,并放置于虚拟场景。
13.进一步地,所述步骤s2还包括:
14.通过程序化生成组件,构建一个初始大小的程序化生成的立方体网格,其中包含正面墙,地面、左墙及右墙;左右摇摆相机,根据输入源画面中显示的绿幕范围,不断调整程序化生成的立方体网格的宽高和深度,使在虚拟场景中生成一个与实际绿幕空间大小对应的虚拟绿幕空间,同时通过透明度调节可清晰地显示其空间关系。
15.进一步地,所述步骤s3还包括:
16.生成的程序化生成的立方体网格,复用所述虚拟绿幕空间所有的顶点信息、法线向量、uv贴图坐标及切线方向信息,继续程序化生成单个截面,构建四个所述截面,分别为正面绿布、地面绿布、左墙绿布及右墙绿布。
17.进一步地,将所述四个截面作为子对象附加在所述虚拟绿幕空间上,作为与实际绿布大小对应的所述虚拟绿布区域;根据实际绿布范围,继续来回摇动相机调整正面绿布、地面绿布、左墙绿布及右墙绿布大小,并实时更新所述截面,并为所述虚拟绿布区域的所述四个截面填充为绿色与实际绿布对应。
18.进一步地,所述摇动相机调整绿布大小的方法为:
19.向左摇摆物理相机,同时调整正面绿布左边范围与实际绿幕空间中的绿布左边缘重合,如果正面绿布左边缘超出正面墙左范围,则先调整正面墙再继续调整正面绿布左边缘范围;
20.向右摇摆物理相机,同时调整正面绿布右范围与实际绿幕空间中的绿布右边缘重合;同样,如果正面绿布左边缘超出正面墙右范围,则先调整正面墙再继续调整正面绿布右边缘范围;
21.同理,继续根据实际绿幕空间中的左右墙绿布及地面绿布深度,确定最终的地面绿布、左墙绿布及右墙绿布空间关系。
22.进一步地,所述步骤s4,还包括:
23.在虚拟场景中构建了与显示绿幕空间对应的所述虚拟绿幕空间及所述虚拟绿布区域后,接着创建2个基于虚幻引擎的场景捕获组件,分别渲染对应的所述虚拟绿幕空间和所述虚拟绿布区域,并实时输入所述虚拟绿布区域的场景捕获渲染纹理贴图及所述虚拟绿布区域的场景捕获渲染纹理贴图。
24.进一步地,所述步骤s5还包括:
25.将实时输出的两张所述场景捕获渲染纹理贴图与进行抠像处理完的输入源画面进行叠加,叠加关系为输入源画面与正面绿布区域叠加,再将所述虚拟绿布区域与所述虚拟绿幕空间进行叠加。
26.进一步地,所述步骤s5还包括:
27.基于虚拟场景中构建的所述虚拟绿布区域范围,将进行抠像处理完的输入源画面根据所述虚拟绿布区域进行实时裁剪,即只保留所述输入源画面在所述虚拟绿布区域的区域内部分,其余部分都进行裁剪。
28.进一步地,所述法线向量、所述uv贴图坐标及所述切线方向都是和顶点对应的,三角面为模型所有的面,三角面用顶点的数组下标连线,每个三角面可以顺时针连和逆时针连接。
29.本技术解决了在实际应用中由于现实绿幕间空间限制,绿布范围较小,在相机摇摆过程中难免会拍摄到绿幕范围以外的非绿布画面导致穿帮问题,通过在虚拟场景中可以
无限延展绿幕,使范围以外的非绿布画面可根据视角实时裁剪为虚拟场景,使狭小的绿布画面与虚拟场景可以无缝衔接。
30.以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
31.图1是本发明的一个较佳实施例的基于虚幻引擎的绿幕延展线性流程图;
32.图2是本发明的一个较佳实施例的构建虚拟绿幕空间关系图;
33.图3是本发明的一个较佳实施例的三角面示意图;
34.图4是本发明的一个较佳实施例的构建虚拟绿布区域关系图;
35.图5是本发明的一个较佳实施例的虚拟绿幕空间及绿布区域叠加示例图。
具体实施方式
36.以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。
37.在附图中,结构相同的部件以相同数字标号表示,各处结构或功能相似的组件以相似数字标号表示。附图所示的每一组件的尺寸和厚度是任意示出的,本发明并没有限定每个组件的尺寸和厚度。为了使图示更清晰,附图中有些地方适当夸大了部件的厚度。
38.如图1所示,本技术涉及一种基于虚幻引擎unrealengine的绿幕无限延展方法,涉及虚拟制作、虚拟发布会及虚拟直播等应用领域,该方法包括:将绿幕输入源画面接入虚幻引擎(ue5),通过ue5合成模块(unrealcomposure)对输入源进行绿幕抠像;再通过程序化生成的ue5组件(proceduralmesh),在虚拟场景中生成一个与实际绿幕空间大小对应的虚拟空间并命名为虚拟绿幕空间(greenroombox),同时支持透明度调节以更清晰的显示空间关系;摇摆物理相机视角,根据实际绿幕空间范围调整虚拟绿幕空间(greenroombox)的宽高及深度。再基于生成的虚拟绿幕空间(green roombox),复用其所有的顶点信息vertices,法线向量normal,uv贴图坐标及切线方向tangent等信息继续程序化生成单个截面(proceduralmeshsection),构建正面、地面、左墙绿布及右墙绿布四个截面区域成子对象,附加于虚拟绿幕空间(greenroom box)上作为与绿幕空间中实际绿布大小对应的虚拟绿布范围并命名为虚拟绿布区域(greenarea)。根据实际绿布范围,继续摇动相机调整截面大小并实时更新ue5截面网格组件(meshsection)。再通过创建两个ue5场景捕获组件(scenecapture)分别只渲染虚拟绿幕空间(greenroombox)及虚拟绿布区域(greenarea)并输出虚拟绿幕空间(greenroombox)的场景捕获渲染纹理贴图(rendertarget)和虚拟绿布区域(greenarea)的场景捕获渲染纹理贴图(rendertarget),将场景捕获渲染纹理贴图(rendertarget)与输入源画面进行叠加,并通过虚拟绿布区域(greenarea)对输入源画面进行实时裁剪,最终达到使实际绿幕空间在虚拟场景中根据相机视角无限延展的效果。
39.为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
40.本实施例提供了一种基于虚幻引擎unrealengine的绿幕无限延展方法,其详细实
施过程包括:
41.将绿幕输入源画面通过bmd采集卡接口(sdi)或外接采集卡接入unreal引擎,再通过ue5合成模块(unrealcomposure)模块对输入源进行绿幕抠像,将进行抠像处理完的输入源画面ue5材质资产(material)赋予抠像面片ue网格平面(planemesh)上放置于虚拟场景中默认位置;
42.通过程序化生成ue5程序化生成组件(proceduralmeshcomponent),构建一个初始大小(如300*300*300cm)的程序化生成的立方体网格(proceduralmeshbox),该box初始位置以输入源画面planemesh在场景中的位置为准,其中包含正面墙,地面、左墙及右墙四个部分构成。
43.向左摇摆物理相机视角,同时调整正面墙左区域大小与实际绿幕空间中的左面墙边缘重合;向右摇摆物理相机视角,同时调整正面墙右区域大小与实际绿幕空间中的右面墙边缘重合;继续摇摆物理相机俯仰角度,调整地面深度区域大小及左右墙对应的区域范围。
44.如图2所示,通过调整,在虚拟场景中构建了一个与实际绿幕空间大小对应的虚拟绿幕空间(greenroombox),同时需要支持虚拟绿幕空间(greenroombox)的透明度调节以更清晰的显示其空间关系;
45.基于程序化生成的立方体网格(proceduralmeshbox),复用虚拟绿幕空间(green roombox)所有的顶点信息,法线向量,uv贴图坐标及切线方向等信息继续程序化生成的单个截面(proceduralmeshsection),构建四个截面作为绿幕空间中实际绿布区域范围,分别为正面绿布区域,地面绿布区域,左墙绿布区域及右墙绿布区域;
46.其中,法线向量,uv贴图坐标及切线方向都是和顶点对应的,triangles为模型所有的面,比如每一个截面矩形平面均有四个顶点,还需要用这四个顶点连出来两个三角面,section截面才能正常显示,triangles用顶点的数组下标连线,每个三角面可以顺时针连和逆时针连接,区别在于面的朝向。
47.如图3所示,在本实施例中根据截面朝向则模型所有的三角面(triangles)即为0、2、1;0、3、1的array数组;若用三个数组下标连一个三角面,两个三角面分别是021和123。
48.如图4所示,基于构建的四个截面作为子对象附加于虚拟绿幕空间(greenroom box)上作为与实际绿布大小对应的虚拟绿布区域(greenarea)。向左摇摆物理相机,同时调整正面绿布左范围与实际绿幕空间中的绿布左边缘重合,如果正面绿布左边缘超出正面墙左范围,则先调整正面墙再继续调整正面绿布左边缘区域;
49.向右摇摆物理相机角度,同时调整正面绿布右范围与实际绿幕空间中的绿布右边缘重合;同样,如果正面绿布右边缘超出正面墙右范围,则先调整正面墙再继续调整正面绿布右边缘区域;
50.同理,继续根据实际绿幕空间中的左右墙绿布及地面绿布深度,确定最终的地面绿布、左墙绿布及右墙绿布空间关系;
51.通过调整正面绿布区域,地面绿布区域,左墙绿布区域及右墙绿布区域大小并实时更新ue5截面网格组件(meshsection),并为虚拟绿布区域(greenareabox)四个截面填充为绿色与实际绿布对应。其中,每个绿布区域范围皆不可超过其虚拟绿幕空间(greenroombox)绿幕空间范围;
52.在虚拟场景中构建了与显示绿幕空间对应的虚拟绿幕空间(greenroombox)及虚拟绿布区域(greenarea)后,接着创建虚拟绿幕空间(greenroombox)的ue5场景捕获组件(scenecapture)及虚拟绿布区域(greenarea)ue5场景捕获组件(scene capture)分别只渲染对应的虚拟绿幕空间(greenroombox)和虚拟绿布区域(green area),并实时输入对应的场景捕获渲染纹理贴图(rendertarget);
53.如图5所示,将实时输出的虚拟绿幕空间(greenroombox)场景捕获渲染纹理贴图(rendertarget)及虚拟绿布区域(greenarea)场景捕获渲染纹理贴图(rendertarget)与进行抠像处理完的输入源画面进行。叠加关系为输入源画面与正面绿布区域叠加,再将虚拟绿布区域(greenarea)与虚拟绿幕空间(greenroombox)进行叠加;输入源画面位于虚拟绿布区域(greenarea)区域范围内,虚拟绿布区域(greenarea)位于虚拟绿幕空间(greenroombox)区域范围内;
54.基于虚拟场景中构建的虚拟绿布区域(greenarea)区域,将进行抠像处理完的输入源画面根据虚拟绿布区域(greenarea)进行实时裁剪,即只保留输入源画面在该虚拟绿布区域(greenarea)的区域内部分,其余部分皆进行裁剪,最终达到使实际绿幕空间在虚拟场景中可以根据相机视角实时延展的效果。
55.以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

技术特征:
1.一种基于虚幻引擎的绿幕无限延展方法,其特征在于,包括如下步骤:步骤s1:相机输入源接入虚幻引擎,并通过所述虚幻引擎的合成模块对输入源进行绿幕抠像;步骤s2:程序化生成立方体网格,根据所述相机视角构建虚拟绿幕空间;步骤s3:生成多个单截面,组成所述虚拟绿幕空间下的虚拟绿布区域;步骤s4:创建场景捕获组件,分别渲染所述虚拟绿幕空间和所述虚拟绿布区域,输出对应的场景捕获渲染纹理贴图;步骤s5:叠加输出的所述场景捕获渲染纹理贴图与输入源画面,根据所述虚拟绿布区域对所述输入源画面进行裁剪,实现绿幕根据视角实时延展。2.如权利要求1所述的基于虚幻引擎的绿幕无限延展方法,其特征在于,所述步骤s1还包括:将所述绿幕输入源画面通过sdi或外接采集卡接入虚幻引擎,再通过所述虚幻引擎的合成模块对所述输入源进行绿幕抠像,将抠完像的输入源画面的虚幻引擎材质资产赋予抠像面片网格体,并放置于虚拟场景。3.如权利要求1所述的基于虚幻引擎的绿幕无限延展方法,其特征在于,所述步骤s2还包括:通过程序化生成组件,构建一个初始大小的程序化生成的立方体网格,其中包含正面墙,地面、左墙及右墙;左右摇摆相机,根据输入源画面中显示的绿幕范围,不断调整程序化生成的立方体网格的宽高和深度,使在虚拟场景中生成一个与实际绿幕空间大小对应的虚拟绿幕空间,同时通过透明度调节可清晰地显示其空间关系。4.如权利要求1所述的基于虚幻引擎的绿幕无限延展方法,其特征在于,所述步骤s3还包括:生成的程序化生成的立方体网格,复用所述虚拟绿幕空间所有的顶点信息、法线向量、uv贴图坐标及切线方向信息,继续程序化生成单个截面,构建四个所述截面,分别为正面绿布、地面绿布、左墙绿布及右墙绿布。5.如权利要求4所述的基于虚幻引擎的绿幕无限延展方法,其特征在于,将所述四个截面作为子对象附加在所述虚拟绿幕空间上,作为与实际绿布大小对应的所述虚拟绿布区域;根据实际绿布范围,继续来回摇动相机调整正面绿布、地面绿布、左墙绿布及右墙绿布大小,并实时更新所述截面,并为所述虚拟绿布区域的所述四个截面填充为绿色与实际绿布对应。6.如权利要5所述的基于虚幻引擎的绿幕无限延展方法,其特征在于,所述摇动相机调整绿布大小的方法为:向左摇摆物理相机,同时调整正面绿布左边范围与实际绿幕空间中的绿布左边缘重合,如果正面绿布左边缘超出正面墙左范围,则先调整正面墙再继续调整正面绿布左边缘范围;向右摇摆物理相机,同时调整正面绿布右范围与实际绿幕空间中的绿布右边缘重合;同样,如果正面绿布左边缘超出正面墙右范围,则先调整正面墙再继续调整正面绿布右边缘范围;同理,继续根据实际绿幕空间中的左右墙绿布及地面绿布深度,确定最终的地面绿布、
左墙绿布及右墙绿布空间关系。7.如权利要求1所述的基于虚幻引擎的绿幕无限延展方法,其特征在于,所述步骤s4,还包括:在虚拟场景中构建了与显示绿幕空间对应的所述虚拟绿幕空间及所述虚拟绿布区域后,接着创建2个基于虚幻引擎的场景捕获组件,分别渲染对应的所述虚拟绿幕空间和所述虚拟绿布区域,并实时输入所述虚拟绿布区域的场景捕获渲染纹理贴图及所述虚拟绿布区域的场景捕获渲染纹理贴图。8.如权利要求1所述的基于虚幻引擎的绿幕无限延展方法,其特征在于,所述步骤s5还包括:将实时输出的两张所述场景捕获渲染纹理贴图与进行抠像处理完的输入源画面进行叠加,叠加关系为输入源画面与正面绿布区域叠加,再将所述虚拟绿布区域与所述虚拟绿幕空间进行叠加。9.如权利要求1所述的基于虚幻引擎的绿幕无限延展方法,其特征在于,所述步骤s5还包括:基于虚拟场景中构建的所述虚拟绿布区域范围,将进行抠像处理完的输入源画面根据所述虚拟绿布区域进行实时裁剪,即只保留所述输入源画面在所述虚拟绿布区域的区域内部分,其余部分都进行裁剪。10.如权利要求4所述的基于虚幻引擎的绿幕无限延展方法,其特征在于,所述法线向量、所述uv贴图坐标及所述切线方向都是和顶点对应的,三角面为模型所有的面,三角面用顶点的数组下标连线,每个三角面可以顺时针连和逆时针连接。

技术总结
本发明公开了一种基于虚幻引擎的绿幕无限延展方法,包括:相机输入源接入虚幻引擎,并通过虚幻引擎的合成模块对输入源进行绿幕抠像;程序化生成立方体网格,根据相机视角构建虚拟绿幕空间;生成多个单截面,组成虚拟绿幕空间下的虚拟绿布区域;创建场景捕获组件,分别渲染虚拟绿幕空间和虚拟绿布区域,输出对应的场景捕获渲染纹理贴图;叠加输出的场景捕获渲染纹理贴图与输入源画面,根据虚拟绿布区域对输入源画面进行裁剪,达到使实际绿幕空间在虚拟场景中可以根据相机视角实时延展的效果。虚拟场景中可以根据相机视角实时延展的效果。虚拟场景中可以根据相机视角实时延展的效果。


技术研发人员:洪煦 费凯敏 吴锐
受保护的技术使用者:上海随幻智能科技有限公司
技术研发日:2023.07.10
技术公布日:2023/10/7
版权声明

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

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

飞机超市 https://mall.aerohome.com.cn/

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

分享:

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

相关推荐