传感器(Sensor)
传感器用于检测 MU。传感器可以使用 BoxCollider 或射线检测(Raycast)进行碰撞检测。
需要为 Sensor 添加一个行为组件(如 Sensor_Standard),以便连接到 PLC 的输入和输出。
本教程介绍传感器的基础操作:
Tutorial about adding Sensors to your Digital Twin

下图显示了演示模型中使用碰撞器配置的传感器:
使用碰撞器的传感器(Sensor using Colliders)
由于使用碰撞检测传感器状态,您需要确保传感器游戏对象位于适当的碰撞层上,通常应为 g4aSensor。
由于 Mesh Collider 碰撞检测的限制,传感器应始终使用 Box Collider。
传感器可以通过更改材质来改变颜色。为此,您需要选择 Display Status。
使用射线检测的传感器(Sensor using Raycasts)
另一种实现传感器的方法是使用射线检测。射线检测的优点是您不需要定义碰撞器,并且可以完全自由地选择要用射线检测检查的层。
由于射线检测传感器没有连接的传感器几何体,您需要从游戏对象的枢轴点定义 Raycast Direction 和 Raycast length(在 realvirtual.io 中通常以毫米为单位)。在游戏视图中,射线检测显示为在仿真启动时自动创建的 Line Renderer。
如果传感器使用射线检测,射线检测总是针对与传感器游戏对象所在相同层的碰撞器进行检查。您可以选择定义额外的射线检测层。
射线检测始终需要在与被检测组件碰撞之前开始。请确保传感器射线检测的起点永远不会位于需要检测的对象内部。

使用碰撞器或射线检测的传感器的通用功能
可以将传感器功能限制为特定的 MU 标签(Tag)。您必须在属性 Limit Sensor To Tag 中输入标签。
可以在 Sensor IO's 部分下检查当前的传感器状态。
请查看 Realvirtual.io 类参考(Class Reference) 了解有关此组件属性和方法的更多信息。
您可以订阅传感器上的 Unity 事件。
Event MU Sensor 在传感器检测到的每个 MU 上调用。
Event Non MU Gameobjet Sensor 针对所有与传感器碰撞但没有 MU 脚本的碰撞器调用。

传感器状态(Sensor Status)
除了传感器的颜色外,您还可以在传感器检视器的 Sensor Status 部分中检查传感器的状态。

Sensor_Standard
Sensor_Standard 组件提供标准传感器行为和与 PLC 输入输出的连接。通过设置属性 NormallyClosed=true 可以选择传感器为 true 且传感器未被占用。
Sensor_Standard 是额外传感器(返回距离、速度等各种值给 PLC)的蓝图。我们建议您使用此模板作为构建自己传感器的基础。
© 2025 realvirtual GmbH https://realvirtual.io - 保留所有权利。未经出版商事先书面许可,不得以任何形式或任何方式(包括打印、保存、影印、录制或其他电子或机械方法)复制、分发或传播本出版物的任何部分。