提高移动端体验的虚拟场景交互设计系统及其方法转让专利

申请号 : CN201710676356.0

文献号 : CN107506029B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 盖伟杨承磊鲍西雨邢欢刘浩王璐刘士军孟祥旭

申请人 : 山东大学

摘要 :

本发明公开了一种提高移动端体验的虚拟场景交互设计系统及其方法,系统包括设计子系统和体验子系统,设计子系统,根据移动设备的性能参数估算移动设备的最大负荷;根据设定的设计布局自动将设计空间进行细化,划分为一系列的小空间,根据移动设备的最大负荷,为每个小空间提供对应的可交互参数,实现虚拟场景在每个小空间的实时渲染;体验子系统,包括若干移动虚拟现实眼镜和动感设备实现虚拟场景的漫游和沉浸感体验;本发明实现了设计与体验相互关联,改变了传统的虚拟场景设计方式,提高了设计的效率和可用性。

权利要求 :

1.一种提高移动端体验的虚拟场景交互设计系统,其特征是:包括设计子系统和体验子系统,其中:所述设计子系统,根据移动设备的性能参数估算移动设备的最大负荷;根据设定的设计布局自动将设计空间进行细化,划分为一系列的小空间,根据移动设备的最大负荷,为每个小空间提供对应的可交互参数,实现虚拟场景在每个小空间的实时渲染;

所述体验子系统,包括若干移动虚拟现实眼镜和动感设备实现虚拟场景的漫游和沉浸感体验;

所述设计子系统包括移动设备参数获取模块、设计空间划分模块、局部设计空间可交互区域计算模块、虚拟物体布置模块和虚拟物体绑定模块;

所述移动设备参数获取模块,被配置为通过设备型号,获取设备参数,并估算移动设备的最大负荷,为虚拟物体布置模块提供输入数据;

所述设计空间划分模块,根据设计方案,给出推荐漫游路径,并将路径进行分段处理,进而将设计空间划分为若干小设计区域;

所述局部设计空间可交互区域计算模块,对划分的分段路径进行弱可见性区域计算,得到每个小设计空间的可交互操作区域,确定允许布置虚拟物体的区域;

虚拟物体布置模块,根据上述模块获取的移动设备最大负荷、局部设计空间可交互区域,进行虚拟物体的布置;

虚拟物体绑定模块,根据路径的可见性算法,将场景中的虚拟物体与对应的漫游路径段绑定,虚拟物体可能会被多条路径段可见,为体验子系统实时渲染提供预处理数据。

2.如权利要求1所述的一种提高移动端体验的虚拟场景交互设计系统,其特征是:所述虚拟物体布置模块,通过点击分段路径,以显示局部漫游路径端可操作区域并显示移动设备当前负荷,当可交互区域外或者布置虚拟物体超过设备最大容量时,提示警示信息。

3.如权利要求1所述的一种提高移动端体验的虚拟场景交互设计系统,其特征是:体验子系统在漫游的过程中,根据虚拟物体绑定模块的数据和用户位置,得到此位置对应的用户可能看到的虚拟物体集合,即候选虚拟物体集合;根据用户的视点方向、虚拟物体的聚类特征、用户与虚拟物体的距离特征,对候选虚拟物体进行筛选,在不影响画面视觉效果的前提下,实现对场景的动态实时绘制。

4.基于如权利要求1-3中任一所述的系统的场景设计方法,其特征是:包括以下步骤:(1)在设计端设备上选择用于虚拟体验的移动终端型号,得到设备参数,估算移动设备的最大负荷,即虚拟场景中容许放置虚拟物体容量上限,并保存在变量中;

(2)对漫游路径进行设计,确定场景中提供的漫游路径数量;

(3)计算每条漫游路径上曲线段的弱可见性区域,即每个小设计空间的可交互操作区域,以布置虚拟物体的区域;

(4)在不超过布置容量上限的前提下,对每条漫游路径上曲线段对应的可交互操作区域进行虚拟物体的布置,根据虚拟物体的可见多边形,更新曲线段上可见的虚拟物体集合;

