CN108919954B - 一种动态变化场景虚实物体碰撞交互方法 - Google Patents

一种动态变化场景虚实物体碰撞交互方法 Download PDF

Info

Publication number
CN108919954B
CN108919954B CN201810698581.9A CN201810698581A CN108919954B CN 108919954 B CN108919954 B CN 108919954B CN 201810698581 A CN201810698581 A CN 201810698581A CN 108919954 B CN108919954 B CN 108919954B
Authority
CN
China
Prior art keywords
points
virtual
point
vertex
polygon
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810698581.9A
Other languages
English (en)
Other versions
CN108919954A (zh
Inventor
陈小令
苑辰
云泽
刘晓斌
费子昂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lanse Zhiku Beijing Technology Development Co ltd
Original Assignee
Lanse Zhiku Beijing Technology Development Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lanse Zhiku Beijing Technology Development Co ltd filed Critical Lanse Zhiku Beijing Technology Development Co ltd
Priority to CN201810698581.9A priority Critical patent/CN108919954B/zh
Publication of CN108919954A publication Critical patent/CN108919954A/zh
Application granted granted Critical
Publication of CN108919954B publication Critical patent/CN108919954B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/012Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请涉及一种动态变化场景虚实物体碰撞交互方法,属于虚实物体碰撞交互领域。本申请包括:获取深度图像;基于获取的深度图像构建低多边形三维模型;根据构建的低多边形三维模型进行虚实物体碰撞交互。通过本申请,在虚实物体碰撞交互过程中,低多边形三维模型可以较大程度地在保留场景三维形状的前提下减少碰撞体的演算数据,因而提升物理模拟速度,进而能够有效提升碰撞交互实时性和流畅性,同时低多边形三维模型具有较好的视觉冲击力,可以提升用户的沉浸体验感。

Description

一种动态变化场景虚实物体碰撞交互方法
技术领域
本申请属于虚实物体碰撞交互领域,具体涉及一种动态变化场景虚实物体碰撞交互方法。
背景技术
增强现实(Augmented Reality,简称AR)是指将计算机生成的场景、虚拟物体或***提示信息叠加到真实场景中,从而实现对现实的增强。增强现实***将真实世界信息与虚拟信息进行了有机结合,两种信息互补、叠加,强化了人们对真实世界的认知和感知。在认知训练、交互场景模拟、游戏、娱乐、广告宣传等许多领域都有重要应用价值,成为近年来研究和应用的热点。
存在的问题是,在增强现实***中,虚实物体间的碰撞交互的流畅性和实时性仍然表现欠佳,使得“虚实结合”的沉浸体验感仍有改进提升需求。
发明内容
为至少在一定程度上克服相关技术中存在的问题,本申请提供一种动态变化场景虚实物体碰撞交互方法。
为实现以上目的,本申请采用如下技术方案:
一种动态变化场景虚实物体碰撞交互方法,所述方法包括:
获取深度图像;
基于获取的深度图像构建低多边形三维模型;
根据构建的低多边形三维模型进行虚实物体碰撞交互。
进一步地,所述基于获取的深度图像构建低多边形三维模型,包括:
对获取的深度图像进行裁剪处理,得到能够覆盖虚实物体碰撞交互区的深度图像;
对裁剪得到的深度图像进行采样处理,获得深度图像的多个采样点,并对深度图像的多个采样点进行降噪处理;
遍历降噪处理后的全部采样点,剔除不在预设深度阈值范围内的采样点;
根据采样点在自身所在预设区域范围内体现的凹凸性,将采样点区分为凸点或者凹点;
对区分为凸点或者凹点的采样点进行筛选,以获得满足预设条件的顶点集合;
利用三角剖分算法得到所述顶点集合中各顶点组成网格的三角形连接方式;
基于所述顶点集合和所述顶点集合中各顶点组成网格的三角形连接方式,构建低多边形三维模型。
进一步地,所述根据采样点在自身所在预设区域范围内体现的凹凸性,将采样点区分为凸点或者凹点,包括:
计算采样点的深度值与所述预设区域的所有顶点深度值的平均值的差值;
若所述差值大于第一预设数值,则将采样点选择为凸点;若所述差值小于第二预设数值,则将采样点选择为凹点。
进一步地,所述对区分为凸点或者凹点的采样点进行筛选,以获得满足预设条件的顶点集合,包括:
遍历所有凸点和凹点,并将每个遍历点分别与选中点队列中的所有选中点进行距离比较;若某一遍历点与选中点队列中的所有选中点之间的距离均超过预设阈值距离,则将所述某一遍历点添加到所述选中点队列,并通过所述选中点队列获得所述顶点集合。
进一步地,所述对区分为凸点或者凹点的采样点进行筛选,以获得满足预设条件的顶点集合,还包括:
判断上一帧所述顶点集合中的顶点是否满足如下条件:
上一帧的顶点是否仍在当前帧中,或者,
上一帧的顶点在当前帧中的凹凸度是否在预设阈值范围内;
将满足所述如下条件的上一帧的顶点添加到当前帧的所述顶点集合中。
进一步地,所述基于所述顶点集合和所述顶点集合中各顶点组成网格的三角形连接方式,构建低多边形三维模型,包括:
提取mesh的顶点信息但对mesh不进行渲染,根据mesh的顶点信息分别创建多个mesh,拼接多个mesh以获得所述多边形三维模型;和/或,
根据三角形顶点深度信息对三角形进行分类;通过预设算法标记材质纹理中各像素点对应所在的三角形,并为三角形附上对应颜色;创建材质并附加到mesh上进行渲染。
进一步地,所述根据mesh的顶点信息分别创建多个mesh,包括:
根据预设高度阈值线对所述三角形进行处理。
进一步地,所述根据构建的低多边形三维模型进行虚实物体碰撞交互,包括:
实时更新碰撞体,以与建立的所述低多边形三维模型的保持一致;
进行用户视角校准;
利用虚拟按键和/或手势进行虚实物体碰撞交互,并剔除虚实物体碰撞交互过程中的干扰噪声;
进行虚实物体碰撞交互显示。
进一步地,所述进行用户视角校准,包括:
摄像机位置设置为用户体验视角位置;
将摄像机渲染内容存在为动态贴图;
低多边形三维模型的UV设置为对应点在摄像机下的视口坐标系坐标;
将动态贴图赋予用户视角的所述低多边形三维模型。
进一步地,所述剔除虚实物体碰撞交互过程中的干扰噪声,包括:
对当前帧的整体稳定性进行判断,得到整体稳定性判断结果,根据整体稳定性判断结果对当前帧整体稳定性进行处理;
对当前帧的单个像素点进行稳定性判断;
基于对当前帧的单个像素点的稳定性判断,判断预设手部进入边界的像素点稳定性,并确定手部进入位置;
根据确定的手部进入位置,判断手部进入位置附近像素点的稳定性,并对被判断出不稳定的像素点周围的其他像素点进行稳定性判断;
重复对被判断出不稳定的像素点周围的其他像素点进行稳定性判断,直至判断出手部进入碰撞交互区的区域范围。
本申请采用以上技术方案,至少具备以下有益效果:
本申请基于获取的深度图像构建低多边形三维模型;根据构建的低多边形三维模型进行虚实物体碰撞交互,虚实物体碰撞交互过程中,低多边形三维模型可以较大程度地在保留场景三维形状的前提下减少碰撞体的演算数据,因而提升物理模拟速度,进而能够有效提升碰撞交互实时性和流畅性,同时低多边形三维模型具有较好的视觉冲击力,可以提升用户的沉浸体验感。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一个实施例提供的动态变化场景虚实物体碰撞交互方法的流程示意图;
图2为本申请一个实施例提供的基于获取的深度图像构建低多边形三维模型的流程示意图;
图3a为根据高度阈值线对三角形进行处理的一个实施例示意图;
图3b为根据高度阈值线对三角形进行处理的另一个实施例示意图;
图3c为根据高度阈值线对三角形进行处理的另一个实施例示意图;
图4为本申请一个实施例提供的根据构建的低多边形三维模型进行虚实物体碰撞交互的流程示意图;
图5为本申请一个实施例提供的进行用户视角校准的流程示意图;
图6为本申请一个实施例提供的剔除虚实物体碰撞交互过程中的干扰噪声的流程示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将对本申请的技术方案进行详细的描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申请所保护的范围。
图1为本申请一个实施例提供的动态变化场景虚实物体碰撞交互方法的流程示意图,如图1所示,该方法包括如下步骤:
步骤S101、获取深度图像。
步骤S102、基于获取的深度图像构建低多边形三维模型。
步骤S103、根据构建的低多边形三维模型进行虚实物体碰撞交互。
对于上述实施例方案,对于获取深度图像,在实际应用中,可以通过三维深度获取设备获取,比如通过微软公司的Kinect三维深度获取设备,这种设备不仅能获得场景的视觉信息,还能感知场景的深度信息,Kinect通过深度传感器能够得到关于周围环境的三维深度信息,这种信息被称为深度图像。与彩色图像相比,深度图像能直接反映物体表面的三维特征。
可以理解的是,通过深度图像构建低多边形三维模型,低多边形(Low Poly)有着简约、抽象的特征,其棱角分明、结构激进的风格能产生强大的视觉冲击力。根据构建的低多边形三维模型进行虚实物体碰撞交互。虚实物体碰撞交互过程中,低多边形三维模型可以较大程度地在保留场景三维形状的前提下减少碰撞体的演算数据,因而提升物理模拟速度,进而能够有效提升碰撞交互实时性和流畅性,同时低多边形三维模型具有较好的视觉冲击力,可以提升用户的沉浸体验感。
图2为本申请一个实施例提供的基于获取的深度图像构建低多边形三维模型的流程示意图,如图2所示,所述基于获取的深度图像构建低多边形三维模型方法包括如下步骤:
步骤201、对获取的深度图像进行裁剪处理,得到能够覆盖虚实物体碰撞交互区的深度图像。
可以理解的是,通过裁剪处理获得可以用户碰撞交互部分的深度图像。
步骤202、对裁剪得到的深度图像进行采样处理,获得深度图像的多个采样点,并对深度图像的多个采样点进行降噪处理。
可以理解的是,通过深度图像进行采样处理能够提高运算效率。在具体应用中,采样算法可以采取以下两种方案,分别为中值采样算法和均值采样算法。
其中,中值采样算法是将当前采样点附近特定边长的矩形采样窗口范围的所有点的深度值存到一个临时队列中并进行升序排列,随后选取排序后队列中间的值赋给该采样点。均值采样算法是将当前采样点附近特定边长的矩形采样窗口范围的所有点的深度值取平均值并赋给该采样点。
采样点获得后,对各个采样点进行降噪处理,比如通过利用Lerp插值滤波对采样点进行降噪处理。
步骤203、遍历降噪处理后的全部采样点,剔除不在预设深度阈值范围内的采样点。
可以理解的是,不在预设深度阈值范围内的采样点无应用价值,保留的话会增加数据处理量,作为无效点被剔除,避免对无效点进行数据处理带来的数据处理压力和无效点干扰,将数据处理资源集中到预设深度阈值范围内的采样点。
步骤204、根据采样点在自身所在预设区域范围内体现的凹凸性,将采样点区分为凸点或者凹点。
可以理解的是,三维重建模型体现出低多边形风格,需要质量较高且数量合适的采样点作为备选顶点,可以根据采样点在自身所在预设区域范围内体现的凹凸性,将采样点区分为凸点或者凹点,实现来表征代表在物体局部范围内的几何特性。
在一个实施例中,所述根据采样点在自身所在预设区域范围内体现的凹凸性,将采样点区分为凸点或者凹点,包括:
计算采样点的深度值与所述预设区域的所有顶点深度值的平均值的差值;
若所述差值大于第一预设数值,则将采样点选择为凸点;若所述差值小于第二预设数值,则将采样点选择为凹点。
上述具体实施例,进一步通过第一预设数值和第二预设数值来筛选出凸点和凹点,能够保证每一个选中的采样点都是能够反应在物体局部范围内的几何特性具有代表性的点,进而保证三维重建后的模型与实际物体的几何形状不会有严重的失真。
上述实施例在具体操作中,可以按照先行后列的顺序对采样点进行遍历,将每一个采样点的深度值与该点所在的浮动窗口范围内边界的各个顶点的深度值的平均值相比较,其中,浮动窗口可以是以采样点为中心,w为长度,h为宽度的矩形,如果该范围超出原始深度数据图像则取原始深度数据图像的对应边缘为浮动窗口的边界,浮动窗口范围内边界的各个顶点的深度值的平均值可以定位为浮动窗口深度平均值。如果采样点的深度值与浮动窗口深度平均值的差大于第一预设数值,则把该点添加到凸点备选链表中。如果该点的深度值与浮动窗口深度平均值的差小于第二预设数值,则把该点添加到凹点备选链表中。
步骤205、对区分为凸点或者凹点的采样点进行筛选,以获得满足预设条件的顶点集合。
在一个实施例中,所述对区分为凸点或者凹点的采样点进行筛选,以获得满足预设条件的顶点集合,包括:
遍历所有凸点和凹点,并将每个遍历点分别与选中点队列中的所有选中点进行距离比较;若某一遍历点与选中点队列中的所有选中点之间的距离均超过预设阈值距离,则将所述某一遍历点添加到所述选中点队列,并通过所述选中点队列获得所述顶点集合。
可以理解的是,对此,通过遍历凸点和凹点,将各个遍历点与选中点队列中的所有选中点进行距离比较,可以解决经上述步骤204获得的凸点和凹点,有可能会出现“聚堆”和“多极分化严重”的问题,以使三维重建后低多边形模型更加准确。
上述实施例在具体操作中,可以分别将凹凸点按照凹度和凸度进行降序排序,然后对排序后的队列进行遍历如果该点与选中点队列中已有的所有点的距离均超过一个阈值,则将该点添加到选中点队列中,否则则忽略该点。
在另一个实施例中,所述对区分为凸点或者凹点的采样点进行筛选,以获得满足预设条件的顶点集合,还包括:
判断上一帧所述顶点集合中的顶点是否满足如下条件:
上一帧的顶点是否仍在当前帧中,或者,
上一帧的顶点在当前帧中的凹凸度是否在预设阈值范围内;
将满足所述如下条件的上一帧的顶点添加到当前帧的所述顶点集合中。
可以理解的是,通过上述实施例方案能够尽可能地使当前帧保留上一帧所选中的顶点,可以有效解决三维重建后低多边形模型在前后帧的显示过程中,可能出现的模型跳动问题,以保证碰撞交互过程的流畅稳定。
上述实施例在具体操作中,可以分别创建数据结构存储上一帧显示的顶点和当前帧筛选点的集合。如果上一帧显示的顶点仍然在当前帧筛选点集合中或者该点在当前帧的凹凸度信息在设置的合理范围内则优先将该点添加到当前帧要显示的模型顶点集合中。
在具体应用中,当前帧保留上一帧所选中的顶点,还可以对当前帧各个顶点与选中点队列中的所有选中点进行距离比较,以实现对当前帧各个顶点的进一步优化。
步骤206、利用三角剖分算法得到所述顶点集合中各顶点组成网格的三角形连接方式。
上述实施例在具体操作中,利用Delaunay三角剖分算法得到所述顶点集合中各顶点组成网格的三角形连接方式。
Delaunay三角剖分算法定义为:假设V是二维实数域上的有限点集,边e是由点集中的点作为端点构成的封闭线段,E为e的集合。那么该点集V的一个三角剖分T=(V,E)是一个平面图G,该平面图满足条件:
(1)除了端点,平面图中的边不包含点集中的任何点。
(2)没有相交边。
(3)平面图中所有的面都是三角面,且所有三角面的合集是散点集V的凸包。
而Delaunay三角剖分是一种特殊的三角剖分。
先从Delaunay边说起:Delaunay边的定义为:假设E中的一条边e(两个端点为a,b),e若满足下列条件,则称之为Delaunay边:存在一个圆经过a,b两点,圆内(注意是圆内,圆上最多三点共圆)不含点集V中任何其他的点,这一特性又称空圆特性。
Delaunay三角剖分是指如果点集V的一个三角剖分T只包含Delaunay边,那么该三角剖分称为Delaunay三角剖分。
要满足Delaunay三角剖分的定义,必须符合两个重要的准则:
(1)空圆特性:Delaunay三角网是唯一的(任意四点不能共圆),在Delaunay三角形网中任一三角形的外接圆范围内不会有其它点存在。如下图所示:
(2)最大化最小角特性:在散点集可能形成的三角剖分中,Delaunay三角剖分所形成的三角形的最小角最大。从这个意义上讲,Delaunay三角网是“最接近于规则化的“的三角网。具体的说是指在两个相邻的三角形构成凸四边形的对角线,在相互交换后,六个内角的最小角不再增大。
在一个实现Delaunay三角剖分算法的具体实施例中,该实施例方法包括如下步骤:
input:顶点列表(vertices)
output:已确定的三角形列表(triangles)
初始化顶点列表
创建索引列表(indices=new Array(vertices.length))
基于vertices中的顶点x坐标对indices进行sort
确定超级三角形
将超级三角形保存至未确定三角形列表(temp triangles)
将超级三角形push到triangles列表
遍历基于indices顺序的vertices中每一个点
初始化边缓存数组(edge buffer)
遍历temp triangles中的每一个三角形
计算该三角形的圆心和半径
如果该点在外接圆的右侧
则该三角形为Delaunay三角形,保存到triangles
并在temp里去除掉
跳过
如果该点在外接圆外(即也不是外接圆右侧)
则该三角形为不确定
跳过
如果该点在外接圆内
则该三角形不为Delaunay三角形
将三边保存至edge buffer
在temp中去除掉该三角形
对edge buffer进行去重
将edge buffer中的边与当前的点进行组合成若干三角形并保存至temptriangles中
将triangles与temp triangles进行合并
除去与超级三角形有关的三角形
end
步骤207、基于所述顶点集合和所述顶点集合中各顶点组成网格的三角形连接方式,构建低多边形三维模型。
上述实施例在具体操作中,根据前面步骤中得到的数据创建一张表现三维重建后整体形状特点的mesh。
为了实现三维重建模型风格化,可以通过以下两种方案解决:
方案一,所述基于所述顶点集合和所述顶点集合中各顶点组成网格的三角形连接方式,构建低多边形三维模型,包括:
提取mesh的顶点信息但对mesh不进行渲染,根据mesh的顶点信息分别创建多个mesh,拼接多个mesh以获得所述多边形三维模型。
在一个实施例中,所述根据mesh的顶点信息分别创建多个mesh,包括:
根据预设高度阈值线对三角形进行处理。
图3a为根据高度阈值线对三角形进行处理的一个实施例示意图;图3b为根据高度阈值线对三角形进行处理的另一个实施例示意图;图3c为根据高度阈值线对三角形进行处理的另一个实施例示意图。如图3a、图3b和图3c所示,根据高度阈值线对三角形进行处理,预先设定一个高度阈值,并形成高度阈值线301,根据三角形302中高度值大于高度阈值的顶点数量对三角形302进行分类,分类如图3a、图3b和图3c所示。对于有一个顶点超过高度阈值和有两个顶点超过高度阈值的三角形302,如图3b和图3c所示,将原来三角形分割出来的新三角形303更新到三角新列表中,并将分割出的梯形区域分成两个三角形304添加到原三角形数组的后面。
方案二,所述基于所述顶点集合和所述顶点集合中各顶点组成网格的三角形连接方式,构建低多边形三维模型,包括:
根据三角形顶点深度信息对三角形进行分类;
通过预设算法标记材质纹理中各像素点对应所在的三角形,并为三角形附上对应颜色;
创建材质并附加到mesh上进行渲染。
在具体操作中,可以按照mesh中三角形顶点的深度信息对三角形进行分类,利用同向算法(或重心算法,并对这两个算法加入矩形判断进行性能优化)标记材质纹理中各像素点对应所在的三角形并附上对应颜色,由此创建一张材质并附加到mesh上进行渲染。
图4为本申请一个实施例提供的根据构建的低多边形三维模型进行虚实物体碰撞交互的流程示意图,如图4所示,所述根据构建的低多边形三维模型进行虚实物体碰撞交互的方法包括如下步骤:
步骤401、实时更新碰撞体,以与建立的所述低多边形三维模型的保持一致。
可以理解的是,通过实时更新与低多边形三维模型的保持一致的碰撞体,以用于实时碰撞交互。
步骤402、进行用户视角校准。
由于投影到沙盘上的影像是从上到下垂直拍摄的二维图像,而用户在体验过程中的视角并不是垂直于沙盘的,为了让用户体验更加真实,需要进行用户视角校准。
图5为本申请一个实施例提供的进行用户视角校准的流程示意图,如图5所示,所述进行用户视角校准的方法包括如下步骤:
步骤501、摄像机位置设置为用户体验视角位置;
步骤502、将摄像机渲染内容存在为动态贴图;
步骤503、低多边形三维模型的UV设置为对应点在摄像机下的视口坐标系坐标;
步骤504、将动态贴图赋予用户视角的所述低多边形三维模型。
上述实施例在具体操作中,可以在目标三维重建模型的对应用户视角处放置一个摄像机,将GPU里渲染的摄像机画面的目的地直接关联到GPU上的一个材质对象上,这样就等于在绘制时就直接绘制到这个材质上。制作动态贴图进行存储摄像机画面,并将这个动态贴图附加到用于渲染的模型上。将渲染校准后的模型的各个点世界坐标系坐标转化为该点在该摄像机下的视口坐标。而视口坐标的取值范围与UV数组的取值范围正好相一致,最后将模型的各点UV值设置为对应的视口坐标系值,从而实现视角的校准功能。
步骤403、利用虚拟按键和/或手势进行虚实物体碰撞交互,并剔除虚实物体碰撞交互过程中的干扰噪声。
上述方案中,利用虚拟按键和/或手势进行虚实物体碰撞交互,在具体应用中,可以在硬件沙盘的一侧制作预留用户手势交互的空间,可配置相对应的自定义滑动手势和悬停按键等。
图6为本申请一个实施例提供的剔除虚实物体碰撞交互过程中的干扰噪声的流程示意图,如图6所示,所述剔除虚实物体碰撞交互过程中的干扰噪声的方法包括如下步骤:
步骤601、对当前帧的整体稳定性进行判断,得到整体稳定性判断结果,根据整体稳定性判断结果对当前帧整体稳定性进行处理;
步骤602、对当前帧的单个像素点进行稳定性判断;
步骤603、基于对当前帧的单个像素点的稳定性判断,判断预设手部进入边界的像素点稳定性,并确定手部进入位置;
步骤604、根据确定的手部进入位置,判断手部进入位置附近像素点的稳定性,并对被判断出不稳定的像素点周围的其他像素点进行稳定性判断;
重复对被判断出不稳定的像素点周围的其他像素点进行稳定性判断,直至判断出手部进入碰撞交互区的区域范围。
可以理解的是,对当前帧整体稳定性进行判断,并根据判断结果进行稳定性处理,同时将手部区域提取,剔除虚实物体碰撞交互过程中的干扰噪声,手部区域剔除噪声稳定准确而有效,进而实现虚实交互效果新颖独特沉浸感更加强烈。
步骤404、进行虚实物体碰撞交互显示。
在一个实施例中,所述进行虚实物体碰撞交互显示,包括:
通过投影将所述低多边形三维模型叠加到现实场景,以及通过屏幕显示所述低多边形三维模型。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (8)

1.一种动态变化场景虚实物体碰撞交互方法,其特征在于,所述方法包括:
获取深度图像;
基于获取的深度图像构建低多边形三维模型;
根据构建的低多边形三维模型进行虚实物体碰撞交互;
其中,所述基于获取的深度图像构建低多边形三维模型,包括:
对获取的深度图像进行裁剪处理,得到能够覆盖虚实物体碰撞交互区的深度图像;
对裁剪得到的深度图像进行采样处理,获得深度图像的多个采样点,并对深度图像的多个采样点进行降噪处理;
遍历降噪处理后的全部采样点,剔除不在预设深度阈值范围内的采样点;
根据采样点在自身所在预设区域范围内体现的凹凸性,将采样点区分为凸点或者凹点;
对区分为凸点或者凹点的采样点进行筛选,以获得满足预设条件的顶点集合;
利用三角剖分算法得到所述顶点集合中各顶点组成网格的三角形连接方式;
基于所述顶点集合和所述顶点集合中各顶点组成网格的三角形连接方式,构建低多边形三维模型;
其中,所述对区分为凸点或者凹点的采样点进行筛选,以获得满足预设条件的顶点集合,包括:
遍历所有凸点和凹点,并将每个遍历点分别与选中点队列中的所有选中点进行距离比较;若某一遍历点与选中点队列中的所有选中点之间的距离均超过预设阈值距离,则将所述某一遍历点添加到所述选中点队列,并通过所述选中点队列获得所述顶点集合。
2.根据权利要求1所述的动态变化场景虚实物体碰撞交互方法,其特征在于,所述根据采样点在自身所在预设区域范围内体现的凹凸性,将采样点区分为凸点或者凹点,包括:
计算采样点的深度值与所述预设区域的所有顶点深度值的平均值的差值;
若所述差值大于第一预设数值,则将采样点选择为凸点;若所述差值小于第二预设数值,则将采样点选择为凹点。
3.根据权利要求1所述的动态变化场景虚实物体碰撞交互方法,其特征在于,所述对区分为凸点或者凹点的采样点进行筛选,以获得满足预设条件的顶点集合,还包括:
判断上一帧所述顶点集合中的顶点是否满足如下条件:
上一帧的顶点是否仍在当前帧中,或者,
上一帧的顶点在当前帧中的凹凸度是否在预设阈值范围内;
将满足所述如下条件的上一帧的顶点添加到当前帧的所述顶点集合中。
4.根据权利要求1所述的动态变化场景虚实物体碰撞交互方法,其特征在于,所述基于所述顶点集合和所述顶点集合中各顶点组成网格的三角形连接方式,构建低多边形三维模型,包括:
提取mesh的顶点信息但对mesh不进行渲染,根据mesh的顶点信息分别创建多个mesh,拼接多个mesh以获得所述多边形三维模型;和/或,
根据三角形顶点深度信息对三角形进行分类;通过预设算法标记材质纹理中各像素点对应所在的三角形,并为三角形附上对应颜色;创建材质并附加到mesh上进行渲染。
5.根据权利要求4所述的动态变化场景虚实物体碰撞交互方法,其特征在于,所述根据mesh的顶点信息分别创建多个mesh,包括:
根据预设高度阈值线对所述三角形进行处理。
6.根据权利要求1所述的动态变化场景虚实物体碰撞交互方法,其特征在于,所述根据构建的低多边形三维模型进行虚实物体碰撞交互,包括:
实时更新碰撞体,以与建立的所述低多边形三维模型的保持一致;
进行用户视角校准;
利用虚拟按键和/或手势进行虚实物体碰撞交互,并剔除虚实物体碰撞交互过程中的干扰噪声;
进行虚实物体碰撞交互显示。
7.根据权利要求6所述的动态变化场景虚实物体碰撞交互方法,其特征在于,所述进行用户视角校准,包括:
摄像机位置设置为用户体验视角位置;
将摄像机渲染内容存在为动态贴图;
低多边形三维模型的UV设置为对应点在摄像机下的视口坐标系坐标;
将动态贴图赋予用户视角的所述低多边形三维模型。
8.根据权利要求6所述的动态变化场景虚实物体碰撞交互方法,其特征在于,所述剔除虚实物体碰撞交互过程中的干扰噪声,包括:
对当前帧的整体稳定性进行判断,得到整体稳定性判断结果,根据整体稳定性判断结果对当前帧整体稳定性进行处理;
对当前帧的单个像素点进行稳定性判断;
基于对当前帧的单个像素点的稳定性判断,判断预设手部进入边界的像素点稳定性,并确定手部进入位置;
根据确定的手部进入位置,判断手部进入位置附近像素点的稳定性,并对被判断出不稳定的像素点周围的其他像素点进行稳定性判断;
重复对被判断出不稳定的像素点周围的其他像素点进行稳定性判断,直至判断出手部进入碰撞交互区的区域范围。
CN201810698581.9A 2018-06-29 2018-06-29 一种动态变化场景虚实物体碰撞交互方法 Active CN108919954B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810698581.9A CN108919954B (zh) 2018-06-29 2018-06-29 一种动态变化场景虚实物体碰撞交互方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810698581.9A CN108919954B (zh) 2018-06-29 2018-06-29 一种动态变化场景虚实物体碰撞交互方法

Publications (2)

Publication Number Publication Date
CN108919954A CN108919954A (zh) 2018-11-30
CN108919954B true CN108919954B (zh) 2021-03-23

Family

ID=64422132

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810698581.9A Active CN108919954B (zh) 2018-06-29 2018-06-29 一种动态变化场景虚实物体碰撞交互方法

Country Status (1)

Country Link
CN (1) CN108919954B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109685751B (zh) * 2018-12-27 2021-03-09 拉扎斯网络科技(上海)有限公司 配送区域的合并方法、装置、电子设备及存储介质
CN109782909B (zh) * 2018-12-29 2020-10-30 北京诺亦腾科技有限公司 一种vr交互设备与vr场景的交互方法及装置
CN110376922B (zh) * 2019-07-23 2022-10-21 广东工业大学 手术室场景模拟***
CN111627092B (zh) * 2020-05-07 2021-03-09 江苏原力数字科技股份有限公司 一种从拓扑关系构建高强度的弯曲约束的方法
CN113256484B (zh) * 2021-05-17 2023-12-05 百果园技术(新加坡)有限公司 一种对图像进行风格化处理的方法及装置
CN114049444B (zh) * 2022-01-13 2022-04-15 深圳市其域创新科技有限公司 一种3d场景生成方法及装置
CN115543095B (zh) * 2022-12-02 2023-04-11 江苏冰谷数字科技有限公司 一种公共安全数字互动体验方法及***

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101426446A (zh) * 2006-01-17 2009-05-06 马科外科公司 用于触觉表达的装置和方法
EP2731080A1 (en) * 2012-11-09 2014-05-14 Sony Computer Entertainment Europe Ltd. System and method of image rendering
CN105045389A (zh) * 2015-07-07 2015-11-11 深圳水晶石数字科技有限公司 一种互动式沙盘***的演示方法
CN105917386A (zh) * 2014-01-21 2016-08-31 索尼互动娱乐股份有限公司 信息处理设备、信息处理***、块***和信息处理方法
CN106056661A (zh) * 2016-05-31 2016-10-26 钱进 基于Direct3D 11的三维图形渲染引擎
CN106127677A (zh) * 2016-06-22 2016-11-16 山东理工大学 基于局部样本投影轮廓形状的实物表面采样点集边界特征识别方法
CN106600668A (zh) * 2016-12-12 2017-04-26 中国科学院自动化研究所 一种与虚拟角色进行互动的动画生成方法、装置及电子设备
CN106683186A (zh) * 2016-11-16 2017-05-17 浙江工业大学 一种曲面细节保持的三维模型修复方法
WO2017144934A1 (en) * 2016-02-26 2017-08-31 Trophy Guided surgery apparatus and method
CN107735747A (zh) * 2015-07-08 2018-02-23 索尼公司 信息处理设备、显示装置、信息处理方法及程序
WO2018067801A1 (en) * 2016-10-05 2018-04-12 Magic Leap, Inc. Surface modeling systems and methods

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101426446A (zh) * 2006-01-17 2009-05-06 马科外科公司 用于触觉表达的装置和方法
EP2731080A1 (en) * 2012-11-09 2014-05-14 Sony Computer Entertainment Europe Ltd. System and method of image rendering
CN105917386A (zh) * 2014-01-21 2016-08-31 索尼互动娱乐股份有限公司 信息处理设备、信息处理***、块***和信息处理方法
CN105045389A (zh) * 2015-07-07 2015-11-11 深圳水晶石数字科技有限公司 一种互动式沙盘***的演示方法
CN107735747A (zh) * 2015-07-08 2018-02-23 索尼公司 信息处理设备、显示装置、信息处理方法及程序
WO2017144934A1 (en) * 2016-02-26 2017-08-31 Trophy Guided surgery apparatus and method
CN106056661A (zh) * 2016-05-31 2016-10-26 钱进 基于Direct3D 11的三维图形渲染引擎
CN106127677A (zh) * 2016-06-22 2016-11-16 山东理工大学 基于局部样本投影轮廓形状的实物表面采样点集边界特征识别方法
WO2018067801A1 (en) * 2016-10-05 2018-04-12 Magic Leap, Inc. Surface modeling systems and methods
CN106683186A (zh) * 2016-11-16 2017-05-17 浙江工业大学 一种曲面细节保持的三维模型修复方法
CN106600668A (zh) * 2016-12-12 2017-04-26 中国科学院自动化研究所 一种与虚拟角色进行互动的动画生成方法、装置及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《用于增强现实的实时深度图像三维人体表面重建》;陆斌;《中国优秀硕士学位论文全文数据库 信息科技辑》;20170315;正文第11页-35页 *

Also Published As

Publication number Publication date
CN108919954A (zh) 2018-11-30

Similar Documents

Publication Publication Date Title
CN108919954B (zh) 一种动态变化场景虚实物体碰撞交互方法
CN101116111B (zh) 使用3d光栅化算法的2d/3d线条渲染
US8570322B2 (en) Method, system, and computer program product for efficient ray tracing of micropolygon geometry
US7561156B2 (en) Adaptive quadtree-based scalable surface rendering
US8743114B2 (en) Methods and systems to determine conservative view cell occlusion
EP2831848B1 (en) Method for estimating the opacity level in a scene and corresponding device
US8259103B2 (en) Position pegs for a three-dimensional reference grid
JP2006190049A (ja) 頂点削減図形描画方法および装置
US9208610B2 (en) Alternate scene representations for optimizing rendering of computer graphics
WO2012037157A2 (en) System and method for displaying data having spatial coordinates
CN108352082B (zh) 将3d对象推挤到平面中的技术
CN113706713A (zh) 一种实景三维模型裁剪方法、装置及计算机设备
US20110158555A1 (en) Curved surface area calculation device and method
KR20120104071A (ko) 입체영상 시각효과 처리 방법
KR101507776B1 (ko) 3차원 지도의 외곽선 표현 방법
CN107886574B (zh) 一种基于粒子***的全局雨效仿真方法
CN114004842A (zh) “分形视距”纹理压缩与彩色多边形纹理集成的三维模型可视化方法
US11651533B2 (en) Method and apparatus for generating a floor plan
US20160239996A1 (en) 3d map display system
CN114065320A (zh) 一种基于lod的cad图形轻量化的渲染方法
Glander et al. Techniques for generalizing building geometry of complex virtual 3D city models
CN106780693B (zh) 一种通过绘制方式选择三维场景中物体的方法及***
JP4425734B2 (ja) 隠線を消去したベクトルイメージを提供する方法
KR101428577B1 (ko) 적외선 동작 인식 카메라를 사용하여 화면상에 네추럴 유저 인터페이스 기반 입체 지구본을 제공하는 방법
Chang et al. Hierarchical simplification of city models to maintain urban legibility.

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant