Unity3d 如何将力传递给统一的子刚体?
我有几个Unity3d 如何将力传递给统一的子刚体?,unity3d,physics,Unity3d,Physics,我有几个刚体(A、B、C)与关节连接在一起。 A是父对象,B是子对象,C是B的子对象,示意图给出了:A-joint-B-joint-C 为人父母似乎对物理学没有任何影响。 另外,当我给a加一个力,B相对于a旋转,C相对于B旋转,那么B和C的移动都比较晚。即使使用fixedJoint,这也是不现实的。即使通过增加解算器迭代次数,它仍然远远不够好 是否有一个设置,使施加到a的力分布在a、B和C之间,使组像一件事一样移动?固定关节确实使连接的对象充当单个实体(具有可选限制)。但是,如果仅对其中一个对象
刚体
(A、B、C)与关节连接在一起。
A是父对象,B是子对象,C是B的子对象,示意图给出了:A-joint-B-joint-C
为人父母似乎对物理学没有任何影响。
另外,当我给a加一个力,B相对于a旋转,C相对于B旋转,那么B和C的移动都比较晚。即使使用fixedJoint
,这也是不现实的。即使通过增加解算器迭代次数,它仍然远远不够好
是否有一个设置,使施加到a的力分布在a、B和C之间,使组像一件事一样移动?固定关节确实使连接的对象充当单个实体(具有可选限制)。但是,如果仅对其中一个对象应用力,并且该对象的质心与整个部件的质心不在同一位置,则会(而且应该)引入旋转运动 我可以想到两种方法: 一种方法是将力分成多个部分,每个部分具有相同的方向,但大小与它将应用到的对象的质量成比例(总和F=总F)。然后将这些力应用于部件中的每个对象 另一种方法是计算对象集合的重心,并使用该函数,而不是基本的
ApplyForce
函数
我应该提到,我在使用层次结构和关节将对象连接在一起时运气不佳。因此,如果可以的话,我建议避免使它们成为彼此的子对象。固定关节确实使连接的对象充当单个实体(具有可选限制)。但是,如果仅对其中一个对象应用力,并且该对象的质心与整个部件的质心不在同一位置,则会(而且应该)引入旋转运动 我可以想到两种方法: 一种方法是将力分成多个部分,每个部分具有相同的方向,但大小与它将应用到的对象的质量成比例(总和F=总F)。然后将这些力应用于部件中的每个对象 另一种方法是计算对象集合的重心,并使用该函数,而不是基本的
ApplyForce
函数
我应该提到,我在使用层次结构和关节将对象连接在一起时运气不佳。所以,如果可以的话,我建议避免让他们成为彼此的孩子