最近由于项目需要,需要在场景中不停地变化父子关系。
结果在多次父子关系改变之后,发现场景中的物体出现了变形,例如本来的圆柱形状的物体变成了扁平,并且物体的位置也发生了改变。
经过研究发现是由于改变父子关系后,子物体相对于父物体的scale有所变化所致。
在父子关系变化次数不多的情况下,这种改变极小可以忽略不计,而当改变次数很多时,之前变动的小误差会被逐步放大,到达一定次数后产生不可描述的影响。
解决方法:
由于我的程序里的父子关系基本就是在两种父子关系中不断切换,所以我就在start函数中将两种父子关系下每个物体相对于父物体的transform.localscale值记录一下,在父子关系改变后,将记录的值重新赋给每个物体,这样就可以保证无论改变多少次父子关系,各物体的scale不发生变化。
就酱~