具有改善的视觉真实感的迷宫景观生成系统[Jimmo Kim的翻译]

哈Ha!


在这篇文章中,我将讨论Jinmo Kim的文章:“用于新视觉现实的沉浸式虚拟现实中的迷宫地形创作系统”。 它已于04/04/2019发布。 文章全文可在此处找到。


系统简短说明


本文提出了作者创建迷宫景观的系统,用户可以使用它在一个简单而直观的系统中自动生成各种复杂的图案。 使用程序中计算出的迷宫信息,可以快速有效地生成三维迷宫景观。


拟议的迷宫景观生成系统包含三个主要功能:


  • 使用经典迷宫生成算法实现的自动生成各种大小和样式的迷宫网格的功能;
  • 圆形迷宫生成功能;
  • 使用图像处理算法将迷宫从手动草图转换为3D对象的功能。

使用由这三个功能组成的建议系统,可以有效地创建从均匀到不规则的各种迷宫。 通过此开发,您可以直接从通过同一系统进行的计算中生成各种概念的迷宫景观。 此外,这项工作分析了虚拟现实中存在和沉浸效果的改善,即 视觉现实主义。 同样,在这项工作中,使用调查对提议的创作系统的适用性进行了分析。


为什么选择虚拟现实?


要获得某种现实体验,您需要与人的感官互动。 虚拟现实使人可以通过与视觉,听觉和触觉的互动来获得这种体验。 在虚拟现实中,存在效果非常重要,因此用户可以根据对自己的位置,与谁在一起以及执行什么动作的感受来获得逼真的体验。


为了增加虚拟现实中的存在感,重要的是用户如何与虚拟环境交互,但是同样重要的是如何提供各种虚拟场景以视觉上满足用户。


在面向硬件的虚拟现实系统(触觉系统,运动平台等)的研究中,为了在虚拟现实中真实显示用户的动作和动作,仅使用了实验场景,其中的空间有限,场景的结构简单。大多数情况下。 由于VR技术已应用于视觉艺术,建筑设计以及游戏等各个领域,因此需要专门研究以创建符合VR的复杂虚拟空间。 为此,在这项工作中,研究了自动创建具有复杂结构和各种特征的虚拟场景的方法,例如城市空间和虚拟景观。


虚拟现实沉浸


沉浸式虚拟现实(或身临其境的虚拟现实)是这样一种现实,它是在与复杂技术系统(例如虚拟现实系统)进行交互的过程中在人脑中产生的。 它具有自己独特的计时码表,逻辑,仅存在相关性,而用户在此现实中处于“呈现”状态,具有交互性,作为对用户动作做出响应的能力。


使用多种方法进行了虚拟现实潜水的研究:


  • 一种显示器,该显示器传达三维视觉信息,以基于五种感觉在虚拟环境中为用户提供逼真的体验
  • 声音处理,使用环绕声增强空间感
  • 一种与虚拟环境交互的方法,以及将物理响应引导回人体(手臂,腿等)的触觉系统和运动平台。

为了在虚拟现实中实现存在的效果,必须使用户有视觉上的满足感。 由于这个原因,人们对多模式研究越来越感兴趣,该研究既检查视觉和听觉感觉,又检查视觉和触觉感觉,以及结合视觉经验和触觉系统的伪触觉系统的研究。


改善视觉真实感


对于各种VR应用来说,需要一种用于产生虚拟场景的方法,该方法可以为虚拟环境中的用户提供改善的呈现效果以及新的视觉体验。 将来,虚拟现实场景将使自己摆脱狭小而有限的空间(如室内空间)的影响,并创建广阔的开放式景观(如城市和虚拟世界),为用户提供更多选择。


为了创建可以提供新体验并改善虚拟现实中用户存在的效果的虚拟迷宫场景,本工作提出了一种优化的创作系统。 它基于传统研究,可以以简单,直观和用户友好的结构生成更多不同的虚拟迷宫场景。


迷宫景观系统


所提出的系统创建了迷宫的虚拟景观,具有使用各种视觉效果增强虚拟现实中用户视觉真实感的效果。 它包括三个基本功能,这些功能可自动生成各种迷宫图案并将其转换为创建迷宫的三维表面所需的信息。


生成直线迷宫图案


迷宫景观创建系统的第一个功能是使用经典迷宫生成算法自动生成迷宫图案。 一个重要因素是需要创建最终的迷宫。 必须有不同的路径或一条绝对路径,以使用户不会陷入迷宫中。 这有助于防止用户遭受VR疾病的困扰,这是一个严重的虚拟现实问题。 此功能基于Lee等人的算法,该算法使用Prim算法创建迷宫图案。


Lee等迷宫的最终生成算法是从以下过程开始的方法:(1)设置起始位置,(2)从周围的单元格中随机设置道路​​单元格。 然后(3),该算法检查方向周围的四个单元(确定将这四个周围单元作为壁单元添加到集合后的单元层结构)。 然后,该算法重复过程(4、5),以找到墙的记录单元之一,然后创建一条道路。


下图显示了构建直线迷宫模板的过程。 用户设置迷宫模板的大小,当您单击“迷宫”按钮时,迷宫模板将自动计算并生成。


图片

如果用户要编辑自动创建的迷宫的模板,则选择“编辑”模式。 用户通过单击单元格在迷宫模板的表示字段中用鼠标进行编辑,然后自动将其从墙到路或从墙到路转换。 迷宫模板生成后,用户就有机会以3D格式查看生成的迷宫。


在3D模式下查看迷宫
图片

创建圆形迷宫的方法


