一.難點一:找到需要換裝的網格元件。因為在人物模型中,有大量的骨骼網格元件,在進行換裝時,需要對他們進行獲取,然後賦予材質。而一般我們會使用的找尋物體的方式,一般有:
1.通過父物體找子物體,通過名字,或者索引找到子物體,然後獲取其元件。如
transform eyes = transform.find("eyes");//找到該物體下的子物體
2.通過標籤獲得物體,事先設定好標籤(tag),然後獲取
gameobject eyes = gameobject.findwithtag("eyes");
3.直接設定公開,然後賦予,這種方法更麻煩一點,效率也不高。
public skinnedmeshrenderer eyesskinnedmeshrenderer;
4.通過第一種方法,遍歷子物體,獲得乙個陣列或者鍊錶,收集到所有網格元件。這個算是一種優化,可以作為一種衍生的演算法。
二.載入資源,載入資源的話,一般我會用resources.load()這個方法,通過寫乙個方法實現:
public
enum changetype
******mono類********
private material loadrescourcestest(changetype changetype, string color)
return m;
}
直接返回材質後面進行賦予就可以了。 Unity3D角色換裝實現原理及步驟
1 角色模型製作 unity3d支援skin動畫,但是不支援physique動畫,會發現physique動畫在unity裡嚴重變形,因此在模型的骨骼動畫的製作上面 要用skin,當然也可以做成physique,然後用外掛程式轉換一下 3dsmax的外掛程式phytoskin,3dsmax中轉換之前 ...
Unity3d 3d角色換裝實現原理及步驟
1 角色模型製作 unity3d支援skin動畫 但是不支援physique動畫 會發現physique動畫在unity裡嚴重變形 因此在模型的骨骼動畫的製作上面 要用skin 當然也可以做成physique 然後用外掛程式轉換一下 3dsmax的外掛程式phytoskin 3dsmax中轉換之前 ...
Unity3d 3d角色換裝實現原理及步驟
1 角色模型製作 unity3d支援skin動畫 但是不支援physique動畫 會發現physique動畫在unity裡嚴重變形 因此在模型的骨骼動畫的製作上面 要用skin 當然也可以做成physique 然後用外掛程式轉換一下 3dsmax的外掛程式phytoskin 3dsmax中轉換之前 ...