Unity中transform.SetParent()和transform.parent的区别

先直接看测试数据:
下图脚本是挂在一个UI的Panel上的,Panel上的的两个子物体分别是UI Image,3D物体 Cube

  • Image测试
    Unity中transform.SetParent()和transform.parent的区别
  • Cube测试
    Unity中transform.SetParent()和transform.parent的区别
  • 两者测试结果
    Unity中transform.SetParent()和transform.parent的区别
  1. 从测试数据循环10000次SetParent用时几乎为零,而.parent相对来说耗时巨大,可以看出使用SetParent比.parent的耗时更短,效率高出很多;
  2. 并且从Image和Cube分别把Panel设为父物体可以看出,SetParent的效率上只体现在UI组件设定父物体的时候, .parent对3D物体的效率几乎没有影响;
结论:在UI中设为父物体的方法中最好使用transform.SetParent()方法,而对3D物体而言两种方法在效率上没有很大区别。