關於unity實現換裝的幾個難點

2021-08-27 08:56:03 字數 769 閱讀 9599

一.難點一:找到需要換裝的網格元件。因為在人物模型中,有大量的骨骼網格元件,在進行換裝時,需要對他們進行獲取,然後賦予材質。而一般我們會使用的找尋物體的方式,一般有:

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中轉換之前 ...