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属性为正交模式下的口径尺寸