API文档 — realvirtual 命名空间参考
realvirtual命名空间包含了realvirtual.io框架的所有核心类和接口。该命名空间提供了用于工业自动化仿真的完整组件体系,涵盖驱动控制、传感器、路径系统、PLC通信、人机界面、CAD集成、机器人控制等功能模块。
完整API参考:https://realvirtual.io/apidoc/namespacerealvirtual.html
核心架构
| 类 | 描述 |
realvirtualBehavior | 所有Game4Automation对象的基类,为所有组件提供额外的脚本和属性。 |
realvirtualController | 每个realvirtual场景中必须存在的对象,控制主要的中央数据并管理场景的主要设置。 |
Global | 全局类,提供框架级功能。 |
GlobalProfessional | Global类的专业版扩展。 |
Logger | realvirtual框架的静态日志类,自动包含层次路径信息。 |
Connection | 保存信号-行为的连接信息(信号连接到的位置和属性)。 |
BehaviorInterface | 所有带有PLC信号连接的行为模型的基类。 |
ControlLogic | 模型中所有控制逻辑的基类,用于在realvirtual层次窗口中显示类型。 |
驱动系统
| 类 | 描述 |
Drive | 控制GameObject的线性和旋转运动,提供精确的位置、速度和加速度控制。 |
Drive_Simple | 为Drive组件提供基本双向控制,支持PLC集成。 |
Drive_Speed | 智能驱动行为模型,接收目标位置并移动到目标。 |
Drive_ContinousDestination | 智能驱动行为模型,接收目标并持续移动。 |
Drive_DestinationMotor | 为Drive组件提供位置控制的运动。 |
Drive_Cylinder | 模拟Drive组件的气动或液压缸行为。 |
Drive_FollowPosition | 驱动精确跟随PLC给定位置的行为模型,适用于连接运动控制器和机器人控制器。 |
Drive_Gear | 通过齿轮连接到另一个驱动的驱动行为模型。 |
Drive_MeasureSpeedPosition | 可连接到Drive的缸体运动行为模型。 |
Drive_PositionSwitch | 基于驱动位置范围控制布尔信号,支持循环驱动。 |
Drive_Sequence | 定义驱动的顺序运动,可设置信号或由信号启动。 |
ForceDrive | 基于关节和力移动刚体。 |
Axis | 定义驱动和运动系统的运动学和物理运动轴。 |
夹持系统
| 类 | 描述 |
Grip | 用于通过机器人或夹具等移动机构附加和运输MU的夹持组件。 |
Grip_SingleIO | 单IO夹持组件。 |
Gripper | 为机器人拾取和放置操作提供完整夹持功能的组件。 |
GripTarget | 由Grip组件精确放置MU的标记组件。 |
Fixer | 用于将MU固定到自动化系统中特定位置或表面的组件。 |
路径与运输系统
| 类 | 描述 |
Line | 实现直线路径段,用于构建复杂的物料运输网络。 |
Curve | 实现曲线路径段,用于平滑物料流过渡。 |
PathChain | 实现沿复杂路径网络的连续链驱动运输系统。 |
PathMover | 使物料搬运单元能够沿复杂路径网络进行智能自主运动。 |
Chain | 创建连续循环运输系统,元素沿样条定义的路径运动。 |
ChainElement | 表示连续链运输系统中的单个链接、斗或载体。 |
ChainUnitySpline | 使用Unity Splines为Chain组件提供基于样条的路径定义。 |
ConveyorBelt | 提供工业传送带系统的高级视觉表现,带有真实的皮带动画。 |
PickFromConveyor | 通过控制连接的Drive,在盒碰撞器内的最佳位置停止MU。 |
GuidedMU | 使MU对象能够使用物理约束沿引导运输表面运动。 |
KinematicMU | 在引导表面上实现基于物理的物料单元运输,具有自动路径跟随和过渡功能。 |
GuideLine | 为运动系统提供线性路径引导。 |
GuideCircle | 为运动系统提供圆形路径引导。 |
BaseStation | 为基于路径的物料搬运系统提供智能工作站控制。 |
CAM系统
| 类 | 描述 |
CAM | 实现电子凸轮功能,用于自动化系统中同步主从驱动控制。 |
CAMTime | 基于CAM配置文件移动驱动的CAM。 |
机器人系统
| 类 | 描述 |
IKPath | 通过基于目标的路径规划和工业插值模式编排复杂的机器人运动序列。 |
IKTarget | 定义精确的机器人目标位置和工业运动参数。 |
IKCalculatorBurst | 管理Burst编译的IK计算器,使用持久化NativeArray。 |
IKJobManager | 跨多个机器人并行IK作业执行的集中管理器。 |
LogicMove3AxisPickAndPlace | 使用三个驱动控制3轴拾取和放置自动化序列。 |
逻辑步骤系统
| 类 | 描述 |
LogicStep | 定义顺序或并行自动化逻辑的所有逻辑步骤的基类。 |
LogicStep_Delay | 在继续下一步之前引入时间延迟的逻辑步骤。 |
LogicStep_DriveTo | 将驱动移动到指定目标位置并等待完成的逻辑步骤。 |
LogicStep_StartDriveTo | 启动驱动移动到目标位置但不等待完成的逻辑步骤。 |
LogicStep_WaitForDrivesAtTarget | 等待驱动到达目标的逻辑步骤。 |
LogicStep_GripPick | 触发Grip组件拾取(固定)MU的逻辑步骤。 |
LogicStep_GripPlace | 触发Grip组件放置(释放)所有当前夹持的MU的逻辑步骤。 |
LogicStep_JumpOnSignal | 基于信号值条件跳转到另一个命名步骤的逻辑步骤。 |
LogicStep_ParallelContainer | 并行执行所有子逻辑步骤的逻辑步骤容器。 |
LogicStep_SerialContainer | 串行执行子逻辑步骤的容器。 |
LogicStep_SetSignalBool | 将布尔信号设置为指定值并立即继续的逻辑步骤。 |
LogicStep_WaitForSensor | 等待传感器达到特定占用状态后再继续的逻辑步骤。 |
LogicStep_WaitForSignalBool | 等待布尔信号满足条件的逻辑步骤。 |
LogicStopDriveOnSensor | 当传感器检测到物体时自动停止驱动。 |
PLC信号系统
| 类 | 描述 |
PLCInputBool | PLC布尔输入信号 — 表示从仿真到PLC的数据。 |
PLCInputFloat | PLC浮点输入信号 — 表示从PLC到仿真的数据。 |
PLCInputInt | PLC整数输入信号 — 表示从仿真到PLC的32位整数输入信号。 |
PLCOutputBool | PLC布尔输出信号 — 表示从PLC到仿真的数据。 |
PLCOutputFloat | PLC浮点输出信号 — 表示从仿真到PLC的数据。 |
PLCOutputInt | PLC整数输出信号 — 从PLC到仿真的32位整数输出信号。 |
PLCInputText | PLC文本输入信号。 |
PLCOutputText | PLC文本输出信号。 |
PLCInputTransform | PLC变换输入信号。 |
PLCOutputTransform | PLC变换输出信号。 |
ConnectSignal | 将PLCOutput连接到PLCInput的行为模型。 |
通信接口
| 类 | 描述 |
OPCUA_Interface | 用于连接工业自动化中使用的OPC UA服务器的OPC UA客户端接口。 |
OPCUA_Node | 用于访问OPC UA服务器上单个数据点的OPC UA节点组件。 |
EthernetIPInterface | 用于与Allen-Bradley/Rockwell Automation PLC通信的高性能EtherNet/IP接口。 |
MitsubishiMcpXInterface | 使用MC协议与三菱PLC高性能通信的接口。 |
ModbusInterface | 使用Modbus协议与工业设备通信的Modbus TCP/RTU接口。 |
KebaInterface | 使用JSON消息格式的Keba自动化控制器WebSocket接口。 |
KukaInterface | 与KUKA机器人控制器通信的KUKA TCP/IP接口。 |
FanucInterface | FANUC控制器接口。 |
FestoInterface | 使用RSC数据访问API的Festo PLCnext控制器接口。 |
MU(可移动单元)系统
| 类 | 描述 |
MU | MU(可移动单元)表示作为产品、零件或组件在自动化系统中移动的物理对象。 |
MUCounter | 在场景中以UI文本显示当前MU计数。 |
MUSwitcher | 基于传感器检测动态切换MU内分组GameObject的可见性。 |
Cutter | 在仿真运行时动态切割MU网格的组件。 |
PartChanger | 动态切换零件不同视觉表示的组件。 |
MaterialChanger | 基于各种触发条件在两种材质之间动态切换。 |
CAD与模型管理
| 类 | 描述 |
CAD | 存储综合CAD元数据,用于智能模型同步和工业项目中的版本管理。 |
CADChecker | 检查网格数据。 |
CADLink | 导入CAD数据(Step和3MF)的接口。 |
CADUpdater | 智能同步CAD模型更新,同时保留Unity特定的修改和组件分配。 |
AssetID | 用于通过集合和名称识别和分类realvirtual组件的AssetID组件。 |
MeshOptimizer | 优化3D网格复杂度以提高性能,同时保持工业模型的视觉质量。 |
MeshCombiner | 包含合并网格的方法。 |
LODGenerator | 包含为GameObject生成LOD(细节级别)的方法。 |
PerformanceOptimizer | 通过智能合并静态网格为优化批次来大幅提升运行时性能。 |
GLB导入/导出
| 类 | 描述 |
GLBManager | 提供导出和导入带有realvirtual元数据的GLB文件的集中功能。 |
GLBStreamingImporter | 执行真正的异步GLB导入,增量加载以避免阻塞主线程。 |
GLBMetadata | 保存从GLB文件提取的元数据。 |
BatchGLBExporter | 将GameObject的所有直接子对象批量导出为单独的GLB文件。 |
人机界面
| 类 | 描述 |
HMI | 工业人机界面组件的基础,为自动化系统提供交互控制。 |
HMI_Controller | 为工业HMI系统集中管理相机控制和交互,支持多视图功能。 |
HMI_DropDown | 生成带有选项列表的下拉菜单的HMI预制件。 |
HMI_Pushbutton | 具有PLC信号集成和多状态视觉反馈的工业按钮HMI组件。 |
HMI_Slider | 定义HMI滑块的类。 |
HMI_Switch | HMI开关组件。 |
HMI_Text | HMI文本元素。 |
HMI_Value | 显示浮点或整数值的HMI元素。 |
相机系统
| 类 | 描述 |
CameraDirector | 使用Cinemachine时控制相机的小工具。 |
CameraFlyBetweenPoints | 以可配置的速度和缓动在两点之间平滑飞行相机。 |
CameraFollowObject | 控制相机跟随特定GameObject。 |
CameraPos | 用于保存相机位置(用户视图)的可脚本化对象。 |
3D交互
| 类 | 描述 |
Interact3D | 将可连接到信号的按钮或灯光添加到3D场景。 |
PushButton3D | 3D按钮。 |
EmergencyButton3D | 3D急停按钮。 |
HandleSwitch3D | 3D把手开关。 |
Lamp | 在工业自动化仿真中创建视觉状态指示器的灯组件。 |
FirstPersonController | 第一人称控制器。 |
网络与多用户
| 类 | 描述 |
NetworkInitializer | 为协作多用户仿真环境初始化和管理网络组件。 |
NetworkDrive | 网络驱动组件。 |
NetworkMU | 网络MU组件。 |
NetworkSensor | 网络传感器。 |
NetworkSignal | 网络信号。 |
测量与诊断
| 类 | 描述 |
Measure | 实时计算和监控GameObject之间距离的组件。 |
MeasureCommunicationPerformance | Unity-PLC接口的综合通信性能测量。 |
MeasurePLCCycleTime | PLC周期时间测量。 |
MeasureRaycast | 使用Unity的射线系统进行传感器模拟的距离测量。 |
MeasureForce | 测量作用在Unity关节上的力和扭矩。 |
关键接口
| 接口 | 描述 |
IDriveBehavior | Drive行为接口,确保FixedUpdate的保证序列。 |
IGuide | 定义物料运输系统中路径引导组件的接口。 |
IGuidedSurface | 定义为物料单元提供路径引导的运输表面的契约。 |
IRobotController | 机器人控制器接口。 |
ISelectable | 可选择接口。 |
ISourceCreated | Source的事件方法接口,在所有实现ISourceCreated的组件上调用。 |
ITestCheck | 测试检查接口。 |
ITimeSyncedPhysics | 需要时间同步物理更新的组件接口,用于外部时间同步。 |
IOverlayButton | 所有覆盖按钮必须实现的接口。 |
统计概览
- 类(Classes): 300+
- 结构体(Structs): 8个(包括
BlendShape、BlendShapeFrame、CollisionGroupEntry、LODLevel、RaycasterResult、DataField、IKCalculatorJob)
- 接口(Interfaces): 40+
- 主要协议: OPC UA、EtherNet/IP、Modbus TCP/RTU、三菱MC Protocol、Keba、KUKA、FANUC、Festo
完整API参考请访问 https://realvirtual.io/apidoc/namespacerealvirtual.html。