TechViz 博客 - 用于工程学的AR/VR

VR 中的碰撞检测:为什么它对某些用例至关重要?

Written by LEI Li | Dec 14, 2022 9:04:26 AM

碰撞检测是 AR / VR 模拟的重要功能。假如,您看中了一套宜家的新款沙发,但它真的适合您客厅那个不规则的角落吗?当在平板电脑上使用 AR 功能购物时,您肯定首先会想先找到这个答案。同样的,有时其他行业在工厂安装机床时也会遇到类似的问题。

在工程、制造和建筑等行业中,利用 VR 测试设计的好处之一是可以评估不同 3D 部件的集成,或是人为因素与 CAD 模型的集成。碰撞检测还可以增强 VR 体验的真实感,使其更有效地用于训练和评估。在本文中,我们将定义什么是 3D 碰撞,以及它是如何被众多行业使用的。

什么是 3D 碰撞?

3D碰撞的定义是什么?

3D 碰撞是指两个虚拟对象之间发生的碰撞,无论碰撞方向如何。它们可能很难被计算,因为 3D CAD 模型是由多个相连的三角形组成,这些三角形中的任何一个都可能与另一个发生碰撞。

形成表面(也称为网格)的三角形越多,渲染就越逼真,但 3D 碰撞的计算也就更复杂。

3D 碰撞有哪些不同类型?

两个 3D 模型之间的 3D 碰撞

模型的一部分与另一部分发生碰撞。在运行设计审查时检测这些碰撞很重要,这样您就可以看到部件在哪里发生碰撞,从而在进入生产阶段之前纠正错误。

虚拟手和 CAD 模型之间的 3D 碰撞

虚拟手与 3D 模型发生碰撞。这些碰撞可以通过部件交集处的红色边缘、振动或者声音来进行视觉、触觉或听觉上的传达。

手部追踪或手指追踪中的 3D 碰撞

真实双手穿过 3D 模型的模拟。当与跟踪传感器(例如 VR 跟踪手套)结合使用时,这种模拟会更加逼真。

虚拟工具和模型之间的 3D 碰撞

在 VR 模拟中,使您的虚拟工具与模型的某些部分发生碰撞。这一点用于在拟真条件下维护场景评估非常有用。如果虚拟工具和模型发生碰撞,则可能表明您没有足够的空间来正确安装和拆卸设备。

虚拟人体模型与 CAD 模型之间的3D碰撞

人体模型在执行任务时与部分虚拟对象发生碰撞。在进行可达性和人体工程学研究时,这是必不可少的。您也可以通过在 VR 中使用全身追踪服来获得更准确的数据。

3D 碰撞检测如何使用在工程项目中?

通过模拟两个模型之间的碰撞,工程师可以研究这些物体在各种环境中的行为,并了解速度和加速度等不同因素如何影响碰撞结果

虚拟对象碰撞交集的一些用例有:

  • 在设计评审期间可视化部件的冲突,从而避免虚拟原型上的错误。
  • 从精确位置执行可达性测试,例如在汽车驾驶舱内。
  • 在维护场景中检查可修复性问题,例如某些工具是否可以在狭窄的地方使用。
  • 在工厂进行夹具测试,以确定新设备是否可以安装在以前设备所占的空间内,以及安装的路径。

但是,如果不考虑物理因素,CAD 模型之间的简单交互对于某些用例来说会不够接近现实。当您需要运行类似真实情形的模拟时,会发生些什么呢?让我们超越简单的 3D 碰撞,来看看现实物理。

如何在虚拟世界中模拟真实的碰撞

关于如何用现实物理来模拟逼真的 3D 碰撞,有两种主要的方法:

  • 使用轴对齐边界框 (AABB):它就像游戏中的命中框。模型中的每组零件都被放在一个更大的框里,软件则会检查不同框的位置是否重叠。这是相应的 3D 模型外观的简单模拟。

图源developpers.mozilla.org

  • 使用物理引擎:VR 软件调用另一个软件来进行物理模拟。通常来说,引擎通过为具有位置、速度、旋转、形状等属性的虚拟对象创建“物理实体”来进行工作。在碰撞检测计算中考虑的正是这个“物理实体”。

例如,对于 TechViz 虚拟装配功能来说,TechViz 软件集成了 Haption IPSI 引擎,用于具有力反馈的刚体物理模拟。它保证了虚拟对象的不相互渗透。虚拟物体被物理引擎体素化,这意味着它创建了一个平行于不同网格的 3D 物体的正交覆盖,以捕获其模拟的形状信息。体素单位的大小可以在 TechViz 中更改。

需要在虚拟现实中模拟真实物理状态的 5 个用例

1.     虚拟制造装配中的组装和拆卸任

想象一下,您有一个产品(比如发动机、飞机、轮船……的两个部分要组装在一起。模型的一部分有一个孔,另一部分有一个与孔形状和大小相同的突起。碰撞检测将使您能够检查两个部分连接时所有尺寸是否正确。它还允许您模拟两组虚拟对象之间的约束条件

2.     模拟制造工厂的机械

想象一个机械臂,它被编程为从一条传送带上拾取物体并移动到另一条传送带上。当机械臂接触到物体时,它会施加力来抓住物体并将其移动到所需位置。如果物体移动得太快或太出乎意料,机器人手臂还可以施加脉冲来调整其轨迹并防止与传送带上的其他物体发生碰撞。

3.     模拟两辆不同质量的车辆发生碰

假设一辆汽车撞上了一辆卡车。两辆车具有不同的质量和重心,它们在碰撞过程中的行为将由它们各自的速度、它们碰撞的角度等因素决定。3D 碰撞将显示车辆之间的动能传递,以及它们的运动会受到的影响。

在这种情况下,您还可以添加虚拟人体模型来模拟乘客,以观察碰撞对人体的影响。

4.     虚拟现实中复杂数据的可视

VR 中可视化复杂数据的一个准确示例是地震中的建筑结构。模拟将涉及不同墙壁、柱子的变形以及来自地震力量的其他影响,例如建筑物的倒塌。工程师可以使用该模拟来研究建筑结构在地震期间的行为,以设计更具弹性的结构。

5.     检查存储空间大

比如,汽车制造商可以检查备胎是否适合其在后备箱中的空间,仓库经理可以查看存储单元中可以容纳多少货盘等等。

查看我们关于虚拟现实和增强现实发展的其他文章,以及它如何使您的业务受益:

工程中的VR: 几乎囊括所有您需要了解的信息

VR 在制药产业的 7 个使用案例

专业人士在工程领域需要用到手指追踪技术的5个使用案例