当前位置: 首页 > 设计资讯 > 行业资讯 > 正文

虚拟现实(VR)技术,新一代计算机的创新设计

2020-03-04 1824 0

         在本文中,高级技术团队成员兼unity developer形态建筑师,讲述了他如何为虚拟现实演示或“体验”准备数字资产的步骤,这在可视化行业中是众所周知的。本教程展示了在洛杉矶韩国美国国家博物馆的概念设计过程中创造的体验——之前在designboom上展示过这里。工作流面向架构师和设计人员,提供如何利用和调整在日常架构实践中创建的资产,以获得身临其境的体验。阅读下面阿莱西奥·格拉西尼的完整文本。

       虽然许多设计师在使用rhino和蚱蜢作为3D建模工作流程的一部分方面经验丰富,但他们可能不一定熟悉unity。unity是一个跨平台的游戏引擎,用于创建二维、三维、虚拟现实和增强现实环境。虽然大多数情况下与视频游戏生产相关,但许多行业都可以从unity的功能中受益,因为有许多方法可以参与和创建软件。

morphosis virtual architecture
在几何图形优化之前,rhino中的3D建筑模型

morphosis virtual architecture
rhino中3D模型的幻影视图,显示了隐藏的元素,这些元素可以被移除以获得虚拟现实体验

步骤1:模型准备和优化 

      几何优化对于开发虚拟现实中的“平滑”建筑场景至关重要。不遵循这一重要的第一步将导致大量的延迟,表现为各种元素或物体的延迟加载,或者随着你的移动而闪烁或跳跃。除了令人沮丧之外,当通过耳机与场景接触时,lag还会让人头痛和头晕。几何优化应该从你的建筑模型的本地软件开始,甚至在你打开unity或者你喜欢的游戏引擎之前。从长远来看,在开始时优化几何图形会节省你很多时间。对于这种体验,我们从建筑设计团队在项目的早期概念阶段创建的3D模型文件开始。这是团队将在整个设计过程中继续塑造和开发的同一3D模型的副本。
       优化的最终目标是在将几何引入游戏引擎之前简化几何,主要是通过减少3D网格中的多边形面的数量。这意味着最终渲染体验将需要更少的处理能力。该模型可以通过几种方式进行“优化”,有些是手动的,有些是自动的。 

移除隐藏元素

      您可以采取的初始步骤之一是移除与可视化无关的多余元素。这需要有一个你想在可视化中表达的叙事和场景的计划。请记住,不是建筑物的所有组成部分都能被常客看到;通常隐藏的东西,如暖通空调系统、结构梁、电缆等,如果它们不是可视化的焦点,可以从模型中移除。这一简单的举措可以大大降低模型的复杂性。

morphosis virtual architecture
蚱蜢视觉脚本包括午餐盒插件组件,用于减少多边形数 

分成块

      减少多边形数量的另一种方法是考虑你的体验是否可以细分成不同的场景。对于多边形面数超过100,000的更大或更复杂的3D模型,可能需要将模型分割成建筑物的“块”,例如入口和大厅或特定的内部空间,并在游戏引擎中分别渲染这些块。在体验中,每一个场景都只涉及到当时模型的一部分;当观众改变场景时,他们也在改变模型的不同部分。这可以节省大量渲染资源,但也需要仔细考虑不同场景之间的过渡体验。 

合并和优化网格 

     自动多边形缩小工具在单个网格层上工作,以减少该网格中多边形面的数量。因此,在将这些工具引入我们的模型之前,我们需要将模型中的几何图形从NURBS转换为网格,然后使用蚱蜢本地“连接”函数连接相关的网格。合并网格时,提前考虑如何使用模型是很重要的。例如,您可能想要连接共享相同材质类型的网格,以便以后可以轻松地在unity中指定材质。您不希望连接不共享材质的网格,因为您需要稍后再次分离它们,以便为它们分配各自的材质。 

     一旦相似的网格被连接,您可以将生成的网格导入多边形缩减工具。有几种工具可以减少网格,但是我发现最有效的是nathan miller的非常有用的蚱蜢插件午餐盒。 便当盒是一个插件,包括蚱蜢和发电机的计算设计工具的集合。对我们来说最重要的是,这个插件具有组件节点,用于管理活动的数据和几何图形,例如创成式表单制作、小组讨论、合理化和互操作性。

