我试图在它们碰撞后将一个GameObject B附加到另一个GameObjectA。
Box Colliders和Rigidbody都附加到两个对象。以下代码启用对象合并:
private void OnCollisionEnter(Collision collision)
{
collision.gameObject.transform.SetParent(transform,true);
}
否则没有其他脚本会影响对象
对象B将按预期作为对象A的父项。但是,在碰撞之后,Mesh Renderer和Box Collider不再相互重叠。为了更好地了解情况,我添加了图片before the collision,while the collision和after the collision。
我还注意到较低的碰撞力也会导致较低的偏移。您是否知道在碰撞后网格渲染器和Box Collider如何仍然可以彼此叠放?
谢谢!
当您将对象B作为对象A的父对象时,其局部变换将乘以A的平移/旋转/缩放比例。解决方案是使对象C为对象A的父对象,该对象的旋转度为0,0,0,比例为1,1,1,当对象A与对象B碰撞时,使C为B的父对象。
ABC一直在碰撞