AGX Physics(AGX 物理引擎)

⚠️

AGX Dynamics for Unity(AGX Dynamics for Unity)不是 realvirtual.io 交付安装本身的一部分。AGX Dynamics for Unity(AGX Dynamics for Unity)由 Algoryx 销售和分发。

从 realvirtual.io 2021.02 开始,realvirtual.io 也支持 AGX Dynamics for Unity(AGX Dynamics for Unity)。AGX 是一个商业化的可选高质量物理仿真引擎,可以仿真复杂的动力学系统。

基于 AGX 的传送带示例上的多接触点

AGX Dynamics for Unity(AGX Dynamics for Unity)完全替代了 Unity内置的游戏物理引擎,使您能够使用真实物理、测量真实力并期望获得现实的结果。更多信息请访问 AGX Dynamics Website

基于 AGX 物理引擎的柔性线缆和部件

使用 AGX 可以以工程级质量仿真过程。主要优点是可以测量真实力并检测物体之间的多个接触点。这使得例如非常详细的传送带仿真成为可能,还可以仿真部件同时处于多个不同传送带上时的行为。

安装

要在 realvirtual.io 中使用 AGX Dynamics for Unity(AGX Dynamics for Unity),您还需要安装 AGX Dynamics for Unity(AGX Dynamics for Unity)插件。请查看 AGX 文档以获取更多安装信息:https://us.download.algoryx.se/AGXUnity/documentation/current/getting_started.html#installing-the-plugin

使用 AGX Dynamics for Unity(AGX Dynamics for Unity)需要许可证密钥。请查看 AGX Dynamics Website 以获取有关 AGX 试用和许可的更多信息。

安装 AGX Unity插件后,您需要通过选择 File > Build Settings > Player > Script Compilation 来激活它。

在此处您需要添加脚本定义符号 REALVIRTUAL_AGX

AGX 物理引擎的 Scripting Define 符号

realvirtual.io 的 AGX 支持

Realvirtual.io 不会像标准 realvirtual.io 组件那样自动向 GameObject 添加 AGX 物理组件。您必须按照如下所述手动添加所有必需的 AGX 组件。

ℹ️

AGX 和 Unity Physics 在场景中并行运行。可以在场景中某些部分使用 Unity PhysX 仿真,其他部分使用 AGX 引擎,但不允许在一个 GameObject 上同时放置 AGX 和 Unity RigidBody。

Source 和 MU(Movable Unit)

要在 Source 中启用 AGX,需要在 Source 中打开 Use AGX Physics

ℹ️

如果 Source 中看不到 Use AGX Physics 等 AGX 特定属性,请检查是否按照上述方式在 Player 设置中添加了 GAME4AUTOMAION_AGX 编译器定义。

在 Source 中使用 AGX

此外,所有 MU(Movable Unit)都需要添加 AGX Shape Collider(例如 Box Collider)和 AGX RigidBody。请查看 AGX Unity插件文档(https://us.download.algoryx.se/AGXUnity/documentation/current)以获取关于这些组件的更多信息。

Source 上的 AGX 碰撞体和刚体

Drive

realvirtual.io 驱动 可以移动机械轴。轴在 AGX 中通过 Constraint 定义,例如类型 Hinge。需要在约束中打开 Lock Controller。驱动本身需要设置为 Virtual(因为方向由 AGX Constraint 本身定义)。

带 AGX 物理的 Drive

Transportsurface(传输面)

在 realvirtual.io 中,传送带通过连接到 Transportsurface(传输面)驱动 建模。这保持不变。在 TransportSurface(传输面) 上需要打开 Use AGX Physics

带 AGX 物理的 TransportSurface

AGX Transportsurface(传输面)的主要优势是一个 MU(Movable Unit) 可以同时接触多个 Transportsurface(传输面),并且 MU(Movable Unit)的结果运动被精确计算。使用 Unity PhysX 引擎时仅计算一个接触点,这意味着 MU(Movable Unit) 永远不会同时接触多个 Transportsurface(传输面),这对于非常详细的仿真来说是一个缺点。

Sink

Sink 必须检测要被销毁的部件。必须启用 Use AGX Physics 并向 Sink 添加 AGX Box Collider。

带 AGX 物理的 Sink

传感器

您也可以在 AGX 物理中使用基于射线投射的传感器。需要在您的 MU(Movable Unit)上添加一个标准 Unity Collider,图层为 g4a SensorMU

⚠️

不要向您的 MU(Movable Unit)添加 RigidBody,因为这会违反 AGX Physics(AGX 物理引擎)引擎。请确保在需要检测基于 AGX 的 MU(Movable Unit)的所有传感器中使用射线投射。realvirtual.io 基于碰撞器的传感器无法与 AGX Physics(AGX 物理引擎)引擎结合使用。

传感器射线投射设置(另请参见 Sensor)。

将基于射线投射的传感器与 AGX 物理引擎一起使用

© 2025 realvirtual GmbH https://realvirtual.io - All rights reserved. No part of this publication may be reproduced, distributed, or transmitted in any form or by any means, including printing, saving, photocopying, recording, or other electronic or mechanical methods, without the prior written permission of the publisher.