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屬性為正交模式下的口徑尺寸


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM