unity获得模型大小
(1)通过对模型添加的Collider碰撞器,例如该模型为m_target;得到该模型的大小,m_target.collider.bounds.size;注意此方法获得的大小,和缩放一 一对应的,一旦缩放改变获得的size也会相应的改变;
m_target.GetComponent<Collider>().bounds.size.x;
m_target.GetComponent<Collider>().bounds.size.y;
m_target.GetComponent<Collider>().bounds.size.z;
(2)每个模型都有MeshFilter(网格过滤器);通过这个组件的size属性获得物体的大小;
然后在于该物体的transform.lossyScale相乘得到该物体的实际大小;
例如:
Vector3 bounds= transform.GetComponent<MeshFilter>().mesh.bounds.size;
float x = bounds.x * transform.lossyScale.x;
float y = bounds.y * transform.lossyScale.y;
float z = bounds.z * transform.lossyScale.z;
即:模型的实际大小=模型的尺寸*模型的缩放;
一般采用这个方法。
是不是觉得很简单,本人也是新学着,有什么意见可以提一下哈!