morphosis virtual architecture
在rhino中选择隐藏元素的3D模型的幻影视图——这些隐藏元素可以被移除以获得虚拟现实体验 

      作为这种合并和缩小操作的结果,我们的模型已经从100多个层缩小到不超过15-20个网格层,总共只包括30,000个三角形面。考虑到原始几何图形有超过150万个多边形面,这表示模型中所有多边形减少了98%——这是一个巨大的减少!

morphosis virtual architecture
转换为网格后,几何图形优化前,rhino中的3D模型处于线框模式

morphosis virtual architecture
来自韩国美国国家博物馆虚拟现实体验的屏幕截图,在unity制作 

           一个很好的经验法则是将模型中多边形面的数量保持在50,000以下。如果你的模型有非常复杂的表面,这可能是一个麻烦的任务。避免导入任何过于复杂的表面图案,因为稍后使用unity的纹理映射功能可以更有效地重新创建这些图案。当任何表面上的复杂图案超过10,000个三角形时,通常最好使用纹理映射策略。 
        优化曲面时,您应该记住一些预防措施和故障排除策略。午餐盒对网格边、顶点和面的自动细分并不总是产生预期或期望的结果。有时一个网格“抵制”被压缩,可能是因为它的复杂性,或者是因为它从创建网格的软件中继承了各种属性。发生这种情况时,可能需要重建几何图形,这将会扩展您的工作流并使其复杂化。 
       解决这个问题的一个很好的方法是,在通过便当盒进行网格缩小之前,确保将属性、形状和曲率相似的元素(以及多边形数)连接在一起。有时,如果连接的网格层包含几何形状完全不同的元素,则在进行网格缩小操作时,整体多边形数较少的简单元素将会变形。
       网格变形并不总是一件坏事或偶然的事情。任何玩过电子游戏的人都可能注意到,游戏环境有时包含多面的、低分辨率的和像素化的表面。这种扭曲可能是一个错误,但也可能是游戏创建者的故意选择,他们不断地权衡环境的哪些部分是渲染的优先考虑。也许环境中扭曲的部分对游戏的叙述来说不如环境中的其他部分重要,所以它更“优化”,并且没有得到同样程度的渲染能力。因此,扭曲有时会引导玩家关注他们周围环境的重要方面。

      对于架构可视化,我们有一个稍微棘手的任务,与视频游戏相比,我们如此专注于构建环境的呈现,以至于很难对该环境的某些方面进行去优先级化以分配渲染能力。因此,我们通常致力于所有几何图形的最小变形——所有网格都应该是光滑、封闭的平面。我们还可以通过统一的后处理效果(如“bloom”、“景深”和“抗锯齿”)来减轻失真,这有助于减少散乱或不连贯几何图形的感觉。有关后处理概念的更多信息,请查看unity文档关于这个话题。 
       关于减少多边形的最后一点注意——建筑中的楼梯和立面通常是多边形数量最多的元素。如果我们需要暂时隐藏或移除经验中的元素以优化渲染能力,这些应该是首先要考虑的元素。

how morphosis is creating virtual architecture and immersive experiences
根据它们的复杂性,多边形缩减操作将对曲线和元素进行不同的处理。战略性地连接网格提供了对结果的某种程度的控制

how morphosis is creating virtual architecture and immersive experiences

优化前后具有复杂表面图案的资产的比较。3D图案将作为一个整体纹理重新映射到平面上 

步骤2:建立统一和视觉探索环境 

      除了rhino和蚱蜢之外,用于这种体验的具体软件和包是unity 2019.3,具有universal render管道和unity资产商店的unity包“oculus integration ”,以及unity包管理器的“oculus android”。安装完这些软件包后,我们就可以导入我们的模型并开始虚拟现实场景的开发了。 

     按照上述建议优化模型后,从rhino导出一个“FBX”文件,扩展名为。使用默认设置。FBX是一种中间件文件格式,用于在计算机辅助设计程序和游戏引擎之间传输资产。 unity提供了各种模板供您在开始新项目时选择。这些模板由体验所需的渲染性能以及将在其上部署体验的设备来定义。在本例中,我们将使用通用渲染管道模板,该模板提供了一系列预建工具,用于为智能手机和耳机等设备(包括oculus quest)创建体验。

     虽然unity是一个起源于视频游戏开发的游戏引擎,但它的界面非常适合建筑师/设计师。像大多数CAD软件一样,unity的界面包含一个用户操作和观察几何图形的视口,以及一个组织和分类几何图形的图层选项卡。unity和大多数传统CAD软件之间的主要区别是能够将交互和行为分配给几何图形,当然还有通过按play来体验空间的可能性。有关如何开始使用unity的更多信息,您可以参考unity的入门教程和文档在他们的网站上。

 

