如何使两个物体在碰撞时粘在一起?(单位3d)C#



在我制作的游戏中,我试图让两个游戏对象在碰撞时粘在一起。我试过让第一个成为另一个的孩子,这样当父母移动时,孩子也会跟着移动。但当我这样做时,孩子会传送,他的比例也会改变(我知道这与世界位置/本地位置和世界比例/本地比例有关。孩子的位置和比例会相对于父母的位置和规模发生变化(。但我不知道该怎么解决。如果有人能帮忙,我将不胜感激。(它不一定是父子相关的,我只需要一个干净的修复(

此处的默认解决方案是重新出租。如果你用它来预测意外行为,这通常是一个迹象,表明你在任何一个父链中的某个地方使用了非均匀尺度。最佳实践是永远不要使用具有不同x、y、z因子的量表。如果您需要更改长方体的形状,请确保仅缩放长方体,并有一个伪父对象,您可以将"附加"对象重新分配给它。链中某个位置的缩放不均匀(即,对缩放不均匀的对象进行重新定位(会使旋转/缩放对在链中向下倾斜,虽然当只涉及一个对象时,这可能会产生所需的效果,但在重新定位时,它可能会咬到你。

另外,如果由于任何原因无法解决您的问题,在Unity的新版本中,有一个名为ParentConstraint的组件,它应该可以使您实现相同的效果

最新更新