运行中实时交互

仿真运行过程中,FlexGym 支持对运行中的刚体进行交互式拖拽控制。它不是普通编辑态的移动工具,而是在运行态对某个对象施加临时控制输入。

当前支持两种模式:

  • Ctrl + 右键拖拽:对已选中的 body 施加力。
  • Ctrl + 左键拖拽:对已选中的 body 施加扭矩。

拖拽开始后,界面会显示一个从刚体锚点到鼠标拖拽点的可视化标记。这个标记表示当前交互输入的位置和方向。

实时拖拽交互

使用步骤

  1. 先启动仿真,等待第一帧运行结果返回,运行中交互控制才会开启。
  2. 在场景中选中一个可运行控制的刚体。
  3. 按住 Ctrl,使用右键拖拽施加力,或使用左键拖拽施加扭矩。
  4. 松开鼠标后,拖拽控制结束。

生效条件

运行中交互控制通常需要满足:

  • 仿真正处于运行中。
  • 已经收到至少一帧运行结果。
  • 当前对象能对应到运行中的刚体。
  • 用户按住 Ctrl 并在视图区进行对应鼠标操作。
  • 当前仿真尚未结束或取消。

如果没有选中可控制刚体,或者仿真已经结束,拖拽不会生效。

常见问题

拖拽方向和预期不一致。
检查当前相机视角、鼠标拖拽方向和刚体锚点位置。必要时切换视角后再操作。

拖拽后物体表现过于夸张。
优先检查物体质量、阻尼、碰撞体、时间步和子步数。过小质量或不稳定接触会放大临时输入的效果。