3d遊戲中更換裝備(衣服)的原理?

比如DAZ studio中衣服可以隨著角色體型的變化而合理的變化,這種又是什麼原理呢?小白求解,謝謝


換裝一般有兩種做法:

1. 把人體分成各個部件, 比如頭, 上半身, 下半身, 手, 腳等, 每個部件製作多個不同的Mesh, 但是這些部件共享同一套人體骨骼(掛件可以不用這樣, 比如帽子). 所以這種製作方式的換裝就是替換不同部位的Mesh, 再搭配不同的材質更加靈活. 如果這個部分沒有放模型的話, 會是空的, 當然一般也會做個沒有衣服的局部Mesh進行替換. 這種製作方式需要注意各部件之間的接縫問題, 特別是NormalMap

2. 先做一個人體的裸模, 其它的衣服什麼的都是在裸模外麵包上去的, 也是需要跟裸模共享骨骼, 常見於寫實風格的角色, 因為這樣的角色製作工具有一大堆, 差不多算是工業化的生產流程了. 換裝同樣是替換Mesh或者材質, 但是裸模保持不變(或者使用Mask貼圖剔除掉被遮住的部位). 如果是手動建模的話, 這種方式比上一種更麻煩, 對模型的布線和蒙皮有較高的要求, 不然一動起來很容易出現衣服和身體的穿插.

體型的調整常見的也有兩種做法:

1. 程序直接修改局部骨骼的縮放/長度, 比如把胸圍調大一點, 腿調長一點, 效果上由於不是受美術控制的, 可能達不到美術"美觀"的要求, 但是從性能和製作的角度來看是成本比較低的.

2. 由美術製作人員製作不同的BlendShape(MorphTarget)進行插值. 比如先做一個正常體型的人, 再變形成一個胖體型的人, 這樣就可以在這兩個頂點一致的BlendShape之間進行0~1範圍內的插值, 甚至-1~0範圍內進行插值而達到變瘦的效果. 由於不同的BlendShape是可以疊加的, 所以可以針對不同的部位做不同的BlendShape, 比如胸的大小跟胖瘦可以分開調節. 這種製作方式也有個缺點, 就是衣服也需要做跟身體一樣的BlendShape(比如胖瘦)插值, 不然就會出現穿插.


blendshape是動畫片製作中常用的方法,遊戲中主要還是依靠骨骼綁定,極少極少用blendshape。

角色體型包括臉型五官的調節,遊戲中都是綁定骨骼點的,比如你需要鼻子大一點,那就把蒙皮鼻子部分的那一段骨骼放大,這些參與綁定的骨骼的移動旋轉包括縮放屬性都會被記錄下來作為體型基礎數據在載入角色時進行初始化設定。

裝備衣服有一部分是用貼圖畫出來的,比如小內內(所以修改貼圖就瞬間變H);另一部分是跟著骨骼綁定,這樣骨骼控制體型變化的同時,這部分裝備衣服也會隨之變化,通常這種方法用在無法用貼圖表現,同時還會在動作時有形變的裝備上;還有一部分是通過裝載點(mount point)進行parenting操作來做,就是載入該裝備的時候直接把裝備物體生成為裝載點的子物體並設置位移旋轉縮放,這樣的好處是可以動態裝備,比如武器,壞處是不能隨角色骨骼形變,畢竟沒有蒙皮綁定。方法2和方法3都可以結合方法1中的貼圖大法,所以變化很多。極少數的裝備會利用引擎內置的布料系統或者剛體系統,但真的極少,僅限於披風啊裙擺啊之類,迷之效果,極易出bug。

早年魔獸世界有素材導出器(好像叫WOW model viewer),會發現其中NPC的模型導出來是貼圖完整的模型,但玩家角色導出來身上穿著N多件裝備且沒有貼圖,可以推斷玩家角色是把所有裝備模型都一次性綁定好了,然後通過程序動態顯示合適多邊形並動態載入合適貼圖文件,挺有喜感的。


已經有人說的很明白了。

其實就是人物裸模和衣服在同一骨骼下蒙皮,人物不同體型是靠骨骼上的參數決定的,讓他們顯示自然,再拆成兩份就好。

BlendShape一般還是用來做表情,用來做體型,代價有點大……也不見得有多好的效果。而且你看看老菊捏臉的遊戲,他們顯然不可能用的BlendShape,哈哈。

BlendShape就是兩個模型之間做差值(取中間狀態)


看完了這麼多答案,我補充比較罕見的2種:

1、參照劍靈的捏臉系統,頭和身體是分開的mesh,單獨研發的捏臉系統,雖然效果類似blendshape,但是個人認為是比blendshape性能更高的一套獨特研發的系統

2、參照死或生系列,如果提取過死或生角色,就會發現她們用了另外一種獨特的思路,但是,鑒於這個遊戲是格鬥遊戲,場景多邊形非常簡單(幾乎沒有),不太適用於主流的手游、網遊、場景複雜龐大的開放式主機遊戲,建議了解即可,慎用!具體是這樣的,他們是把人體骨骼拆分為身體(包括手臂)、頭部、大腿三部分,然後對應mesh切割開導入引擎,在引擎內把個部位根據需要調用並連接上 ,這種做法會產生多餘的骨骼動畫數據,對於動畫資源預算不足的項目實在吃不消這麼奢侈的做法,也就死或生這種類型的遊戲能隨便糟蹋了


很簡單:隱藏當前模型著色組。


你可以去dota2的創意工坊上下載英雄的模型文件,看一下就知道了

其實體型大小變化如果骨骼一致的話其實還是一樣的原理


推薦閱讀:

以當前中國最好的遊戲製作團隊,去開發一款FC平台的遊戲的話,能到什麼水平?
在電子遊戲中,電腦方究竟是否知道玩家的一切行動,並且根據玩家的行為來改變策略。?
一個網遊的副本的核心應當是什麼?
如何評價移動端《神武》這款遊戲?
一般真實背景的遊戲的地圖都是真實的嗎?

TAG:網路遊戲 | 遊戲設計 | 網路編程 | 3D遊戲開發 | 遊戲建模 |