我所遭遇過的遊戲中介軟體 HumanIK

2021-09-06 13:20:56 字數 1613 閱讀 9972

我所遭遇過的遊戲中介軟體---humanik

憑心而論,humanik是我接觸的autodesk的三款中介軟體中最讓我省心的,另外兩款是scaleform和kynapse.省心的原因是它的複雜程度比其他兩款小很多,更為重要的是,我做的專案壓根沒用使用到humanik.所以我對humanik的研究只是停留在寫了幾個demo的測試階段.這已經是兩年前做的事了,由於時間過久,很多細節已經忘卻了.

humanik的需要自己一套檔案資料,humanik提供了maya的匯出外掛程式可以編輯生成該資料.但也可以使用現成的骨骼動作生成該資料.humanik提供了這方面的介面,當然開發者可以不儲存該資料的檔案,而是每次建立動作時生成該資料.骨骼動作的關節間有個自由度範圍,在其maya匯出外掛程式中,可以編輯該範圍,而自動生成的範圍則採用預設引數.當時有個小坑是,角色的腿分為兩類,一種是普通的膝關節,另一種膝關節是反的,用於鳥類.我直到搞了humanik才意識到鳥類的膝關節是反的,之前吃了那麼多雞腿都沒有注意過.

humanik的整合比較容易,依照其demo,按照流程,可以輕鬆建立乙個humanik的物件hikcharacter.

//step 1: define which joints my character use.

// 步驟 1. 建立hikcharacterdefinition

//step 2: create a hikcharacter for my definition.

// 步驟 2. 根據hikcharacterdefinition建立 hikcharacter

//step 3: setup my character geometry, t stance.

// 步驟 3. 設定hikcharacter的幾何體

//step 4. set up degrees of freedom (optional)

// 步驟 4. 設定自由度(可選)

// 通過自由度,可以增加針對特定角色的這些內建旋轉限制,以建立對骨架靈活性的其他約束。

//step 5: characterize your character geometry.

// 函式完成角色化之後,無法隨時更改自由度

記得去年夏天,有個師弟來我家,他在上海一家遊戲公司,混的比我好,早已經是專案經理了.想實現角色握住門把手,或者拿起桌子上的東西的功能.我給他推薦了humanik,不知道他現在搞的怎麼樣了.但如果他是今年問我這個問題的話,我一定不給他推薦humanik,這個功能用三角形的餘弦定理,可以實現.餘弦定理是已知三角形的三個邊長求三個內角.具體除錯起來有點麻煩,我大概花了一天的時間搞定.可以修改骨架的胳膊或腿的兩級骨骼,雖不像humanik那樣能修改骨架的n級骨骼,以及設定關節間的自由度,但也能滿足需求.

由於時間過久,對humanik的記憶有點模糊,我記得它的demo中有個爬梯子的小人,具體的實現**卻沒有細看.但遊戲中對ik的需求並不只是爬梯子這麼簡單,策劃更希望能實現角色間的動態互動,這與物理有些關係.比如,角色受到攻擊時,根據被攻擊的位置和力度動態地做出不同的反應.但這種功能,在humanik中沒有,在三個物理的中介軟體中也沒有.我曾經在一款遊戲中見到這種功能,還自己寫演算法簡單模擬過.當角色某一部位受到攻擊時,讓相關骨骼向後做一點旋轉,將就著還湊合吧,沒有細調.但要實現角色受攻擊時,退後幾步再回來,有點麻煩.希望有朝一日,humanik或者物理的中介軟體能提供個解決方案.

我所遭遇過的遊戲中介軟體 FlashOcx

在專案中,一開始使用flashocx做ui介面,後來買了scaleform,就成了兩種並存的情況.再後來的兩年半時間裡,有若干次的想把所有flashocx的介面翻成scaleform的.這個翻介面的工作不是我做,本來我認為不是什麼難事,畢竟二者的資源都是flash的swf檔案.但翻改起來,工作量比想...

我所遭遇過的遊戲中介軟體 Redux

substance redux 是一款紋理處理軟體加中介軟體,專門用於紋理生成和壓縮。具其使用者指南介紹,它能夠對紋理集進行優化,可以將現有壓縮演算法的效能提高50 或更多。其壓縮方式可是無失真壓縮,也可以是無失真壓縮。壓縮時可以由使用者自定義壓縮比和影象質量。redux可以針對批量紋理檔案進行壓縮...

我所遭遇過的中介軟體 3D MAX SDK

搞圖形的人都知道3d max,而3d max sdk就是在該軟體基礎上的一套軟體開發包.至於該不該將3d max sdk歸納為中介軟體,不要在意這細節了,反正我覺得sdk和中 間件就差不多是乙個東西.實際上我看網上有些文章將中介軟體與外掛程式混為一談.在我看來,中介軟體是用於做軟體開發的,外掛程式則...