天天看點

unity 關于模型的邊界框bounds

SkinnedMeshRenderer.Bounds的邊界框預設是不能通過腳本修改的

在有蒙皮骨骼的模型Rig選項中改成Legacy的時候會出現這種情況,這個時候最好選擇genetic導入,可以得到正常的bounds(這個就是渲染邊界)

控制渲染的可見性

這個邊界如果很大(大于模型很多)就會使得模型在屬性面闆不可見,因為模型的中心是把bounds考慮在一起計算的

這個值在編輯器裡是可以修改的,也可以在場景裡手動調整

但是這個值不能通過編輯器調整,因為是隻讀的

如果使用GetComponent<SkinnedMeshRenderer>().bounds.extents.Set(.0f,.0f,.0f);修改會什麼都不發生

這個我感覺unity裡存在問題,因為這樣的修改可讀屬性既不報錯,又不會有任何反應

正如這個文章裡說的

http://forum.unity3d.com/threads/possible-bug-with-bounds.73105/

最後有人問道為什麼可以在編輯器修改,但是不能代碼修改

然後就想到了編輯器類

結果發現都沒法修改 看來最好的方法還是從模型制作上先解決這個問題,特别是放大和縮小的問題

當然有時候有偏移原點動畫這個問題會造成模型突然消失

這是因為模型的原點不在可視範圍内了,如果有偏移原點的動畫這個要注意了

繼續閱讀