以size的x方向為例
1:gameobject.renderer.bounds.size.x;//這個值的結果真實反應出有meshrenderer這個元件的模型的尺寸。不需要再乘以localscale.x。
2:gameobject.getcomponent().mesh.bounds.size.x;//通過meshfilter獲得原始模型的mesh,該值返回的結果是原始mesh的尺寸。
若要獲得模型的尺寸大小還需要乘以模型的localscale.x。
即:gameobject.getcomponent().mesh.bounds.size.x*gameobject.transform.localscale.x;
3:為物體新增collider,然後使用***.collider.bounds.size;
這個不一定能很好的反應物體的大小,bounds獲得的是物體的外包矩形。而且這個外包矩形的x,y,z和世界座標一致。因此,若物體有旋轉,獲得的尺寸就不能反應出物體的真實大小,只是其外包矩形的大小。。。
如:獲得terrain的尺寸
terrainwidth = terrain.collider.bounds.size.x;
terrainlength = terrain.collider.bounds.size.z;
terrainheight = terrain.collider.bounds.size.y;
4:**實現獲得複雜物體的尺寸(諸如根節點沒有meshfilter,meshrenderer元件,物體是由很多複雜不規則的小mesh子物體組成的)
如:camera的口徑size
當投影型別為perspective時,fieldofview屬性表示口徑的度數,範圍為[1,179]
當投影型別為orthgraphic, orthographicsize屬性為正交模式下的口徑尺寸
unity獲取物體尺寸
以size的x方向為例 1 gameobject.renderer.bounds.size.x 這個值的結果真實反應出有meshrenderer這個元件的模型的尺寸。不需要再乘以localscale.x。2 gameobject.getcomponent mesh.bounds.size.x 通過m...
Unity中物體尺寸獲取
1 gameobject.getcomponent meshrenderer 或 skinnedmeshrenderer bounds.size.x或者是,這種方式獲得是這個物體實際的大小尺寸,不需要再乘以自己或者父級的縮放比例 2 gameobject.getcomponent collider ...
Unity獲取隱藏物體
unity場景中通常有許多隱藏物體,我們需要獲取它並且setactive true 例如,想要使bbb顯示出來。通過gameobject.find bbb 得到乙個空指標。解決方法有兩個 在指令碼中宣告共有變數gameobject,編輯器中直接拖拽賦值,然後setactive true 這種方法可行...