(5)根据Kinect捕获的时刻用户位置,将用户位置映射到虚拟空间,并寻找距离用户最近的曲线段,得出用户所在的路径区域得到对应的虚拟物体集合和弱可见区域;

(6)根据移动终端陀螺仪捕获的时刻用户视点朝向、虚拟物体集合、弱可见区域计算时刻用户实际所看到的虚拟模型集合,对每个时刻用户所看到的虚拟场景进行实时绘制。

5.如权利要求4所述的场景设计方法,其特征是:所述步骤(6)中,根据陀螺仪捕获的时刻用户视点朝向、虚拟物体集合、弱可见区域计算时刻用户实际所看到的虚拟模型集合,具体包括以下步骤:(6-1)视点筛选,筛选基于用户视点的可见性区域内的虚拟物体:(6-2)聚类筛选,将中的虚拟物体进行聚类优化:

(6-3)遮挡筛选,根据物体之间的遮挡关系,进一步优化虚拟物体集合:(6-4)容量筛选,判断当前时刻可见物体集合中物体的总容量是否超出移动终端最大负荷,如果是,按照与视点的距离从远到近的原则,对物体用简单模型替换,直到物体集合中物体的总容量不超过移动终端最大负荷。

6.如权利要求5所述的场景设计方法,其特征是:所述步骤(6-1)中,具体包括:(6-1-1)计算以视点为起点的两视线与弱可见区域相交的多边形;

(6-1-2)计算视点在中的可见性区域;

(6-1-3)从虚拟物体集合中筛选在中的虚拟物体。

7.如权利要求5所述的场景设计方法,其特征是:所述步骤(6-2)中,具体包括:(6-2-1)在可见性区域内随机生成多个聚类点;

(6-2-2)初始化每个聚类点,添加距离其最近的虚拟物体,并记录该物体的类型;

(6-2-3)对虚拟物体集合中每个物体进行操作:根据欧式距离进行聚类,将物体聚类到某个区域,如果物体的类型与区域中物体的类型相同,则添加到聚类块,否则,作为一个新的聚类块,并更新;

(6-2-4)对每个聚类块进行操作:如果聚类块中物体数目为1,则虚拟物体直接保存到虚拟物体集合中;如果聚类块中数目大于1,则计算聚类块的凸包,并计算视点与凸包的切点和,取内部或者距离视点最近的虚拟物体保存到虚拟物体集合中。

8.如权利要求5所述的场景设计方法,其特征是:所述步骤(6-3)中,具体包括:(6-3-1)根据虚拟物体的半径以及其距离视点的距离,计算视点与以物体半径为半径的圆的切线夹角范围,即视野区域;

(6-3-2)判断相邻两个物体是否发生遮挡,如果相邻两个物体的视野区域有重叠,则对距离视点较远的物体的视野区域进行修正,并比较修正前后的视野区域变化,如果变化大于给定阈值,则认为该物体被严重遮挡,并将其用形状类似的简单模型替换。

9.如权利要求4所述的场景设计方法,其特征是:设备参数包括分辨率、内存和运行速度。

说明书 :

提高移动端体验的虚拟场景交互设计系统及其方法

技术领域

[0001] 本发明涉及一种提高移动端体验的虚拟场景交互设计系统及其方法。

背景技术

