Unity作為游戲開發(fā)重要的開發(fā)語(yǔ)言,在游戲開發(fā)中起到了很重要的作用,在游戲中有非常多的畫面都是要用到unity來(lái)實(shí)現(xiàn)的。那么在游戲中我們經(jīng)常看到的角色換裝的場(chǎng)景畫面是怎么實(shí)現(xiàn)的呢?下面unity培訓(xùn)機(jī)構(gòu)達(dá)內(nèi)科技的小編就來(lái)和大家講解下unity角色換裝實(shí)現(xiàn)的原理。
1、角色模型制作
Unity3d支持Skin動(dòng)畫,但是不支持Physique動(dòng)畫,會(huì)發(fā)現(xiàn)Physique動(dòng)畫在unity里嚴(yán)重變形,因此在模型的骨骼動(dòng)畫的制作上面
要用Skin,當(dāng)然也可以做成Physique,然后用插件轉(zhuǎn)換一下 3dsmax的插件PhyToSkin,3dsmax中轉(zhuǎn)換之前 為了避免出錯(cuò) 先隱藏骨骼
然后對(duì)綁定了骨骼的模型進(jìn)行單獨(dú)轉(zhuǎn)換,因?yàn)榕恳矔?huì)出錯(cuò),轉(zhuǎn)換以后在修改面板中加入可編輯網(wǎng)格 同時(shí)為了避免出錯(cuò) 檢查一下uv是否貼反了。
2、角色模型導(dǎo)出
確保導(dǎo)出的模型是已經(jīng)綁定了骨骼的 在導(dǎo)出設(shè)置中根據(jù)需要選擇是否導(dǎo)出Animation,以及3dsmax和unity3d中的單位關(guān)系。
3、官方CharacterCustomization中的模型
從官方換裝demo中會(huì)發(fā)現(xiàn)他的一個(gè)角色模型里包含了要換裝的多個(gè)模型
比如有兩個(gè)衣服模型、三個(gè)頭發(fā)模型等,那我們?cè)诿佬g(shù)制作的過(guò)程中是不是也要這樣進(jìn)行“模型疊加”呢,其實(shí)沒(méi)必要,demo這樣的目的是為了使得模型公用一套骨骼
那么我們?cè)诮巧P偷闹谱鬟^(guò)程中 就確保模型使用的是同一套骨骼,比如男性角色使用一套
女性角色使用另一套,當(dāng)進(jìn)入創(chuàng)建角色場(chǎng)景后,根據(jù)玩家選擇角色的性別,顯示不同的動(dòng)畫即可。
4、角色模型打包技巧
前面提到 官方demo里換裝的實(shí)現(xiàn)
原因是因?yàn)楣昧艘惶坠趋?,那么我們?cè)诖虬臅r(shí)候,就將骨骼和模型分離,將模型各個(gè)部件(比如頭發(fā)、手臂等)分開打包,比如一個(gè)男性的角色,將他的基礎(chǔ)骨骼打進(jìn)一個(gè)包,再將身體各個(gè)部分的模型分別打包,如果一個(gè)模型由頭、臉、身體、手臂、腳五個(gè)部分組成,那么打包后將會(huì)有六個(gè)資源包,分別是基礎(chǔ)骨骼、頭、臉、身體、手臂、腳這樣游戲的創(chuàng)建角色過(guò)程中
就可以單獨(dú)地對(duì)模型的身體部位進(jìn)行切換,打包的過(guò)程和官方demo的打包大同小異,只不過(guò)這里作者在打包時(shí)捎帶生成了換裝的配置表。
5、角色模型的加載
Unity3d中使用www進(jìn)行資源的加載,如果將資源放在了http服務(wù)器上的話(包括本機(jī)的IIS),則需要一個(gè)crossdomain的xml配置,本地則不需要,加載時(shí)應(yīng)該首先去加載基礎(chǔ)骨骼,加載完以后再去加載要顯示的默認(rèn)角色模型,比如新手模型,在加載完以后,則要提取各個(gè)模型中所記錄的骨骼信息,根據(jù)這些信息將模型掛到對(duì)應(yīng)的骨骼上,為了避免模型之間出現(xiàn)縫隙,應(yīng)當(dāng)進(jìn)行模型網(wǎng)格的合并完成以上工作以后模型的加載就已經(jīng)實(shí)現(xiàn)了。
6、角色模型的換裝
回到角色模型打包的話題,設(shè)想一個(gè)男性角色有10套服裝用來(lái)更換,而公用的骨骼是一套,因此在打包時(shí)仍然將這一套骨骼單獨(dú)打包,然后再將其他所有的模型打包,一句話總結(jié)就是,一套骨骼對(duì)應(yīng)N個(gè)模型,這N個(gè)模型都公用這一套骨骼,換裝的實(shí)現(xiàn)實(shí)際上就是將相應(yīng)的身體部分進(jìn)行更換,比如要換一個(gè)手臂
則將新的手臂與身體上除了手臂以外的模型再進(jìn)行一次網(wǎng)格合并,換句話說(shuō)
要更換身體某一個(gè)部位,實(shí)際上就是更新了整個(gè)角色模型,這里需要注意的一點(diǎn)是,基礎(chǔ)的骨骼不用再去更新,設(shè)想一下 換裝時(shí)候
一般角色都會(huì)有個(gè)“站立”或者“呼吸”的動(dòng)作在播放
那么如果同時(shí)去更新了一遍基礎(chǔ)骨骼,那么結(jié)果勢(shì)必會(huì)讓本來(lái)連貫的動(dòng)作有“一閃”的現(xiàn)象,這是因?yàn)橹暗膭?dòng)畫還沒(méi)播放完,然后就更新了骨骼,那么動(dòng)畫又重頭開始播,這之間沒(méi)有過(guò)渡,肯定會(huì)有點(diǎn)問(wèn)題。
以上就是unity培訓(xùn)機(jī)構(gòu)給大家講解的關(guān)于unity角色換裝實(shí)現(xiàn)的原理的內(nèi)容了。如何說(shuō)你也想要學(xué)習(xí)unity技術(shù)的話,那么達(dá)內(nèi)科技?xì)g迎你來(lái)我們公司的unity培訓(xùn)班進(jìn)行學(xué)習(xí),也可以先點(diǎn)擊我們文章下面的獲取試聽資格按鈕來(lái)獲取我們的unity課程免費(fèi)試聽資格,在試聽中可以更加深入的了解我們達(dá)內(nèi)科技。