unity3d中获得物体的尺寸(size)
获得诸如Plane、Cube的size。
- 可以为它们添加
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;
- 每个物体都有组件
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。
Camera的口径Size
当投影类型为Perspective时,fieldOfView属性表示口径的度数,范围为[1,179];
当投影类型为Orthgraphic,orthographicSize属性为正交模式下的口径尺寸。
原文链接:https://www.cnblogs.com/fm168/archive/2013/04/26/3043947.html