[0002] 虚拟现实技术,应用计算机图形渲染能力制造出一个三维的虚拟世界,运用多种技术来模拟用户的感官感受,如听觉、视觉、触觉等,使用户有如同身临其境的感受,用户可以在虚拟空间中自由漫游并与其互动,沉浸其中。目前,虚拟现实技术已受到了各界广泛的关注,并应用到各个领域,包括娱乐、医疗、军事、教育、设计等。如在室内设计领域,虚拟现实技术可以将设计师的构思转化为虚拟的三维场景,而且用户可以直接“进入”设计师所布置的房间。孙晓雯等提出了一种基于虚拟现实技术的三维虚拟场景设计模式。设计者将自己的设计用三维场景可视表达出来,用户通过虚拟现实眼镜实现在三维场景中的漫游,根据用户在场景中的体验和反馈实时修改场景布局。这种方式既直观展示了设计者的设计意图,又根据用户的反馈信息实时调整场景布局,使用户与设计者之间的交流变得直接、简单,有效提高了设计效率。随着消费者级别的移动虚拟现实设备的普及,如谷歌Cardboard、暴风魔镜,基于移动设备的虚拟现实沉浸感体验变得日益广泛。但由于移动设备硬件性能受限,要实现移动设备上的复杂场景的沉浸感体验和实时交互具有很大的挑战性。
[0003] 目前大部分的虚拟场景设计方法中,设计者的设计过程与用户的体验过程相互独立,设计者在设计的时候,并没有将用户体验作为设计因素,导致很多复杂绚丽的场景,在用户端无法体验应用,严重影响了设计的可用性和有效性。孙晓雯等人提出的设计模式,将用户的体验反馈作为修改设计的因素,但是体验端设备的性能仍没有考虑。针对移动设备硬件局限性,提出一种提高移动端体验性能的虚拟场景设计系统及交互方法,将用户体验端的设备性能作为设计场景复杂度的重要因素之一,保证在不影响用户真实感体验的前提下,提高实时绘制的效率,提高设计的有效性和可用性。

发明内容

