导向传输 (Guided Transport)

传送面 (TransportSurfaces) 非常适合对标准传送带系统进行建模。但是,对于基于轨道的系统或需要大量碰撞体来制作弯道的系统,使用传送面可能无法实现稳定的建模。作为示例,请查看以下系统,其中 MU 在传送带系统上稳定移动。MU 也可以通过物理挡块(基于碰撞体)停止。

💡 注意
如果您的传送面是 位置控制的(例如由 PLC 更新),使用标准 GuidedMU 可能导致物理不稳定。
在这种情况下,请切换到使用 KinematicMU运动学方法 以获得平滑可靠的传输。
有关设置和使用详情,请参见 KinematicMU

在这种情况下,导向传输 (Guided Transports) 可以解决问题。它们提供有限的传输方向和位置,遵循可以是线性或圆形的导向线。

使用导向传输有两种选项。首先,您可以通过添加 GuideLine 或 GuideCircle 将导向传输作为传送面的子对象。这允许您保留传送面本身的标准动画功能。

或者,您可以使用 TransportGuided Prefab,它将驱动器、必要的 GuideLine 或 GuideCircle 以及所有必需的碰撞体组合在一个组件中。这对于覆盖现有导入的 CAD 设计特别有用。

您可以在哔哩哔哩上找到关于导向传输的教程:

导向传输教程

演示场景 (Demo Scene)

演示场景

一个特殊的演示场景展示了导向传输的各种演示,包括使用导向传输(例如链系统)提升对象。您可以通过主菜单导航到 Tools > realvirtual > Additional Demos > Guided Transport 来访问此演示场景。探索不同的场景以查看导向传输的实际功能和应用。

前提条件 - GuidedMU

GuidedMU

要使用导向传输,您必须确保所有 MU(移动单元)都附加了 GuideMU 脚本。推荐的方法是将此脚本添加到 Source 上,如图所示。

导向传输依赖碰撞体和射线投射来检测导向线。因此,需要适当定义射线投射长度和层级以确保正常功能。

ℹ️

导向传输系统中的射线投射始终沿全局 Z 方向向下执行。这确保即使是翻滚或不规则移动的移动单元 (MU) 仍能准确检测碰撞体并被吸附到导向线上。

导向传输中使用的标准组件是 rvTransport(将导向线与 传送面 结合)和 rvSimStatic(用于 TransportGuided 组件)。当您想避免与检测碰撞体检测到的 MU 发生碰撞时,rvSimStatic 组件特别有用。

带传送面的导向传输

TransportSurfaces 可以通过 GuideLine 扩展。当 GuidedMU 射线投射检测到 TransportSurface 时,这将吸附 MU。MU 始终对齐并吸附到 TransportSurface 上最近的点。速度取自 TransportSurface。您只需在 TransportSurface 下添加一个空的 GameObject,然后向其添加 GuideLineGuideCircle 组件。或者,您可以使用覆盖菜单或主菜单(例如 Tools > realvirtual > Add Object > GuideLine)。

TransportSurface 下的 GuideLine 子对象

除了 GuideLine 外,还有用于圆周运动的 GuideCircle。

TransportSurface 下的 GuideLine 子对象

TransportGuided

实现导向传输的一种便捷替代方案是使用 TransportGuided 组件。此单个 Prefab 组件通过将驱动器和 TransportGuided 脚本组合为一个实体来简化流程。此外,它会根据配置自动创建必要的碰撞体以及 GuideCircleGuideLine

添加 TransportGuided 组件:

  1. 将 prefab 拖放到场景中,或
  2. 使用主菜单:Tools > realvirtual > Add Object > TransportGuided,或
  3. 使用覆盖菜单。
TransportGuided 圆形

属性 (Properties)

圆形 (Circular)

为圆形导向线时为 true。

半径 (Radius)(圆形)

导向线的半径。

角度 (Angle)(圆形)

导向线的角度。

碰撞体边界 Z (Collider Border Z)(圆形)

导向线入口侧 Z 方向的边界。

碰撞体边界 X (Collider Border X)(圆形)

导向线出口侧 X 方向的边界。

长度 (Length)(线性)

线性导向线的长度。

高度 (Height)

组件的高度。组件的零点始终是导向线或导向圆的起点。

宽度 (Width)(线性)

线性导向线碰撞体的宽度。

距离碰撞体 (DistanceCollider)

碰撞体与导向线之间的距离。碰撞体应始终略低于导向线。

显示 Gizmo (ShowGizmos)

如果应显示碰撞体和导向线的 Gizmo 则为 true。

TransportGuided 线性