Unity中父子关系变化后产生形变的解决办法

//PS:兴趣使然,开始学习Unity,用博客来记录学习过程中的问题。如若发现有任何错误,欢迎私信纠正。

    在最近设计一个场景的时候,突然发现如果将一个物体拖入作为另一个物体的子物体时,偶尔会突然出现子物体在旋转式发生形变的状况。在网上搜索后,得到了一些答复:

        首先,如果发生了形变,那么一定是你所拖入的子物体的父物体有一定的缩放。而你的子物体在拖入后,会继承(说法可能有误)父物体的形变,由此就会导致出现物体在旋转过程中的不正常变化;

有图为证:Unity中父子关系变化后产生形变的解决办法

如图,这是在正常状态下旋转后所应有的样子。

因为整理需要,在后期拖动时,将其中一个拖入到了另一个物体名下。就变成了这样:

Unity中父子关系变化后产生形变的解决办法

此时我们可以看到父物体的属性是这样的:

Unity中父子关系变化后产生形变的解决办法

没错!就是那个!万恶的Scale导致的。

那么肿么办嘞??

1.我们可以创建一个空物体(大写的PS:这时候一定要注意!有时候为了方便,会直接在某个物体下创建一个空GameObject对吧(没错就是我),但是要注意到,你的空物体的父物体如果有Scale上的缩放,那么你就算将GameObject拖出来,他还是会继承那个缩放,因此一定要记得如果这样干了,那么记得将缩放改为1 1 1)然后再将所需要整合的拖入,这样就很完美。

2.如果,你就是想要一个在另一个下面,那么,同样的,你需要先创建一个空物体,注意事项同上一个。then~将子物体作为空物体的子物体,然后将父物体作为空物体的父物体,emmmm,差不多就是这样的:

Unity中父子关系变化后产生形变的解决办法

那个joint就是我新建的空物体。然后,就完美地解决了略略略~