yukamu 发表于 2022-7-18 21:07

Unity 获取物体Size大小

有下面3种方式可以获取:

//Scale为(0.01, 0.01, 0.01)GameObject go = GameObject.Find(parentPath);Vector3 size_MeshRenderer = go.GetComponent<MeshRenderer>().bounds.size;Debug.Log("---size_MeshRenderer: " + size_MeshRenderer);Vector3 size_Collider = go.GetComponent<Collider>().bounds.size;Debug.Log("---size_Collider: " + size_Collider);Vector3 size_MeshFilter = go.GetComponent<MeshFilter>().mesh.bounds.size;Debug.Log("---size_MeshFilter: " + size_MeshFilter);

打印结果如下:
image.png

由此可见:
通过< MeshFilter >获取的是物体的实际大小;
通过< MeshRenderer >和< Collider >获取的事物体的当前大小,使用时,需要除以父物体的scale才是真实大小,而且y和z坐标也是有区别的。
页: [1]
查看完整版本: Unity 获取物体Size大小