我知道如何使用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))。有没有办法让这种情况发生?
答案 0 :(得分:0)
X,Y,Z属性(如xMotion,angularYMotion等)不是指世界空间或对象空间坐标的X,Y,Z轴。它们引用您使用axis
和secondaryAxis
定义的关节自己的坐标系:
axis
属性定义关节的X轴secondaryAxis
定义关节的Y轴所以基本上,你只需要定义你想要的X轴:
joint.axis = new Vector3(x, y, z); // defines the X axis, relative to the object's space