unity3d中获得物体的尺寸(size)

1:获得诸如Plane、Cube的size。
    1):可以为它们添加Collider,然后使用XXX.collider.bounds.size;该方法获得的size和缩放比例有关,是一一对应的,缩放比例一旦改变,size也改变。

获得terrain的尺寸,在terrain的scale为1的情况下
        terrainWidth = terrain.collider.bounds.size.x;
        terrainLength = terrain.collider.bounds.size.z;
        terrainHeight = terrain.collider.bounds.size.y;
 

    2):每个物体都有组件MeshFilter(网格过滤器),该属组件的size属性可以获得对应的x,y,z方向的长度。
经测试size和缩放比例无关,缩放比例改变size不改变,size记录的是物体的原始尺寸。
    物体的各个方向缩放比例可以通过其transform的localScale来获得,即:XX.transform.localScale.x
     物体的实际尺寸=原始尺寸*缩放比例
float xSize=XX.GetComponent<MeshFilter>().mesh.bounds.size.x*XX.transform.localScale.x;
 
 说明:一般用方法2.
 
2:Camera的口径Size
当投影类型为Perspective时,fieldOfView属性表示口径的度数,范围为[1,179]
当投影类型为Orthgraphic,     orthographicSize属性为正交模式下的口径尺寸

原文地址:https://www.cnblogs.com/fm168/p/3043947.html