测试跟踪和优化

      一旦我们导入了模型并选择了通用渲染管道模板,我们就应该测试模型的跟踪和优化。这是一个两步的过程;首先,我们应该测试构建一个基本的手动跟踪场景,以确保我们的设置能够正常工作。这是通过在构建设置窗口中选择“android”作为我们的平台并点击构建按钮来实现的。手动跟踪场景是一个空场景,包含两个源自oculus unity SDK的预制组件:OVRCamera钻机和手;使用它来确保你的手在unity中正确地跟踪。您可以使用本指南进行故障排除,该指南对oculus unity集成中包含的模板进行了深入解释。

how morphosis is creating virtual architecture and immersive experiences
unity中导入的优化模型 

      在确保您的手动跟踪设置在空白模板场景中成功完成后,我们可以通过将文件拖到场景层次面板中来开始测试我们自己的模型。除了简单评估耳机观看体验的流畅度,我们还可以参考unity editor中的统计窗口来分析我们模型的性能和优化,该窗口可以跟踪场景测试时游戏引擎中运行的任务。unity还通过内置的profiler窗口提供了更精确的性能读数。
        观看的关键参数之一是体验的帧速率;oculus quest至少需要每秒72帧的速度来确保场景正确运行。有关oculus quest测试和性能分析的更多信息,请参阅产品文档团结发展 如果场景工作顺利,就应该开始定制材质,并向模型添加环境和其他细节,以渲染所需的氛围。unity的第三方软件包“substance source”对这一步非常有用,可在unity资产商店中找到。物质来源提供一系列高质量的纹理和表
        我们的一些导入模型资产可能已经从其本地的CAD平台中分配了材料。应该使用渲染管道设置中的材质转换选项来转换这些对象,以匹配unity渲染管道格式。

how morphosis is creating virtual architecture and immersive experiences
场景可以通过纹理映射材质和后期处理来增强,以增加细节和氛围 

更进一步:切换视图 

      您可能希望在体验中添加在不同场景或视图之间切换的功能。有关在体验中包含不同场景的更多信息,请参见上的文档如何统一管理场景。 对于这种体验,我们希望通过一个直观的手势来完成视图切换,在这种情况下,是一个捏捏动作。这种互动是通过一个名为“InteractableToolsSDKDriver”的第三方导入包实现的,该包使用oculus quest的集成摄像头来感知观看者在耳机前的手部动作,然后将它们转移到虚拟环境中与场景互动。

how morphosis is creating virtual architecture and immersive experiences
观众以这种最初的视角进入体验。场景中的手对应于观看者的手在耳机前面的位置

how morphosis is creating virtual architecture and immersive experiences
观众通过在耳机前做一个捏捏手势来转换到第二视图 

      在你的体验中引入这样的互动需要一些脚本能力。因为本文关注的是优化,而不是脚本,所以我们没有足够的空间来浏览手动跟踪交互的整个代码。这oculus开发人员手动跟踪文档是一个很好的资源,可以让你学习如何根据自己的经验编写交互代码。或者,可以直接联系文章的作者,寻求建议和指导。

how morphosis is creating virtual architecture and immersive experiences
来自韩国美国国家博物馆虚拟现实体验的屏幕截图,在unity制作

最终想法 

     沉浸式技术的发展意味着虚拟现实影响建筑的机会正在扩大,而不仅仅是在项目的最后展示阶段。沉浸式现实的独特体验可能性——尤其是考虑到虚拟空间中交互手势和身体动作的整合——代表了设计师们的一个激动人心的领域,为理解仍在开发中的项目提供了新的方法。在理解和概念化空间设计方面受过训练的建筑师也有无数的方法可以帮助和影响沉浸式媒体的新兴世界——为艺术家、视频游戏、虚拟会议室等设计虚拟空间。本教程很有希望地展示了这种集成可以是直接的,从架构师和设计人员已经在日常使用的模型和过程中构建。


 


0
评论区(0)
正在加载评论...
相关推荐