此博文將一步一步的帶領(lǐng)你了解Unity中的導(dǎo)入、動(dòng)畫(huà)以及將角色看做一個(gè)玩家進(jìn)行控制。它是針對(duì)三維包定制的,因此,不論你使用Max,Maya,Blender還是其他支持建模的軟件,都可以找到你所需要將角色模型變成Unity場(chǎng)景中玩家的方法。案例素材將提供所有控制角色所需要的動(dòng)畫(huà),當(dāng)然你也可以添加自己的。在此例中我受到Barberlla、Soroyama和Metropolis的影響創(chuàng)作了一個(gè)Lola3000角色,通過(guò)科幻城市中的一個(gè)高明場(chǎng)景的漂浮島嶼,將她放到真實(shí)生活中去。
下面開(kāi)始準(zhǔn)備和配置你的角色吧,在添加BlendShapes之前,進(jìn)行驗(yàn)證并且將你的配置導(dǎo)入U(xiǎn)nity中。之后我們會(huì)創(chuàng)建一些材料以及著色器,這樣你就可以讓你的角色看起來(lái)完美無(wú)缺。之后我們會(huì)創(chuàng)建一個(gè)分身來(lái)匹配你的角色配置,并且用Unity的案例素材使用第三人稱控制器來(lái)為動(dòng)畫(huà)創(chuàng)建它。我們會(huì)在自定義的動(dòng)畫(huà)里加載并且創(chuàng)建一個(gè)blendshape層來(lái)加深自定義的角色。最后我們會(huì)添加光線并且配置環(huán)境和照相機(jī)來(lái)完善可視方面的問(wèn)題。
1準(zhǔn)備模型
Unity是一個(gè)實(shí)時(shí)平臺(tái),因此在違背相關(guān)原則情況下盡量讓模型美觀。命名素材以及紋理的細(xì)度,為額外細(xì)節(jié)使用標(biāo)準(zhǔn)地圖。沒(méi)有多變限制,但是使用的越多,華仔環(huán)境,F(xiàn)X以及其他角色上的就越少。5-25000是一個(gè)不錯(cuò)的范圍,這都是基于平臺(tái)的,因此盡量在三維環(huán)境中利用工具減少多邊形的個(gè)數(shù)。在Unity項(xiàng)目的assets文件夾里放置紋理,并且在導(dǎo)出的時(shí)候重新制定路徑。
2 配置角色
此部分主要依賴于你的三維包,技巧以及時(shí)間。一旦模型準(zhǔn)備完畢,你可以從頭開(kāi)始創(chuàng)建一個(gè)骨架,賦予皮膚權(quán)值,使用三維包的內(nèi)置工具來(lái)生成并將比附弄到骨架上面,或者使用類似Mixamo Autorigger這樣的全自動(dòng)解決方案。例如,在Maya里,使用Human IK,3DSMax有沿著皮膚配置的Biped/CAT,著色器提供了Rigify,一些例子用來(lái)創(chuàng)建骨架層次并且輔助皮膚覆蓋。可以查看Mecanim了解更多詳細(xì)信息
http://docs.unity3d.com/Documentation/Manual/Preparingacharacterfromscratch.html
3 創(chuàng)建BlendShape
Unity支持BlendShape,因此需要決定角色哪部分需要構(gòu)造,并恰當(dāng)?shù)脑诎飫?chuàng)建,在Maya里是用BlendShapes,在3DS Max中是Morpher,在Blender里是用Shape Keys。這通常在音素形狀中使用,當(dāng)運(yùn)動(dòng)說(shuō)話人的臉時(shí),通過(guò)賦予構(gòu)造相同數(shù)量的頂點(diǎn)到一個(gè)目標(biāo)來(lái)實(shí)現(xiàn),這樣你就可以在不同版本間獲取不同形狀而不用運(yùn)動(dòng)一個(gè)復(fù)雜的骨架層次。
4 驗(yàn)證并導(dǎo)出
這部分對(duì)于減少錯(cuò)誤很重要,并且能在之后創(chuàng)建模型的時(shí)候減少麻煩。將沒(méi)用的網(wǎng)格和額外類似亮度或者照相機(jī)這樣的素材從場(chǎng)景中刪掉,或者簡(jiǎn)單的使用在三維包允許的時(shí)候?qū)С鏊x。盡量使用FBX文件格式,以便文件便攜性和簡(jiǎn)單性。如果你有自己的動(dòng)畫(huà)片段,確保在導(dǎo)出對(duì)話框里檢查動(dòng)畫(huà)勾選框。重新導(dǎo)入你導(dǎo)出的模型到三維包中是驗(yàn)證模型的好方法。
5 導(dǎo)入模型
可以將FBX拖放到項(xiàng)目里,如果此時(shí)已經(jīng)導(dǎo)出了,則模型會(huì)自動(dòng)撿起??梢栽陧?xiàng)目瀏覽器中選擇模型并且在查看器面板里創(chuàng)建選項(xiàng)??赡苣銜?huì)將這大多數(shù)設(shè)置為默認(rèn)的,但是還是要檢查尺度參數(shù),因?yàn)槌叨热Q于你三維包里使用的單位以及你的導(dǎo)出設(shè)置。點(diǎn)擊應(yīng)用并將模型拖拽到場(chǎng)景中??梢詣?chuàng)建一個(gè)立方體來(lái)確保尺度是正確的,之后可以再調(diào)整。
6 在Unity中建立材料
在場(chǎng)景中選擇角色,并且在查看器中觀察相關(guān)的材料,這些應(yīng)該在你模型導(dǎo)出的material文件夾里創(chuàng)建的。每個(gè)材料都有一個(gè)關(guān)于著色器的下拉,選擇合適的就行。例如碰撞反射,這樣就可以定義一個(gè)基礎(chǔ)顏色和反射顏色,以及為擴(kuò)散目的的紋理地圖,透明度通道的光澤,以及一個(gè)添加表面信息的標(biāo)準(zhǔn)地圖。反射性材料同時(shí)也有一個(gè)為反射賦值的立方地圖,可以在Unity編輯器或者實(shí)時(shí)動(dòng)態(tài)反射中繪制。
7 創(chuàng)建一個(gè)分身
導(dǎo)入角色模型后需要應(yīng)用一個(gè)分身。這里會(huì)將你的骨骼應(yīng)用到任何一個(gè)使用人動(dòng)畫(huà)的分身上。在項(xiàng)目面板里選擇角色模型FBX文件。選擇配置列表并選擇人動(dòng)畫(huà)的類型。點(diǎn)擊配置來(lái)創(chuàng)建和配置。如果你的配置很好,那它會(huì)成為綠色,否則將骨骼賦予正確的值,或者重新訪問(wèn)骨骼層次,重新導(dǎo)出到相匹配的分身上。可以在肌肉列表中拖拽華科來(lái)測(cè)試皮膚。結(jié)束后點(diǎn)擊完成。
8 添加一個(gè)控制器
Unity案例素材提供所有需要控制玩家的素材。從項(xiàng)目窗口,從Sample/Assets/Characters和vehicles/third personcontroller/prefabs文件夾拖拽prefab到場(chǎng)景中。在層次中刪除第三人稱角色下的Ethan節(jié)點(diǎn)。拖拽角色到有腳本、參數(shù)以及已經(jīng)賦值的玩家標(biāo)簽的第三人稱節(jié)點(diǎn)上面。從Cameras/prefabs文件夾拖拽自由視角照相機(jī)到場(chǎng)景中,添加并定位游戲?qū)ο蟮钠矫?,點(diǎn)擊播放!
9 添加動(dòng)畫(huà)
如果已經(jīng)導(dǎo)入或者從商店獲得了動(dòng)畫(huà),你可以從角色動(dòng)畫(huà)器中選擇角色跟節(jié)點(diǎn)來(lái)代替動(dòng)畫(huà)。在窗口菜單中打開(kāi)動(dòng)畫(huà)器,這時(shí)候會(huì)打開(kāi)一個(gè)管理角色狀態(tài)的面板,以及相對(duì)應(yīng)播放的動(dòng)畫(huà)。當(dāng)角色在地上的時(shí)候,雙擊Grounded狀態(tài)來(lái)打開(kāi)一個(gè)混合樹(shù)。選擇混合樹(shù),并在查看器上面點(diǎn)擊動(dòng)畫(huà)旁邊的小圓圈來(lái)選擇另一個(gè)。點(diǎn)擊運(yùn)行來(lái)預(yù)覽,之后停止并根據(jù)需要做相關(guān)的調(diào)整。
10添加BlendShapes并改變角色
在源碼包里創(chuàng)建一個(gè)在兩個(gè)或者更多網(wǎng)之間混合的動(dòng)畫(huà),就像第三步中的。重新導(dǎo)出網(wǎng)并在FBX對(duì)話框里包含動(dòng)畫(huà)>構(gòu)造。在Unity中,在你的動(dòng)畫(huà)器窗口中創(chuàng)造一個(gè)設(shè)置為額外混合的新層,權(quán)值為1,從項(xiàng)目窗口中拖拽到你的片段中,創(chuàng)建一個(gè)空狀態(tài)并右擊>創(chuàng)建轉(zhuǎn)換,就可以從片段轉(zhuǎn)換了。在查看器中設(shè)置一個(gè)類似大于0.5向前,小魚(yú)0.5向后的條件。
11添加環(huán)境、光影和設(shè)置
為了讓你自己沉迷與游戲中你可以可以創(chuàng)建一個(gè)灰色盒子來(lái)測(cè)試游戲的環(huán)境,或者使用來(lái)自案例素材和素材商店中的水平線,當(dāng)然你可以導(dǎo)入自己的環(huán)境素材。任何導(dǎo)入的素材都需要勾選生成碰撞體,并在查看器中應(yīng)用。在項(xiàng)目視圖中的導(dǎo)入文件,你可以在表面行走。從層次上面創(chuàng)建一個(gè)來(lái)自創(chuàng)建按鈕方向的光線,并在查看器中調(diào)整參數(shù)。
12添加PostFX并拋光
Unitypro里有一些全屏的FX圖片,可以改善場(chǎng)景的美觀。將列表拖拽出預(yù)覽來(lái)分離游戲視圖。選擇在自由視角照相機(jī)配置下的主照相機(jī)節(jié)點(diǎn)。為了保持焦點(diǎn)在你的角色上,在查看器中點(diǎn)擊添加組件>圖片效果>照相機(jī)>域深度,將背景模糊類似于一個(gè)很大的寬孔??梢蕴砑尤我舛嗟难劬?,并且通過(guò)嘗試簡(jiǎn)介來(lái)處理幀率,來(lái)嘗試下吧!
下面是一些對(duì)于項(xiàng)目有用的資源:
原文鏈接:http://blogs.unity3d.com/2014/04/14/turn-your-character-into-a-player/
聯(lián)系客服