[0004] 本发明为了解决上述问题,提出了提高移动端体验的虚拟场景交互设计系统及其方法,本发明能够实现设计者在设计过程中充分考虑到用户的沉浸感体验,保证设计者设计的游戏等不超过用户的使用设备的最大负荷,提高用户体验感。
[0005] 本发明的第一目的是提出一种提高移动端体验的虚拟场景交互设计系统,将移动体验端的设备性能作为虚拟场景设计的重要因素之一。首先,根据移动设备的性能参数(如移动终端分辨率、内存和运行速度等)估算移动设备的最大负荷(如添加的模型数目、参与设计的模型大小等);然后,根据设计者的设计布局自动将设计空间进行细化,划分为一系列的小空间;最后,根据移动设备的最大负荷,为每个小空间提供可交互参数,这样既保证了虚拟场景在每个小设计空间的实时渲染,也提升了移动设备运行复杂场景的能力。
[0006] 本发明的第二目的是在移动设备运行复杂场景能力提升的情况下,提出一种基于多特征的动态绘制场景的方法,保证用户在虚拟场景中漫游的真实感和实时性。
[0007] 为了实现上述目的,本发明采用如下技术方案:
[0008] 一种提高移动端体验的虚拟场景交互设计系统,包括设计子系统和体验子系统,其中:
[0009] 所述设计子系统,根据移动设备的性能参数估算移动设备的最大负荷;根据设定的设计布局自动将设计空间进行细化,划分为一系列的小空间,根据移动设备的最大负荷,为每个小空间提供对应的可交互参数,实现虚拟场景在每个小空间的实时渲染;
[0010] 所述体验子系统,包括若干移动虚拟现实眼镜和动感设备实现虚拟场景的漫游和沉浸感体验。
[0011] 进一步的,所述设计子系统包括移动设备参数获取模块、设计空间划分模块、局部设计空间可交互区域计算模块、虚拟物体布置模块和虚拟物体绑定模块;
[0012] 所述移动设备参数获取模块,被配置为通过设备型号,获取设备参数,并估算移动设备的最大负荷,为虚拟物体布置模块提供输入数据;
[0013] 所述设计空间划分模块,根据设计方案,给出推荐漫游路径,并将路径进行分段处理,进而将设计空间划分为若干小设计区域;
[0014] 所述局部设计空间可交互区域计算模块,对划分的分段路径进行弱可见性区域计算,得到每个小设计空间的可交互操作区域,确定允许布置虚拟物体的区域;
[0015] 虚拟物体布置模块,根据上述模块获取的移动设备最大负荷、局部设计空间可交互区域,进行虚拟物体的布置;
[0016] 虚拟物体绑定模块,根据路径的可见性算法,将场景中的虚拟物体与对应的漫游路径段绑定,虚拟物体可能会被多条路径段可见,为体验子系统实时渲染提供预处理数据。
[0017] 进一步的,所述虚拟物体布置模块,通过点击分段路径,以显示局部漫游路径端可操作区域并显示移动设备当前负荷,当可交互区域外或者布置虚拟物体超过设备最大容量时,提示警示信息。
[0018] 进一步的,体验子系统在漫游的过程中,根据虚拟物体绑定模块的数据和用户位置,得到此位置对应的用户可能看到的虚拟物体集合,即候选虚拟物体集合;根据用户的视点方向、虚拟物体的聚类特征、用户与虚拟物体的距离特征,对候选虚拟物体进行筛选,在不影响画面视觉效果的前提下,实现对场景的动态实时绘制。
[0019] 基于上述系统的场景设计方法,包括以下步骤:
[0020] (1)开启Kinect捕捉设备,同时将用于虚拟体验的移动终端和设计端设备与之连接;
[0021] (2)在设计端设备选择用于虚拟体验的移动终端型号,得到设备参数,估算移动设备的最大负荷,即虚拟场景中容许放置虚拟物体容量上限,并保存在变量中;
[0022] (3)对漫游路径进行设计,确定场景中提供的漫游路径数量;
[0023] (4)计算每条漫游路径上曲线段的弱可见性区域,即每个小设计空间的可交互操作区域,以布置虚拟物体的区域;
[0024] (5)在不超过布置容量上限的前提下,对每条漫游路径上曲线段对应的可交互操作区域进行虚拟物体的布置,根据虚拟物体的可见多边形,更新曲线段上可见的虚拟物体集合;
[0025] (6)根据Kinect捕获的时刻用户位置,将用户位置映射到虚拟空间,并寻找距离用户最近的曲线段,得出用户所在的路径区域得到对应的虚拟物体集合和弱可见区域;
[0026] (7)根据移动终端陀螺仪捕获的时刻用户视点朝向、虚拟物体集合、弱可见区域计算时刻用户实际所看到的虚拟模型集合,对时刻用户所看到的虚拟场景进行实时绘制。
[0027] 所述步骤(7)中,根据陀螺仪捕获的时刻用户视点朝向、虚拟物体集合、弱可见区域计算时刻用户实际所看到的虚拟模型集合,具体包括以下步骤:
[0028] (7-1)视点筛选,筛选基于用户视点的可见性区域内的虚拟物体:
[0029] (7-2)聚类筛选,将中的虚拟物体进行聚类优化:
[0030] (7-3)遮挡筛选,根据物体之间的遮挡关系,进一步优化虚拟物体集合:
[0031] (7-4)容量筛选,判断当前时刻可见物体集合中物体的总容量是否超出移动终端最大负荷,如果是,按照物体与视点的距离从远到近的原则,对物体用简单模型替换,直到中物体的总容量不超过移动终端最大负荷。
[0032] 所述步骤(7-1)中,具体包括:
[0033] (7-1-1)计算以视点为起点的两视线与弱可见区域相交的多边形;
[0034] (7-1-2)计算视点在中的可见性区域;
[0035] (7-1-3)从虚拟物体集合中筛选在中的虚拟物体。
[0036] 所述步骤(7-2)中,具体包括:
[0037] (7-2-1)在可见性区域内随机生成多个聚类点;
[0038] (7-2-2)初始化每个聚类点,添加距离其最近的虚拟物体,并记录该物体的类型;
[0039] (7-2-3)对虚拟物体集合中每个物体进行操作:根据欧式距离进行聚类,将物体聚类到某个区域,如果物体的类型与区域中物体的类型相同,则添加到该聚类块,否则,作为一个新的聚类块,并更新;
[0040] (7-2-4)对每个聚类块进行操作:如果聚类块中物体数目为1,则虚拟物体直接保存到虚拟物体集合中;如果聚类块中数目大于1,则计算聚类块的凸包,并计算视点与凸包的切点和,取内部或者距离视点最近的虚拟物体保存到虚拟物体集合中。
[0041] 所述步骤(7-3)中,具体包括:
[0042] (7-3-1)根据虚拟物体的半径以及其距离视点的距离,计算视点与以物体半径为半径的圆的切线夹角范围,即视野区域;
[0043] (7-3-2)判断相邻两个物体是否发生遮挡,如果相邻两个物体的视野区域有重叠,则对距离视点较远的物体的视野区域进行修正,并比较修正前后的视野区域变化,如果变化大于给定阈值,则认为该物体被严重遮挡,并将其用形状类似的简单模型替换。
[0044] 设备参数包括但不限于分辨率、内存和运行速度。
[0045] 与现有技术相比,本发明的有益效果为:
[0046] (1)针对设计者设计与用户体验相互独立,导致预先设计的场景可能在移动设备上不能实时显示的问题,本发明提出了一种提高移动端体验性能的虚拟场景设计系统,根据体验端设备的性能,为设计者的设计提出一定约束,在保证设计场景切实可体验的前提下,增加移动端运行复杂场景的能力。与之前方法相比,该系统首先将设计空间根据漫游路径划分为若干有效小设计区域,每个小设计区域的设计受移动端设备的性能约束。但从整个设计空间来看,移动端运行复杂场景的能力会得到提升。
[0047] (2)本发明通过将设计空间划分,从而增强了移动端可运行复杂场景的能力。在移动设备运行复杂场景能力提升的情况下,本发明提出了一种基于多特征的动态绘制场景的方法,保证用户在虚拟场景中漫游的真实感和实时性。
[0048] (3)本发明的一种提高移动端体验性能的虚拟场景设计系统及其方法,实现了设计与体验相互关联,改变了传统的虚拟场景设计方式,提高了设计的效率和可用性。
[0049] (4)本发明提供的设计布局方法,简单、便捷,直观地为设计者展示了可设计的有效区域,避免设计死角的出现,提高了设计的有效性。

