3D遊戲中人物換裝解決方案

2021-05-23 11:43:49 字數 854 閱讀 3236

換裝基本上是每個網遊都必須有的乙個功能,每種網遊的做法都各有不同,有些是換掉整個模型,有些則是通過可以換掉模型的乙個部分完成。前者屬於整體換,相對簡單些;後者則是通過部分替換實現,目前用的比較多,本文主要描述後者的。

在開始描述換裝前,首先要具備骨骼動畫的知識,如果對骨骼動畫的原理不熟悉,換裝是比較難以理解的。換裝的核心其實並不在換上,而是要理解為什麼能換,而這些都和骨骼動畫密不可分。骨骼動畫是通過關鍵幀驅動骨骼運動,隨之依次調整每塊骨頭的朝向和座標,骨頭再帶動頂點運動(為了高效,現在很多都使用gpu加速,這樣就不需要修改頂點緩衝區了),蒙皮資訊就描述了了每個頂點受哪些骨頭的影響,以及他們的權重,這樣骨骼動畫就運動起來了。其他的原理先略過,google上解釋比我的好,^_^。

目前一般網遊的換裝都是採用替換掉模型某個部分來實現的,臉型、頭髮、衣服、手套、褲子、裙子、鞋子等一般都和人物肉身做在一起,可以在需要時顯示或隱藏對應部分。這裡一般有乙個原則,如果對應部分需要支援形變,則必須和肉身做到一起,因為必需要有蒙皮資訊才能實現形變。

在我這個設計中,人物分成六個部分,分別是頭髮,頭,上身,手,腿,腳。骨骼只採用一套,男女共用,動作也分開來,每個動作都可以驅動骨架。每個部分都需要包含蒙皮資訊,但不需要骨架,因為骨架可以共用,不需要儲存多份,動作也一樣,也只要乙份就可以了,想要實現高效的換裝,骨架和動作一定要支援共享。在ogre中,骨骼和動作被合起來放到乙個skeleton檔案中,為了換裝,自然要把這些東西分拆掉,難道天龍八部就是這個原因?(^_^,我猜的,可能是)

分成六個部分後,就可以在需要是把對應部分替換掉實現換裝,剛才說了,換裝的難點在於為什麼能換。能換的原因是在接縫的地方,只要沒有接縫,這個部分就好像被換掉了,那怎麼保證沒有接縫呢,那就要使接縫處的頂點受到骨頭影響的權重保持一致,只要一致了,換裝就可以實現了。

3D遊戲中顯示網頁

在遊戲中顯示網頁?為什麼要這麼做呢?其實可以做不少的應用 嵌入幫助文件,比如技能介紹,可以做得很漂亮,各種排版方式用傳統ui做起來很費勁 活動公告頁面直接在遊戲中檢視 遊戲內的bbs 社群 玩家的個性展示 資料 等等最重要的是,所有的這些內容都可以扔到web伺服器上,不用打包進客戶端 最早是用llm...

在3D遊戲中顯示網頁

在遊戲中顯示網頁?為什麼要這麼做呢?其實可以做不少的應用 嵌入幫助文件,比如技能介紹,可以做得很漂亮,各種排版方式用傳統ui做起來很費勁 活動公告頁面直接在遊戲中檢視 遊戲內的bbs 社群 玩家的個性展示 資料 等等最重要的是,所有的這些內容都可以扔到web伺服器上,不用打包進客戶端 最早是用llm...

遊戲中的造型師 3D美術

3d美術在遊戲製作中,相當於遊戲的造型師,遊戲的建築 人物 坐騎 怪物 山水等等,都需要3d美術師來建模,構建整個遊戲的世界。對於熱愛遊戲的朋友來說,肯定對遊戲內的美術有很多自己的想法。那我們先來了解一下3d美術設計師!主美 原畫組長 模型組長 角色原畫師 場景原畫師 角色模型師 手繪 方向 貼圖方...