1

我知道如何使用 ConfigurableJoint 制作轴对齐的棱柱关节。对于沿 x 轴的棱柱关节,我可以执行以下操作:

ConfigurableJoint joint;
joint.angularXMotion = ConfigurableJointMotion.Locked;
joint.angularYMotion = ConfigurableJointMotion.Locked;
joint.angularZMotion = ConfigurableJointMotion.Locked;
joint.angularYMotion = ConfigurableJointMotion.Locked;
joint.angularZMotion = ConfigurableJointMotion.Locked;
joint.axis = Vector3.right;

其他轴对齐的关节同样容易。但是,如果我想沿轴制作一个棱柱形关节,例如 (1/sqrt(3)、q/sqrt(3)、1/sqrt(3)),该怎么办。有没有办法做到这一点?

4

1 回答 1

0

X、Y、Z 属性(如 xMotion、angularYMotion 等)不参考世界空间或对象空间坐标的 X、Y、Z 轴。它们指的是您使用axis和定义的关节自己的坐标系secondaryAxis

  • axis属性定义关节的 X 轴
  • secondaryAxis定义关节的 Y轴
  • 关节的 Z 轴由 X 和 Y 计算得出

所以基本上,你只需要定义你想要的 X 轴:

joint.axis = new Vector3(x, y, z); // defines the X axis, relative to the object's space
于 2018-02-01T20:09:48.223 回答