建议的作者创建迷宫景观的系统的第二个功能是生成圆形迷宫的方法。 该方法会自动创建各种大小和图案的圆形迷宫,是对生成矩形网格形式的迷宫图案的一种很好的补充。 因此,该方法扩展了虚拟现实中用户的视觉体验。 墙壁和道路单元的创建和安装过程基本相同。 但是对于圆形迷宫,输入特性是迷宫的半径和迷宫中的项数。


首先,当用户输入所需的迷宫半径时,通过从中心点画圆的算法自动计算出圆形迷宫的壁的壁。 然后,圆形迷宫的壁与外圆以一定间隔(ns)重复多次。 根据用户输入的条目数,通过旋转壁单元创建次数尽可能多的通道,以使输入应来自最外面的圆圈。


随机选择将成为进入外圆的起点的像元,进入迷宫的次数应为多次。 然后,在选定的单元格中,选择壁单元格,其长度与圆形壁之间的间隔(ns)一致,并且其旋转刚好足以接触内部圆形壁。
最后,当壁单元在其旋转并接触内圆形壁的位置出现时,重复上述算法。


1: nr ←   . 2: ne ←    . 3: procedure     (nr, ne) 4: ns ←       . 5: while nr > ns do 6:         . 7: nr = nr - ns. 8: end while 9: nc ←    . 10: Arre[ne] ←  ,  ne      . 11: for i = nc, 0 do:     . 12: for j = 0, ne do 13:     ns    (Arre[j]). 14:   . 15:  Arre[j],  ,      . 16: end for 17: end for 18: end procedure 

该算法的原始文本
 nr ← radius of the circular maze. ne ← number of maze entrances. procedure CIRCULAR MAZE GENERATION PROCESS(nr, ne) ns ← interval between maze for user road. while nr > ns do define wall cell by using Bresenham's circle drawing algorithm. nr = nr - ns. end while nc ← number of drawing circles. Arre[ne] ← as many entrance cells as ne are selected from wall cell of the outermost circle. for i = nc, 0 do: generate passages in every circle. for j = 0, ne do select cells with length of ns in entrance cell (Arre[j]). rotate selected cells. renew Arre[j] by finding a cell that meets the inner circle after rotation. end for end for end procedure 

此过程的上述算法基于圆形迷宫半径的输入参数和用户输入的输入数量。 另外,下图显示了创建圆形迷宫的过程。


创建圆形迷宫的过程

图片


基于草图的迷宫


在这项工作中,迷宫创建系统的最后一个功能是根据草图生成迷宫。 直线和圆形迷宫的模式是同质迷宫。 但是,在大多数情况下,我们在日常生活中可能会遇到的迷宫公园具有不规则的形状。 因此,在这项工作中,提出了一种功能,该功能可以从用户的手绘草图图像容易地创建迷宫的自然表面以及电子形式的迷宫模板。 此功能使您可以在各种应用程序中使用迷宫部分,例如路径查找系统或虚拟公园。


拟议的迷宫生成功能允许用户使用通过图形软件(例如Photoshop)绘制的迷宫图案,或用手在一张纸上绘制的扫描草图。 图像被加载到应用了图像处理算法的系统中,因此图像被转换为​​迷宫纹理图。 此过程分为三个阶段。


  • 第一步是在系统中获取草图图像的过程。 为了进行后续处理的计算,将缩略图图像转换为灰度的单通道图像。
  • 第二步是使用二值化方法破坏墙壁和道路的过程。 在此,阈值是确定墙壁和道路的重要元素。 系统具有通过界面编辑输入阈值的能力。
  • 第三阶段是填充在二值化过程中出现的孔的过程。

通过这些步骤,创建了天然迷宫。 该系统还提供了一个菜单项,该菜单项允许用户控制填充操作的迭代次数。
下图显示了从用户绘制的迷宫草图以逐步模式生成迷宫纹理贴图的过程。


通过用户草图生成迷宫
图片

实验结果与分析


使用Microsoft Visual Studio 2013,OpenCV 2.4.11和DirectX SDK 9.0c实现了用于创建迷宫景观的拟议系统。 此外,基于使用作者的迷宫创建系统自动生成的迷宫纹理贴图,使用Unity 2017.3.1f1引擎(64位)创建了迷宫景观,并使用图形工作对其进行了修改。 为了测试这种情况并在虚拟现实中查看结果,该系统使用Oculus Rift CV1 HMD设备和带有Unity3D引擎的Oculus SDK(ovr_unity_utilities 1.22.0)进行了集成。 最后,用于实验和实施的PC具有Intel Core i7-6700规格,16 GB RAM(随机存取存储器)和Geforce 1080图形处理器。


下图显示了三个虚拟迷宫景观。 这些是使用该开发系统的功能计算出的迷宫图案产生的浮雕的结果。 此外,您可以看到通过根据该概念添加图形因素创建了各种虚拟迷宫环境。


图片

此外,还针对普通参与者进行了一项试点调查。 首先,关于系统性能,使用具有创建商业游戏引擎环境功能的比较测试,可以确认所提出的系统允许用户(开发人员)轻松直观地编辑迷宫的所需部分。 这减少了所需的时间,并导致用户对系统的高度满意度。


通过对存在感的调查,可以确认虚拟现实中的迷宫景观可以为用户提供新的视觉体验。 通过统计分析,还确认了使用建议的三个函数获得的所有图均令人满意,而它们之间没有任何显着差异。 将来,系统将得到完善,以提供一个大型的虚拟迷宫环境,例如迷宫公园或主题公园,几个用户可以在虚拟现实中一起体验迷宫空间。

Source: https://habr.com/ru/post/zh-CN455744/


All Articles