附图说明

[0050] 构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
[0051] 图1为本发明所提出的提高移动端体验性能的虚拟场景设计系统界面图;
[0052] 图2为移动端手机型号选择和性能提示界面;
[0053] 图3(a)-图3(e)为设计者设计漫游路径的过程;
[0054] 图4(a)-图4(h)为用户体验时基于多特征的动态绘制场景的方法;具体实施方式:
[0055] 下面结合附图与实施例对本发明作进一步说明。
[0056] 应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
[0057] 需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0058] 为了更好的说明本发明的技术方案,在此进行如下定义:
[0059] 弱可见区域,对于一个多边形P和其中的曲线或线段L,如果L中存在一点可以看到P中某点q,则称q相对于L是弱可见的。L的所有弱可见点的集合就叫做L的弱可见多边形,也称为弱可见区域。
[0060] 正如背景技术所介绍的,现有技术中存在设计者的设计过程与用户的沉浸感体验相互独立,无法保证设计者的设计不超出用户移动设备的最大负荷,用户体验感差的的不足,为了解决如上的技术问题,本发明提出了一种提高移动端体验性能的虚拟场景设计系统及交互方法。
[0061] 提高移动端体验性能的虚拟场景设计系统,包括设计子系统和体验子系统,其中:
[0062] 所述设计子系统包括移动设备参数获取模块、设计空间划分模块、局部设计空间可交互区域计算模块、虚拟物体布置模块、虚拟物体绑定模块;
[0063] 所述移动设备参数获取模块,被配置为通过设备型号,获取设备参数(如手机分辨率、内存和运行速度等),并估算移动设备的最大负荷,为虚拟物体布置模块提供输入数据;
[0064] 所述设计空间划分模块,设计者根据设计方案,给出推荐漫游路径,并将路径进行分段处理,进而将设计空间划分为若干小设计区域;
[0065] 所述局部设计空间可交互区域计算模块,对上述分段路径进行弱可见性区域计算,从而得到每个小设计空间的可交互操作区域,即允许设计者布置虚拟物体的区域;
[0066] 虚拟物体布置模块,根据上述模块获取的移动设备最大负荷、局部设计空间可交互区域,指导设计者进行虚拟物体的布置。即点击分段路径,系统会显示局部漫游路径端可操作区域并显示移动设备当前负荷。当设计者在可交互区域外或者布置虚拟物体超过设备最大容量时,系统会有警示信息,提高设计者的设计效率和可用性;
[0067] 虚拟物体绑定模块,根据路径的可见性算法,将场景中的虚拟物体与对应的漫游路径段绑定,虚拟物体可能会被多条路径段可见,为体验子系统实时渲染提供预处理数据;
[0068] 所述体验子系统,用户通过移动虚拟现实眼镜(如谷歌Cardboard,暴风魔镜)和动感设备(微软Kinect)实现虚拟场景的漫游和沉浸感体验。在漫游的过程中,首先,根据虚拟物体绑定模块的数据和用户位置,可以得到此位置用户可能看到的虚拟物体集合,即候选虚拟物体集合;然后,根据用户的视点方向、虚拟物体的聚类特征、用户与虚拟物体的距离特征,对候选虚拟物体进行筛选,在不影响画面视觉效果的前提下,实现对场景的动态实时绘制,提高实时绘制效率。
[0069] 提高移动端体验性能的虚拟场景设计方法,包括以下步骤:
[0070] (1)开启服务器和Kinect捕捉设备,同时将用于虚拟体验的手机和设计端设备(如电脑、平板等)与之连接。
[0071] (2)在设计端选择用于虚拟体验的手机型号,从而得到设备参数(如手机分辨率、内存和运行速度等),估算移动设备的最大负荷,即虚拟场景中容许放置虚拟物体容量上限,并保存在变量Mcap中。
[0072] (3)场景设计布局,设计者对漫游路径的设计,在设计端交互界面上点击生成一条由线段组成的折线 对线段进行拖拽从而生成曲线曲线部分为设计者所设计的虚拟场景漫游路径。Lj、
Cj分别表示第j条折线和漫游路径,Nj表示第j条折线上线段数量,Nl表示场景中提供的漫游路径数量。
[0073] (4)计算第j(j=1,…,Nl)条漫游路径上曲线段 的弱可见性区域即每个小设计空间的可交互操作区域,允许设计者布置虚拟物体的区
域;
[0074] (5)设计者在第j(j=1,…,Nl)条漫游路径上曲线段 对应的可交互操作区域进行虚拟物体的布置 且
表示曲线段 上可见的虚拟物体集合, Nwi表示曲线段 上布
置的第m个虚拟物体和虚拟物体数目。 表示曲线段
上布置的第m个虚拟物体的容量。如果曲线段 中包含的虚拟物体总容量
则设计者不能再放置物体。当设计者完成所有物体布置
后,根据虚拟物体的可见多边形,更新曲线段 上可见的虚拟物体集合,即一个虚拟物体可能对不同路径的曲线段可见,也可能对同一路径的不同曲线段可见。
[0075] (6)体验者体验阶段。根据Kinect捕获的k时刻用户位置Posk,将用户位置映射到虚拟空间PosVk,并寻找距离用户最近的曲线段,得出用户所在的路径区域得到对应的虚拟物体集合和弱可见区域
[0076] (7)根据手机陀螺仪捕获的k时刻用户视点朝向Ek、虚拟物体集合Vpk、弱可见区域Rpk计算k时刻用户实际所看到的虚拟模型集合。
[0077] (8)根据上述结果对k时刻用户所看到的虚拟场景进行实时绘制,保证用户的实时、沉浸感体验。
[0078] 所述步骤(7)根据手机陀螺仪捕获的k时刻用户视点朝向Ek、虚拟物体集合Vpk、弱可见区域Rpk计算k时刻用户实际所看到的虚拟模型集合,具体包括以下步骤:
[0079] (7-1)视点筛选,筛选基于用户视点的可见性区域内的虚拟物体:
[0080] (7-1-1)计算以视点Ek为起点的两视线与弱可见区域Rpk相交的多边形InterPk;
[0081] (7-1-2)计算视点Ek在InterPk中的可见性区域RealPk;
[0082] (7-1-3)从虚拟物体集合Vpk中筛选在RealPk中的虚拟物体
[0083] (7-2)聚类筛选,将RealPk中的虚拟物体Vp1k进行聚类优化:
[0084] (7-2-1)在可见性区域RealPk内随机生成q个聚类点CPos={cposs,s=1,…,q}[0085] (7-2-2)初始化每个聚类点cposs(s=1,…,q),添加距离其最近的虚拟物体并记录该物体的类型tys;
[0086] (7-2-3)对虚拟物体集合Vp1k中每个物体vv∈Vp1k进行操作:根据欧式距离进行聚类,将物体vv聚类到某个区域cposs1(s1=1,…,qq,qq≥q),如果物体vv的类型与区域中物体的类型tys1相同,则添加到该聚类块cposs1。否则,vv作为一个新的聚类块,并更新cposs1(s1=1,…,qq,qq≥q)。
[0087] (7-2-4)对每个聚类块cposs1(s1=1,…,qq,qq≥q)进行操作:如果聚类块中物体数目为1,则虚拟物体直接保存到虚拟物体集合Vp2k中;如果聚类块中数目大于1,则计算聚类块的凸包,并计算视点Ek与凸包的切点p1和p2,取△p1p2Ek内部或者距离视点最近的虚拟物体保存到虚拟物体集合Vp2k中(图4(b)中矩形框表示),其他物体则用形状类似的简单模型保存至Vp2k(图4(b)中三角形表示)。
[0088] (7-3)遮挡筛选,根据物体之间的遮挡关系,进一步优化虚拟物体集合Vp2k:
[0089] (7-3-1)根据虚拟物体u∈Vp2k的半径以及其距离视点Ek的距离,计算视点Ek与以物体u半径为半径的圆的切线夹角范围,即视野区域;
[0090] (7-3-2)判断相邻两个物体是否发生遮挡,如果相邻两个物体的视野区域有重叠,则对距离视点较远的物体的视野区域进行修正,并比较修正前后的视野区域变化,如果变化大于给定阈值,则认为该物体被严重遮挡,并将其用形状类似的简单模型替换。
[0091] (7-4)容量筛选,判断当前时刻可见物体集合Vp2k中物体的总容量是否超出手机最大负荷Mcap。如果是,对Vp2k中的物体根据与视点Ek的距离进行排序,按照从远到近的原则,对物体用简单模型替换,直到Vp2k中物体的总容量不超过手机最大负荷Mcap,对更新后的Vp2k做最后优化。
[0092] 作为一种典型实施例,如图1所示,本发明所提出的提高移动端体验性能的虚拟场景设计系统界面,包括移动端手机型号选择区域、移动端性能提示区域、漫游路径绘制区域、虚拟物体列表、绘制和显示区域。
[0093] 如图2所示,本发明设计的移动端手机型号选择和性能提示界面,当体验端手机型号确定后,系统会根据手机类型估算手机的最大负荷,为设计者在设计时每个区域能布置的文物的最大容量给出提示。
[0094] 如图3(a)-图3(e)所示,设计者利用本发明设计漫游路径的过程。首先,设计者通过“Path”功能,通过点选操作,初步绘制漫游路径的线段,如图3(b)中线段组合abcd;然后,通过拖拽线段上的点,设计漫游路径曲线段,如图3(c)所示,通过拖拽线段“bc”上的点至e,利用Bezier曲线的生成方法产生设计者满意的曲线段,每条曲线段由左右两个端点和一个控制点形成,位于三点组成的三角包围盒中。如曲线段 位于点b、c、e组成的包围盒内。所有曲线段构成了一条漫游路径,本发明支持设计者设计多条漫游路径;最后,系统根据设计者设计的漫游路径段,根据可见区域的计算方法计算每部分的可见区域,并通过“visibility”功能进行显示,图3(d)显示为曲线段 的可见区域。设计者在布置虚拟物体时,系统将设计空间划分为不同的小空间,在每段漫游区域提示的可见区域进行布置,避免布置死角的出现,提高设计的有效性。
[0095] 如图4(a)-图4(h)所示,用户体验时基于多特征的动态绘制场景的方法。
[0096] 输入:k时刻用户所处位置的弱可见区域Rpk,用户视点位置Ek,候选可见虚拟物体集合Vpk;
[0097] 输出:k时刻用户实际所看到的虚拟物体集合
[0098] (1)算法1:视点筛选,筛选基于用户视点的可见多边形内的虚拟物体(如图4(a))[0099] (1-1)计算以视点Ek为起点的两视线与弱可见区域Rpk相交的多边形InterPk;
[0100] (1-2)计算视点Ek在InterPk中的可见性区域RealPk;
[0101] (1-3)从虚拟物体集合Vpk中筛选在RealPk中的虚拟物体
[0102] (2)算法2:聚类筛选(如图4(b));
[0103] (2-1)在可见性区域RealPk内随机生成q个聚类点CPos={cposs,s=1,…,q};
[0104] (2-2)初始化每个聚类点cposs(s=1,…,q),添加距离其最近的虚拟物体并记录该物体的类型tys;
[0105] (2-3)对虚拟物体集合Vp1k中每个物体vv∈Vp1k进行操作:根据欧式距离进行聚类,将物体vv聚类到某个区域cposs1(s1=1,…,qq,qq≥q),如果物体vv的类型与区域中物体的类型tys1相同,则添加到该聚类块cposs1。否则,vv作为一个新的聚类块,并更新cposs1(s1=1,…,qq,qq≥q)。
[0106] (2-4)对每个聚类块cposs1(s1=1,…,qq,qq≥q)进行操作:如果聚类块中物体数目为1,则虚拟物体直接保存到虚拟物体集合Vp2k中;如果聚类块中数目大于1,则计算聚类块的凸包,并计算视点Ek与凸包的切点p1和p2,取△p1p2Ek内部或者距离视点最近的虚拟物体保存到虚拟物体集合Vp2k中,其他物体则用形状类似的简单模型保存至Vp2k。
[0107] (3)遮挡筛选,根据相邻物体之间的遮挡关系,进一步优化可见物体集合Vp2k(如图4(c));
[0108] (3-1)根据虚拟物体u∈Vp2k的半径以及其距离视点Ek的距离,计算视点Ek与以物体u半径为半径的圆的切线夹角范围,即视野区域;
[0109] (3-2)判断相邻两个物体是否发生遮挡,如果相邻两个物体的视野区域有重叠,则对距离视点较远的物体的视野区域进行修正,并比较修正前后的视野区域变化,如果变化大于给定阈值,则认为该物体被严重遮挡,并将其用形状类似的简单模型替换。如图4(c),物体u3与物体u2存在遮挡,且物体u3被严重遮挡,则物体u3选择用简单模型替换,在不影响用户视觉体验时,提高手机实时绘制的效率。
[0110] (4)容量筛选,考虑到移动体验端(手机)的最大负荷Mcap,进一步优化可见物体集合Vp2k(如图4(d))
[0111] (4-1)判断当前时刻可见物体集合Vp2k中物体的总容量是否超出手机最大负荷Mcap。如果是,则进一步优化,转步骤(4-2);如果不是,则Vp2k为k时刻用户实际所看到的虚拟物体集合。
[0112] (4-2)对Vp2k中的物体根据与视点Ek的距离进行排序,按照从远到近的原则,对物体用简单模型替换,直到Vp2k中物体的总容量不超过手机最大负荷Mcap,此时的Vp2k为k时刻用户实际所看到的虚拟物体集合。
[0113] 图4(e)-图4(h)为不同视点的效果图,浅色圆表示物体用复杂精细模型表示,黑色圆表示该物体用其简单模型表示。
[0114] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
[0115] 上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。