2、使用Ragdoll替換靜態角色
一、Destroy舊的角色
二、Instantiate設置好的Ragdoll
注意:Instantiate的時候,使用舊角色的position和rotation
3、使用Ragdoll替換帶動畫的角色
//使用GetComponentsInChildren函數得到全部剛體,將其Kinematic屬性去掉便可。
(實踐證實,不管是不是運動學剛體,只要在有動畫的狀況下,必定不受物理影響)
對於沒有CharacterController的模型,在已經添加Ragdoll的狀況下,將角色的Animation組件去除,角色就會變爲Ragdoll。在有動畫播放的狀況下,剛體是不起做用的,即便是非運動學剛體。
在實際操做的時候遇到了幾個問題:
一、爲什麼使用腳本修改Kinematic屬性沒有效果,而在編輯器裏Is Kinematic那個鉤鉤確實鉤上了?
答:因爲剛體處於休眠狀態,須要用WakeUp函數喚醒纔有用,估計是Unity3D在這方面有bug。
二、爲什麼在使用CharacterController的時候,不論如何修改剛體的Kinematic屬性都會出現奇怪的動做?
答:因爲CharacterController會被Collider影響,因此須要將全部的Collider的enable屬性設爲false才能夠似的動畫正常播放。(切記,CharacterController和Ragdoll的Collider不能同時出現,不然CharacterController會受到影響)
三、如何恢復動畫?
答:將Anmiaton組件的enable屬性設置爲true便可。