【问题标题】:How can I freeze / constraint a PhysicsBody's rotation in Unity DOTS?如何在 Unity DOTS 中冻结/约束 PhysicsBody 的旋转?
【发布时间】:2022-10-21 11:05:36
【问题描述】:

我试图从 Unity Engine 移植一个小型测试项目,以了解 Unity New Fishers DOTS && ECS。

这是一个小项目,我有一个带有Rigidbody 的胶囊,我使用加力将它从左向右移动,并限制速度以限制速度。

我正在尝试在 DOTS 上“冻结特定旋转”。

如果没有 DOTS,Unity 有一种“正常”的方式来约束 Rigidbody 的位置和旋转。

但是如果我们使用 DOTS 我不能使用 Rigidbody 因为 DOTS 使用 PhysicsBody 并且我没有找到任何方法来冻结/约束某些旋转。

如何在 DOTS 中限制PhysicsBody 的旋转?

【问题讨论】:

  • 似乎答案是使用Joints 参见例如this thread ... 一般来说,在寻找 constraint 而不是 freeze 时,您会发现更多结果 .. 尝试搜索 Unity DOTS constraint PhysicsBody 虽然公平:在那个方向似乎不存在太多

标签: unity3d unity-dots unity-ecs


【解决方案1】:

我正在研究同一问题的答案,并设法在统一论坛上找到它。

TRS6123's answer from a Unity Forum

在物理体的“高级”属性下方,您可以选中“覆盖默认质量”。选中后,您可以覆盖 float3 值“惯性张量”。将一个轴组件设置为“无限”会锁定沿该轴的旋转。

我按照他的指示做了,现在它对我来说就像一种魅力。

【讨论】:

  • 如果可能,请直接将实际答案放在堆栈溢出上,而不是链接到它。这可以防止链接失效和类似问题,并使阅读答案更加方便。链接到图像特别有问题,因为无法复制文本并且它具有糟糕的可访问性。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-26
  • 2020-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多