日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

我所遭遇过的游戏中间件---HumanIK

發(fā)布時間:2024/8/23 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 我所遭遇过的游戏中间件---HumanIK 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?我所遭遇過的游戲中間件---HumanIK

????? Autodesk HumanIK游戲中間件,為游戲創(chuàng)建更加可信、真實的角色動畫。該中間件的全身逆向運動(FBIK)系統(tǒng)支持角色真實地與所在環(huán)境及其它角色進(jìn)行交互。通過動態(tài)地將FBIK信息分層置于運行中的現(xiàn)有視頻中,創(chuàng)建、修改和重新利用角色動畫,以此來節(jié)省動畫師寶貴的時間。

????? 以上語句拷貝自HumanIK廣告手冊.所謂IK(反向動力學(xué))就是相反于正常的骨骼動作播放,提供骨架上某幾根骨骼的變換狀態(tài),讓骨架動態(tài)的擺出合理的位置.舉個具體應(yīng)用的例子,如果要實現(xiàn)兩個高度不定的角色間的握手,不使用IK只能為每兩種高度的角色編輯一套動作,這樣做工作量和數(shù)據(jù)量都很大.如果游戲中的角色高度是用玩家任意設(shè)置的,那么不使用IK是辦不到的.

????? 憑心而論,HumanIK是我接觸的Autodesk的三款中間件中最讓我省心的,另外兩款是Scaleform和Kynapse.省心的原因是它的復(fù)雜程度比其他兩款小很多,更為重要的是,我做的項目壓根沒用使用到HumanIK.所以我對HumanIK的研究只是停留在寫了幾個Demo的測試階段.這已經(jīng)是兩年前做的事了,由于時間過久,很多細(xì)節(jié)已經(jīng)忘卻了.

????? HumanIK的需要自己一套文件數(shù)據(jù),HumanIK提供了Maya的導(dǎo)出插件可以編輯生成該數(shù)據(jù).但也可以使用現(xiàn)成的骨骼動作生成該數(shù)據(jù).HumanIK提供了這方面的接口,當(dāng)然開發(fā)者可以不保存該數(shù)據(jù)的文件,而是每次創(chuàng)建動作時生成該數(shù)據(jù).骨骼動作的關(guān)節(jié)間有個自由度范圍,在其Maya導(dǎo)出插件中,可以編輯該范圍,而自動生成的范圍則采用默認(rèn)參數(shù).當(dāng)時有個小坑是,角色的腿分為兩類,一種是普通的膝關(guān)節(jié),另一種膝關(guān)節(jié)是反的,用于鳥類.我直到搞了HumanIK才意識到鳥類的膝關(guān)節(jié)是反的,之前吃了那么多雞腿都沒有注意過.

????? HumanIK的集成比較容易,依照其Demo,按照流程,可以輕松創(chuàng)建一個HumanIK的對象HIKCharacter.
??? //Step 1: Define which joints my character use.
??? // 步驟 1. 創(chuàng)建HIKCharacterDefinition
??? //Step 2: Create a HIKcharacter for my definition.
??? // 步驟 2. 根據(jù)HIKCharacterDefinition創(chuàng)建 HIKCharacter
??? //Step 3: Setup my character geometry, T Stance.
??? // 步驟 3. 設(shè)置HIKCharacter的幾何體
??? //Step 4. Set up Degrees of Freedom (optional)
??? // 步驟 4. 設(shè)置自由度(可選)
??? // 通過自由度,可以增加針對特定角色的這些內(nèi)置旋轉(zhuǎn)限制,以創(chuàng)建對骨架靈活性的其他約束。
??? //Step 5: Characterize your character geometry.
??? // 函數(shù)完成角色化之后,無法隨時更改自由度
???
?????? 記得去年夏天,有個師弟來我家,他在上海一家游戲公司,混的比我好,早已經(jīng)是項目經(jīng)理了.想實現(xiàn)角色握住門把手,或者拿起桌子上的東西的功能.我給他推薦了HumanIK,不知道他現(xiàn)在搞的怎么樣了.但如果他是今年問我這個問題的話,我一定不給他推薦HumanIK,這個功能用三角形的余弦定理,可以實現(xiàn).余弦定理是已知三角形的三個邊長求三個內(nèi)角.具體調(diào)試起來有點麻煩,我大概花了一天的時間搞定.可以修改骨架的胳膊或腿的兩級骨骼,雖不像HumanIK那樣能修改骨架的N級骨骼,以及設(shè)置關(guān)節(jié)間的自由度,但也能滿足需求.

????? 由于時間過久,對HumanIK的記憶有點模糊,我記得它的DEMO中有個爬梯子的小人,具體的實現(xiàn)代碼卻沒有細(xì)看.但游戲中對IK的需求并不只是爬梯子這么簡單,策劃更希望能實現(xiàn)角色間的動態(tài)交互,這與物理有些關(guān)系.比如,角色受到攻擊時,根據(jù)被攻擊的位置和力度動態(tài)地做出不同的反應(yīng).但這種功能,在HumanIK中沒有,在三個物理的中間件中也沒有.我曾經(jīng)在一款游戲中見到這種功能,還自己寫算法簡單模擬過.當(dāng)角色某一部位受到攻擊時,讓相關(guān)骨骼向后做一點旋轉(zhuǎn),將就著還湊合吧,沒有細(xì)調(diào).但要實現(xiàn)角色受攻擊時,退后幾步再回來,有點麻煩.希望有朝一日,HumanIK或者物理的中間件能提供個解決方案.

轉(zhuǎn)載于:https://www.cnblogs.com/WhyEngine/p/3504189.html

與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的我所遭遇过的游戏中间件---HumanIK的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。