一种支持游戏互动的3D映射异形面投影方法及系统与流程

文档序号:31850865发布日期:2022-10-19 01:05阅读:60来源:国知局
一种支持游戏互动的3D映射异形面投影方法及系统与流程
一种支持游戏互动的3d映射异形面投影方法及系统
技术领域
1.本发明涉及异形面投影技术领域,尤其涉及一种支持游戏互动的3d映射异形面投影方法及系统。


背景技术:

2.近年来投影技术飞速发展,除规整的平面投影外,异形投影也随之出现。异形投影的画面承载面,没有固定的要求,能根据用户需求,在任意物体表面实现投影。
3.异形投影的实现主要是通过投影融合技术,对影像内容进行校正,从而使得投影可以与异形物体表面无叠加、无空隙的完美融合,为观众呈现细腻、精美趋于理想化的投影效果。但是对图像内容的校正本身是需要消耗时间的,而三维游戏本身对图像的渲染速度要求较高,图像输出时实时校正渲染会降低三维游戏渲染速率,若是提高三维游戏渲染速率,则异面投影实时校正速度较慢,因而增加了三维游戏开发的难度。


技术实现要素:

4.基于背景技术存在的技术问题,本发明提出了一种支持游戏互动的3d映射异形面投影方法及系统,解决了异面投影实时校正速度较慢的问题,降低了用于异面投影的游戏开发复杂度。
5.本发明提出的一种支持游戏互动的3d映射异形面投影方法,包括如下步骤:
6.通过d3d渲染插件渲染后的三维渲染图像输入到已训练后的异形面三维数据模型中,所述异形面三维数据模型包括映射模块、一次补偿模块和二次补偿模块;
7.通过映射模块将三维渲染图像转化为异形图像;
8.通过一次补偿模块对异形图像进行像素补偿以及像素补偿的领域补偿像素;
9.二次补偿模块通过领域补偿像素再次补偿到异形图像中,得到补偿后的异形图像;
10.将补偿后的异形图像发送到渲染插件中,输出渲染后的异形图像;
11.通过渲染后的异形图像替换d3d互动游戏系统中的当前渲染图像,进行替换投影。
12.进一步地,异形面三维数据模型的构建过程:
13.获取第一深度图像集,对第一深度图像集中的无效数据进行领域补偿,得到第一深度补偿图像;
14.获取第二深度图像集,对第二深度图像集中的无效数据进行领域补偿,得到第二深度补偿图像,所述第二深度图像与第一深度图像是临近时间点获取的不同图像集合;
15.对第一深度补偿图像和第二深度补偿图像进行最优差值运算,得到第三深度图像集;
16.将第三深度图像集中的深度图像转化为三维点云集合;
17.通过delaunay三角网法则计算第三深度图像集中的深度图像顶点索引;
18.根据所述三维点云集合和深度图像顶点索引计算生成异面三维数据模型。
19.进一步地,在将第三深度图像集中的深度图像转化为三维点云集合中,具体包括:
20.将第三深度图像集中的深度图像记为i,对i中的每个像素进行投影,
21.设定单个相机矩阵与世界矩阵一致,推导出深度图像i中每个像素的三维空间坐标p;
22.根据给出深度图每个像素深度值与三维点z轴坐标一致的条件推导出三维空间坐标p;
23.将三个相机生成的各自相机矩阵所对应的坐标系统一到同一坐标系下,得到三维点集合。
24.进一步地,在通过delaunay三角网法则计算第三深度图像集中的深度图像顶点索引中,具体包括:
25.设置深度图像中的三维点云集合s满足三点不共线、四点不共圆;
26.任取一点pi,求与该点相连的最短边的点pj;
27.分别在连线pi-pj和pj-pi的右侧进行扩展,得到扩展点pk,并将新生成的两条边pi-pk和pk-pj加入队列q中。
28.循环扩展直至队列q为空,得到深度图像顶点索引。
29.进一步地,在对第一深度补偿图像和第二深度补偿图像进行最优差值运算,得到第三深度图像集中,对第一深度补偿图像和第二深度补偿图像进行对比校正,以修正单帧深度图像的细节错误。
30.一种支持游戏互动的3d映射异形面投影系统,包括图像输入模块、映射模块、一次补偿模块、二次补偿模块、渲染模块和替换模块;
31.图像输入模块用于将三维游戏程序中渲染插件输出的三维渲染图像输入到已训练后的异形面三维数据模型中;
32.映射模块用于将三维渲染图像转化为异形图像;
33.一次补偿模块用于对异形图像进行像素补偿以及像素补偿的领域补偿像素;
34.二次补偿模块用于通过领域补偿像素再次补偿到异形图像中,得到补偿后的异形图像;
35.渲染模块用于将补偿后的异形图像发送到渲染插件中,输出渲染后的异形图像;
36.替换模块用于通过渲染后的异形图像替换三维游戏程序中的当前渲染图像,进行替换投影。
37.进一步地,异形面三维数据模型的构建过程:
38.获取第一深度图像集,对第一深度图像集中的无效数据进行领域补偿,得到第一深度补偿图像;
39.获取第二深度图像集,对第二深度图像集中的无效数据进行领域补偿,得到第二深度补偿图像,所述第二深度图像与第一深度图像是临近时间点获取的不同图像集合;
40.对第一深度补偿图像和第二深度补偿图像进行最优差值运算,得到第三深度图像集;
41.将第三深度图像集中的深度图像转化为三维点云集合;
42.通过delaunay三角网法则计算第三深度图像集中的深度图像顶点索引;
43.根据所述三维点云集合和深度图像顶点索引计算生成异面三维数据模型。
44.一种计算机可读储存介质,所述计算机可读储存介质上存储有若干分类程序,所述若干分类程序用于被处理器调用并执行如上所述的3d映射异形面投影方法。
45.本发明提供的一种支持游戏互动的3d映射异形面投影方法及系统的优点在于:本发明结构中提供的一种支持游戏互动的3d映射异形面投影方法及系统,采用静态注入的方式将文件合并到d3d互动游戏中,提高了三维游戏渲染速率,解决了异面投影实时校正速度较慢的问题,降低了用于异面投影的游戏开发复杂度,解决了异面投影实时校正速度较慢的问题,降低了用于异面投影的游戏开发复杂度。
附图说明
46.图1为本发明的结构示意图;
47.图2为异形面三维数据模型的构建流程图;
48.图3为映射异形面投影方法所依赖的硬件结构图;
49.图4为以5*5邻域集合为例的领域补偿。
具体实施方式
50.下面,通过具体实施例对本发明的技术方案进行详细说明,在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其他方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施的限制。
51.如图1至4所示,本发明提出的一种支持游戏互动的3d映射异形面投影方法,包括如下步骤:
52.s1:通过d3d渲染插件渲染后的三维渲染图像输入到已训练后的异形面三维数据模型中,所述异形面三维数据模型包括映射模块、一次补偿模块和二次补偿模块;
53.d3d互动游戏系统启动,输出三维图像,加载投影映射校正及像素补偿系统中的异形面三维数据模型,d3d渲染插件拦截d3d互动游戏系统中的游戏渲染接口,并对三维图像进行渲染,输出三维渲染图像,并将三维渲染图像加载到异形面三维数据模型中,进行图像处理。
54.s2:通过映射模块将三维渲染图像转化为异形图像;
55.s3:通过一次补偿模块对异形图像进行像素补偿以及像素补偿的领域补偿像素;
56.s4:二次补偿模块通过领域补偿像素再次补偿到异形图像中,得到补偿后的异形图像;
57.步骤s2至s4为异面三维数据模型对输入图像的处理过程,以对输入图像进行补偿,从而得到较为准确的图像,以进行较为贴合准确的异面投影显示。
58.s5:将补偿后的异形图像发送到渲染插件中,输出渲染后的异形图像;
59.s6:通过渲染后的异形图像替换d3d互动游戏系统中的当前渲染图像,进行替换投影。
60.投影映射校正及像素补偿系统向d3d互动游戏系统加载渲染后的异形图像,在图像替换过程中,先暂停游戏渲染,用渲染后的异形图像替换当前渲染图像,d3d互动游戏系统通过游戏渲染接口输出渲染后的异形图像,然后再恢复游戏渲染。
61.循环步骤s1至s6可以实时输出融合后的异形面投影,步骤s1至s6,使用gpu计算,采用静态注入的方式将文件合并到d3d互动游戏(任意基于d3d技术开发的游戏文件)中,提高了三维游戏渲染速率,解决了异面投影实时校正速度较慢的问题,降低了用于异面投影的游戏开发复杂度。
62.异形面三维数据模型是通过获得投影机到投影面深度数据计算生成,具体如下:
63.s11:获取第一深度图像集,对第一深度图像集中的无效数据进行领域补偿,得到第一深度补偿图像;
64.s12:获取第二深度图像集,对第二深度图像集中的无效数据进行领域补偿,得到第二深度补偿图像,所述第二深度图像与第一深度图像是临近时间点获取的不同图像集合。
65.第一深度图像集和第二深度图像集中的深度像素满足[0,+∞)区间,将+∞或值》固定阈值的深度像素视为无效数据,在无效数据剔除后通过领域补偿填充这部分的图像数据,第一深度图像集和第二深度图像集的领域补偿方式一致,如图4所示,以5*5邻域集合为例具体包括:
[0066]
以欧式距离为系数,求5*5邻域集合均值;
[0067]
将无效数据剔除后,累计得到有效5*5领域内有效像素的个数sn;
[0068][0069]
最终得到补偿像素iv:iv=sub/n;
[0070]
n表示待补偿的数据个数,i(x,y)表示对应深度图上的任意像素点,k表示图4模板上的中心点(具体为框圈出来的0)。
[0071]
s13:对第一深度补偿图像和第二深度补偿图像进行最优差值运算,得到第三深度图像集;
[0072]
通过临近时间点的2个深度图像(第一深度图像和第二深度图像)对比校正,来修正单帧深度图像的细节错误,得到第三深度图像集。
[0073]
s14:将第三深度图像集中的深度图像转化为三维点云集合;具体转化过程如下:
[0074]
s141:将第三深度图像集中的深度图像记为i,对i中的每个像素进行投影,映射公式如下:
[0075][0076]
mr33为相机物理坐标3
×
3向量,mt31为相机物理坐标3
×
1向量,相机固定内参dx,dy为单个像素物理,w为i的宽,h为i的高,f为相机焦距,p为深度图像i的三维空间坐标;
[0077]
通过以上映射公式对i进行映射,即深度图像i中每个像素的投影都满足射线公式。
[0078]
s142:设定单个相机矩阵与世界矩阵一致,推导出深度图像i中每个像素的三维空间坐标p;
[0079]
根据给出深度图每个像素深度值与三维点z轴坐标一致的条件推导出三维空间坐
标p,公式如下:
[0080][0081]
s143:将三个相机生成的各自相机矩阵所对应的坐标系统一到同一坐标系下,得到三维点集合;
[0082]
三个相机生成的点所在的坐标系是不同,需要将三个不同坐标系下的点统一到一个坐标系下,将三个相机生成的点在该坐标系下进行集合,得到三维点集合,具体如下:
[0083][0084]
其中,m0、m1、m2为三个相机矩阵。
[0085]
通过步骤s141至s143对三个相机所得到的三个坐标系下的点统一到一个坐标系下,得到同一坐标系下的三个点,将这三个点进行集合得到三维点集合。
[0086]
s15:通过delaunay三角网法则计算第三深度图像集中的深度图像顶点索引,具体包括:
[0087]
s151:设置深度图像中的三维点云集合s满足三点不共线、四点不共圆;
[0088]
s={p1,p2,...,pn},n≥3,n代表任意大于等于3的自然数,{}中内容表示p集合内共有n个点;
[0089]
v={x∈r2|d(x,pi)≤d(x,pj),i,j=1,2,...,n且i≠j}
[0090]
其中,v表示满足条件的集合,d(x,pi)表示x和pi间的欧式距离,d(x,pj)表示点x和pj间的欧式距离,r2为圆形直径(三维点云集合s中任意三点所形成圆的直径);
[0091]
s152:任取一点pi,求与该点相连的最短边的点pj;
[0092]
例如:从三维点云集合s中任选一点作为起点p1,寻找与其距离最近的点作为第二点p2;
[0093]
s153:分别在连线pi-pj和pj-pi的右侧进行扩展,得到扩展点pk,并将新生成的两条边pi-pk和pk-pj加入队列q中。
[0094]
例如:在连线p1-p2右侧进行扩展,得到扩展点p3,在连线p2-p1右侧进行扩展,得到扩展点p4,记录扩展得到的两个三角形。将p1-p3、p3-p2、p2-p4和p4-p1加入队列q。扩展方法为,在连线的右侧寻找与其构成最大夹角的第三点,若其右侧没有满足条件的点,则这条边扩展失败。
[0095]
s154:对s153进行循环,直至队列q为空,深度图像顶点索引。
[0096]
通过步骤s151至s154对三维点云集合s进行扩展,得到第三深度图像集中的深度图像顶点索引。
[0097]
s16:根据所述三维点云集合和深度图像顶点索引计算生成异面三维数据模型。
[0098]
经过步骤s11至s16,在一定空间中,通过对两相邻时间点对应的不同图像进行差值运算,得到第三深度图像集,然后第三深度图像集与相邻时间点对应的深度图进行差值运算,得到第n个深度图,可以输出较为准确的深度图,对该深度图进行点云转换以及顶点索引设置,从而生成异面三维数据模型,以供后续有序界面进行显示时,可以直接实现3d映射异形面投影显示。
[0099]
在本实施例中,映射异形面投影方法所依赖的硬件包括异形投影面建模系统、投影映射校正及像素补偿系统、d3d互动游戏系统和d3d渲染插件,通过d3d渲染插件连接到投影映射校正及像素补偿系统、d3d游戏互动系统,来同步异面投影校正和游戏渲染,具体为:投影映射校正及像素补偿系统中的映射模块、一次补偿模块、二次补偿模块在对图像进行处理的过程中,d3d渲染插件均对所处理的图像进行渲染处理,使得最终向3d游戏互动系统输出的是渲染后的异形图像。
[0100]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0101]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1