国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

Unite Shanghai 2025 | 團(tuán)結(jié)動畫系統(tǒng) Tuanjie Animation

0
分享至


Unite Shanghai 2025于 10 月 23-24 日圓滿舉辦。在團(tuán)結(jié)引擎專場中,Unity 中國高級技術(shù)研發(fā)經(jīng)理王剛帶來分享《團(tuán)結(jié)動畫系統(tǒng)新功能(AnimGraph,RigGraph,IK&Retarget)》,本文為演講全文實錄。點擊閱讀原文,可以訪問 Unite Shanghai 2025 演講錄像,一起學(xué)習(xí) Unite 分享的最新技術(shù)干貨。


王剛:非常感謝大家的到來,今天給大家匯報一下團(tuán)結(jié)動畫系統(tǒng)過去一年已經(jīng)上線的功能。從長遠(yuǎn)目標(biāo)來看,動畫系統(tǒng)的改造是四個方面。首先,很多動畫功能要節(jié)點化,而且要增加更多的動畫功能。第二,關(guān)于 timeline 的長期目標(biāo)是蒙太奇化。第三,在團(tuán)結(jié)系統(tǒng)里給大家提供輕量級實時綁定系統(tǒng)和角色物理系統(tǒng)。第四,animation 要往性能優(yōu)化的方向走,提供群體動畫的方案。

今天主要講這三個功能:

  • 通用骨骼 IK & Retarget

  • 動畫功能編輯器 AnimGraph

  • Rig 編輯器 RigGraph

IK & Retarget

我們先看第一塊。原來 Unity 的動畫系統(tǒng)重定向只基于 humanoid 骨骼,但很多用戶都是通用骨骼,所以我們想在通用骨骼基礎(chǔ)上擴(kuò)展 IK 和重定向的能力,盡量能讓大家復(fù)用以前項目的動畫資產(chǎn)。

首先,為了基于通用骨骼,新的動畫系統(tǒng)有兩個新的資產(chǎn),TRig 和 TRetargeter。它們主要應(yīng)用于以下兩個核心場景——定制化 IK 綁定:借助 TRig 資產(chǎn),開發(fā)者可以為特定骨架結(jié)構(gòu)創(chuàng)建個性化的 IK 綁定方案,以滿足不同角色在動作表現(xiàn)上的獨特需求。定制化動畫重定向:通過結(jié)合使用 TRig 與 TRetargeter,可以實現(xiàn)靈活高效的動畫重定向功能,使動畫資源能夠在不同骨架之間共享與復(fù)用。TRig、TRetargeter 和其他部分的關(guān)系圖如下:


在上圖中,Generic Avatar 是通用骨骼,然后 TRetargeter 必須由 TRig (source) 和 TRig (Target) 兩個骨骼的資產(chǎn)確定,進(jìn)行骨骼鏈匹配。無論是 IK 還是 Retarget,都有 play mode 和 editor mode。editor mode 就是傳統(tǒng)需要在 editor里面來做的編輯流程,支持 play mode 是為了在 runtime 里面可以用,以便很多角色實時動捕后要進(jìn)行實時重定向、實時 IK 調(diào)整。


在 editor 模式下,TRig 有自己的編輯界面,可以配置 IK 求解器、骨骼鏈,也有自己的預(yù)覽畫面。在預(yù)覽效果里,可以對 Retarget 也進(jìn)行預(yù)覽、編輯和修正。同樣,在 editor 模式下,如果您對重定向結(jié)果滿意,可以把它 bake 成 Animation clip。在 Play Mode下,結(jié)合 AnimGraph 實時修改參數(shù)查看效果。


通用 IK 組件中,所有加 T 開頭的都可以支持 generic 的骨骼。

  • TOverrideTransform 作用于單個骨骼對象

  • TTwoBoneIK 作用于三關(guān)節(jié)骨骼鏈

  • TFABRIK 作用于超過三個關(guān)節(jié)的骨骼鏈

  • TFBIK 作用于任意骨骼模型。我們改造了它的求解器方法,現(xiàn)在基于 PBD 的方法進(jìn)行求解。

中間的流程圖是 IK 更新的順序,也就是說,如果想動態(tài)設(shè)置 IK goal,就需要在 LateUpdate 環(huán)節(jié)設(shè)置。


在上圖界面中,因為 IK 是分組的,您可以添加很多 IK 求解器,IK 求解過程會根據(jù)該順序依次執(zhí)行求解器,可以拖動求解器來修改求解器的求解順序。當(dāng) IK 目標(biāo)綁定上 IK 組件的時候,會跟對應(yīng)的骨骼綁定在一起。



上圖是運行時態(tài)的例子,團(tuán)結(jié)引擎中結(jié)合 AnimGraph 來實現(xiàn)運行時的 IK,可以動態(tài)進(jìn)行 IK 功能的調(diào)節(jié)。左邊是一個 AnimGraph Node 節(jié)點界面,該界面中先有兩個 Animation clip,進(jìn)行了 blend,如果對某一個關(guān)節(jié)的功能不滿意,可以添加實時的 IK Node 節(jié)點,該節(jié)點可以關(guān)聯(lián) TRig 資產(chǎn),在運行時修改 IK 目標(biāo)的相關(guān)設(shè)置??梢栽谔砑?IK Node 后的 AnimGraph Inspector 界面關(guān)聯(lián) TRig 資產(chǎn),也可以直接將 TRig 資產(chǎn)拖入圖中自動生成 IK Node。一些IK相關(guān)的控制參數(shù)可以在此節(jié)點中暴露出來,凡是暴露出來的參數(shù)就可以動態(tài)每一幀進(jìn)行修改。



這是我們重定向的編輯界面。一個 TRetargeter 資產(chǎn)關(guān)聯(lián)了兩個 TRig 資產(chǎn),分別表示源角色和目標(biāo)角色。首先我們需要設(shè)置他們的重定向姿勢,在 inspector 里有提供了一些快速設(shè)置的方式,你可以將他們都設(shè)置為 TPose,也可以使用 clip 中的姿勢或者自動對齊?;A(chǔ)的重定向我們是基于骨骼鏈去進(jìn)行計算的。我們需要在各自的 TRig 資產(chǎn)中配置他們的骨骼鏈。將他們對應(yīng)的骨骼鏈進(jìn)行映射之后,我們就可以預(yù)覽動畫重定向后的效果。骨骼鏈的信息分別存儲在各自的 TRig 資產(chǎn)中,同樣對于人形角色我們可以一鍵自動生成。只有位于骨骼鏈上的骨骼會被作用重定向。


我們可以在這個界面中配置 source 和 target 之間的關(guān)系,和所有重定向相關(guān)的配置,最后可以選擇用IK來進(jìn)行修正。這就是無論是 editor 狀態(tài)還是實時狀態(tài),基于IK的重定向過程,用它來支持通用骨骼。這個通用骨骼我們也做了一個鏡像功能,比如好多格斗類的游戲就會需要鏡像。


上方的動圖是在運行時模式下,Retarget node 就需要編輯 TRetargeter 的參數(shù),在節(jié)點里暴露出來,然后實時進(jìn)行修改。


上方動圖展示的就是加了 IK 的修正。把 source 機(jī)器人 Retarget 到角色之后,對于腳踝關(guān)節(jié)進(jìn)行了 IK 修正。

對于重定向的結(jié)果,既可以離線保存為 clip,也可以在運行時配合 AnimGraph 實時地重定向,可以開放特定端口進(jìn)行修改。整體的話,對于類人形角色,基本全流程都配置了自動操作的按鈕,大家可以很輕松的完成類似 humanoid 的重定向流程。但不同的是,對于結(jié)果不滿意的時候,也可以對其中的每一個環(huán)節(jié)進(jìn)行參數(shù)和配置上的修改

最后,歡迎大家多嘗試去重定向不同類型的角色,我們會根據(jù)更多實際中的例子來完善我們的工作流程。

AnimGraph

接下來講 AnimGraph。AnimGraph 其實就是兩個編輯器,一個是動畫功能節(jié)點的編輯器,一個是動畫控制邏輯腳本的編輯器。

在上方的 demo 中,我們把以前的兩個項目的動作合到新的角色上。上面的角色是由 motion matching 控制的,下面的是由狀態(tài)機(jī)控制的。拿槍的動作都是從下面角色來的,所有的跑、跳動作都是從上面角色來的。我們有兩個實時的 TRetargeter 把以前的資產(chǎn)重定向過來,再做了 layer mix、Blend,輸出新的動作。


上圖是動畫功能節(jié)點的 Graph,這些按連接順序排列,最后連到 output 上,讓你可以編輯動畫功能的執(zhí)行邏輯?,F(xiàn)在已經(jīng)發(fā)布的動畫相關(guān)功能的節(jié)點化包括 Animation clip、BlendTree、狀態(tài)機(jī),第二排是各種和 blend 相關(guān)的功能,第三排是和骨骼相關(guān)的功能,比如鏡像、重定向、IK 和一些約束。最下面一排功能,是考慮大家把以前 animator 的項目轉(zhuǎn)成 AnimGraph 項目,這個節(jié)點可以把 controller 拖到 AnimGraph 里,它可以作為一個節(jié)點封裝,然后再連其他的動畫功能節(jié)點,最大限度讓大家復(fù)用以前 animator 項目里的東西。Rig Graph Node 是實時綁定系統(tǒng)的節(jié)點。后面每三個月的版本都會提供更多的動畫節(jié)點。


接下來講一下 AnimGraph 狀態(tài)機(jī)和原來 animator 的狀態(tài)機(jī)有什么不一樣。最左側(cè)的圖是各種多狀態(tài)機(jī)混合 layer mask?,F(xiàn)在每一個狀態(tài)機(jī)的 state node 其實是一個動畫節(jié)點 graph 的子 graph。也就是說,原來的狀態(tài)機(jī)里,要么只能放 blend tree,要么只能放 animation clip,現(xiàn)在每一個 state 進(jìn)去之后還是一個節(jié)點編輯器,每個 state 里面還可以重新編輯動畫其他節(jié)點功能連接,再創(chuàng)建一個子的 state machine。右下角圖例就是一個子的 state machine,套在最上面圖中的某一個 state 中。

我們看最右邊的節(jié)點列表,現(xiàn)在每個 state 里面都有一些 binding function, binding 了 script graph 里面那些可視化編輯腳本。這里面每個狀態(tài)都可以 binding 一個 Function。如果不是狀態(tài)機(jī)里的 state node,假設(shè)是正常的 animation node,它都有一個 binding function,第一次初始化要綁哪一個 script,每一幀 update 要綁哪一個 script,都要綁到 Function 里邊,每一個函數(shù)都是可視化編輯腳本函數(shù)。


EventGraph 和 Function 可輔助 AnimGraph,實現(xiàn)更靈活的動畫輸出控制。EventGraph 給大家提供了一個可視化的腳本邏輯編輯,可以控制 node graph 中動畫的各種參數(shù),可以控制狀態(tài)機(jī)里動畫執(zhí)行順序邏輯,減少了用 monobehavior 來寫 C# 腳本的必要。像一些已經(jīng)預(yù)留的 EntryNode:OnStart、OnUpdate、OnLateUpdate,就是固定的更新事件。OnAnimationGraphMove 節(jié)點是當(dāng)連接執(zhí)行邏輯時,會每幀觸發(fā)后續(xù)執(zhí)行圖。您可在執(zhí)行圖中處理動畫系統(tǒng)生成的位移(deltaPosition)和旋轉(zhuǎn)(deltaRotation),實現(xiàn)自定義 RootMotion。其功能與 OnAnimatorMove 類似。還支持CustomEvent(自定義事件)、AnimationEvent(動畫事件)。


在 EventGraph 中,某些節(jié)點是通過反射機(jī)制能拿到的節(jié)點。如果對這些反射機(jī)制提供的節(jié)點不滿意,可以自己創(chuàng)造一些函數(shù),如果可復(fù)用,就可以放在 Function 這一欄。這里面也是通過基本反射可以得到一些對象、運算、類,然后控制這些邏輯去做。每一幀的 update 都可以更新 parameters。

RigGraph

最后簡單介紹下實時綁定和控制系統(tǒng) RigGraph,是一套在團(tuán)結(jié)引擎里面的控制器系統(tǒng)。


上圖是這套基于通用人形骨骼的綁定控制的實時邏輯的核心圖,這里面包含兩個不同關(guān)節(jié)的部位,有兩種模式,一個是 forward 前向模式,控制器到骨骼,還有逆向模式,骨骼到控制器。相當(dāng)于把原來綁定控制的能力輕量級地拿到了團(tuán)結(jié)引擎編輯器里。

上圖是正常的配置頁面,所有的控制器如圖所示。整個人形角色的資產(chǎn)就是大概按照左邊的樣子,由 Rig Graph Manager 出發(fā),script machine 的核心就是處理前向和后向的控制器到骨骼的實時解算過程,整個 Rig Graph 把變量暴露出來,都可以進(jìn)行實時修改。而 Effector 就相當(dāng)于控制器,用來控制骨骼。



上圖講了前向解算和后向解算的時間點。在 process animation 更新的時間點里, On Setup Event 第 0 幀觸發(fā)一次,用于初始化控制點的 Transform 值。On Forwards Solve(前向解算)在 Setup Event 之后,Backwards Solve 之后執(zhí)行,每幀均觸發(fā),是 Rig Graph 中最主要的解算方向,定義控制點控制骨骼的邏輯。On Backwards Solve(反向解算)在 Setup Event 之后,F(xiàn)orwards Solve 之前執(zhí)行,每幀均觸發(fā),是從當(dāng)前骨骼姿勢中,解算出控制點的 Transform 值,常用于控制點動畫烘焙。我們先做 backward 解算,再做 forward,這兩個同時存在的情況下才這么解,如果沒有的話可以忽略。

任意一個控制器要編輯,有兩種模式,一個是全局的,一個是本地的。全局是不管這個動畫現(xiàn)在跑在什么 pose 上,都要把關(guān)節(jié)變成特定姿勢,它會覆蓋掉原來的動畫。 local 模式是將收到的狀態(tài) plus 到之前的狀態(tài)上,而且它支持只改局部的骨骼,比如只改腿,或改全身。



因為在動畫系統(tǒng)里面有兩套動畫運行邏輯,一個是 animator,一個是 animation graph,Rig graph 可以配合這兩種。配合 animator 就是剛剛的 Rig graph manager 整個 component 的掛載機(jī)制,當(dāng)組件一樣掛到了 animator 上。在 animation graph 里,我們給大家提供節(jié)點化的功能,可以配置 rig graph node。團(tuán)結(jié)引擎的 AnimGraph 可通過 Rig Graph Node 節(jié)點實現(xiàn)骨骼動畫運行時控制功能。


接下來介紹一個優(yōu)化功能,整個一套實時綁定控制器到骨骼的解算綁定系統(tǒng)是用可視化節(jié)點做出來的,由于那個性能比較差,所以我們做了 Graph code generator 方案,也就是說我們會把它轉(zhuǎn)化成高性能的 C# 代碼。左邊圖中,每個 node 節(jié)點 script 進(jìn)行連接,我們會把所有的對象在內(nèi)存分配里進(jìn)行池化減少 GC 操作,然后按照 burst 執(zhí)行標(biāo)準(zhǔn)產(chǎn)生代碼,運行性能會大大提升。右圖中,優(yōu)化以后這個角色是 0.4 毫秒的實時解算,上圖優(yōu)化前是 10-20 毫秒的數(shù)量級,性能優(yōu)化提升還是非常大的。



RigGraph 有控制器編輯動畫的能力,可以在 timeline 里面 K 動畫,K 的是控制器不是骨骼,因為這套綁定系統(tǒng)已經(jīng)在骨骼的基礎(chǔ)上提供了更易用的控制器,在 timeline 存的是控制器的數(shù)據(jù),timeline 運行的時候,控制器通過 RigGraph 把控制器解算成骨骼,驅(qū)動骨骼動畫。



最后是動畫烘焙功能,因為有兩種模式——控制器到骨骼,骨骼到控制器,所以我們的動畫烘焙也是雙向的。我們在 timeline 單獨做了動畫烘焙模塊,假設(shè)編輯好了控制器的東西,想把它編輯成正常的 animation clip 里面存的是骨骼數(shù)據(jù),那么就把控制點動畫 bake 成骨骼動畫。反過來,如果外面已經(jīng)有一個動捕好的骨骼數(shù)據(jù),也可以 bake 到控制器上,這是兩種模式。

今天就給大家介紹到這里,后面會給大家提供更多的動畫節(jié)點。

Unite Shanghai 2025演講回放錄像已上線 Unity 中文課堂,點擊閱讀原文即可訪問,購票用戶可免費觀看。請持續(xù)關(guān)注,一起學(xué)習(xí) Unite 分享的最新技術(shù)動向。

Unity 官方微信

第一時間了解Unity引擎動向,學(xué)習(xí)進(jìn)階開發(fā)技能

每一個“點贊”、“在看”,都是我們前進(jìn)的動力


特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點推薦
“這種兒子,直接用鋼筋揍!”家長曬農(nóng)村兒子現(xiàn)狀,網(wǎng)友忍無可忍

“這種兒子,直接用鋼筋揍!”家長曬農(nóng)村兒子現(xiàn)狀,網(wǎng)友忍無可忍

妍妍教育日記
2026-01-08 20:37:01
看到委內(nèi)瑞拉的情況,李顯龍在怕什么?

看到委內(nèi)瑞拉的情況,李顯龍在怕什么?

新民周刊
2026-01-09 09:09:48
12歲男孩在溫泉池溺水身亡,父親悲痛:泡了幾十分鐘后,悲劇發(fā)生……涉事門店仍正常營業(yè)

12歲男孩在溫泉池溺水身亡,父親悲痛:泡了幾十分鐘后,悲劇發(fā)生……涉事門店仍正常營業(yè)

環(huán)球網(wǎng)資訊
2026-01-09 08:50:53
不賣島就開戰(zhàn)?特朗普話音剛落,丹麥下放開火權(quán),6國外援已就位

不賣島就開戰(zhàn)?特朗普話音剛落,丹麥下放開火權(quán),6國外援已就位

博覽歷史
2026-01-08 19:23:13
從被特朗普點名到“相約白宮”,哥倫比亞為何與美國斗而不破?

從被特朗普點名到“相約白宮”,哥倫比亞為何與美國斗而不破?

澎湃新聞
2026-01-09 11:00:28
濃眉21+11受傷獨行俠惜敗爵士 弗拉格26+10+8馬卡33+7

濃眉21+11受傷獨行俠惜敗爵士 弗拉格26+10+8馬卡33+7

醉臥浮生
2026-01-09 12:16:10
特朗普威脅伊朗!伊朗:已做好戰(zhàn)爭準(zhǔn)備

特朗普威脅伊朗!伊朗:已做好戰(zhàn)爭準(zhǔn)備

第一財經(jīng)資訊
2026-01-09 08:13:29
震驚!江蘇一企業(yè)發(fā)聲明,將一員工從主管調(diào)至保潔,月薪降至4500

震驚!江蘇一企業(yè)發(fā)聲明,將一員工從主管調(diào)至保潔,月薪降至4500

火山詩話
2026-01-09 06:43:51
大潰敗!中國網(wǎng)貸公司,在印度全軍覆沒

大潰??!中國網(wǎng)貸公司,在印度全軍覆沒

首席品牌評論
2026-01-07 18:20:00
隊記:這是楊瀚森本賽季打得最好的一場 真正做到了能被教練用上

隊記:這是楊瀚森本賽季打得最好的一場 真正做到了能被教練用上

羅說NBA
2026-01-09 07:36:38
特朗普威脅“將付出慘痛代價”,伊朗會步委內(nèi)瑞拉后塵?

特朗普威脅“將付出慘痛代價”,伊朗會步委內(nèi)瑞拉后塵?

上游新聞
2026-01-09 12:19:30
辭去央視工作,嫁大18歲李鐵為妻,如今52歲張泉靈已走上另一條路

辭去央視工作,嫁大18歲李鐵為妻,如今52歲張泉靈已走上另一條路

說歷史的老牢
2026-01-08 10:42:57
阿森納0-0悶平利物浦!5連勝被終結(jié),仍6分領(lǐng)跑英超,三叉戟啞火

阿森納0-0悶平利物浦!5連勝被終結(jié),仍6分領(lǐng)跑英超,三叉戟啞火

侃球熊弟
2026-01-09 05:25:59
男子與女友吵架飆車泄憤,情緒失控撞死1家3口,細(xì)節(jié)曝光:兩人當(dāng)時在討論鸚鵡學(xué)舌

男子與女友吵架飆車泄憤,情緒失控撞死1家3口,細(xì)節(jié)曝光:兩人當(dāng)時在討論鸚鵡學(xué)舌

極目新聞
2026-01-08 23:58:28
網(wǎng)傳某國產(chǎn)操作系統(tǒng)大廠老董開除核心工程師,理由竟是 “沒穿西裝”

網(wǎng)傳某國產(chǎn)操作系統(tǒng)大廠老董開除核心工程師,理由竟是 “沒穿西裝”

可達(dá)鴨面面觀
2026-01-08 19:48:13
2299元波司登商務(wù)羽絨服充絨量僅86克,網(wǎng)友質(zhì)疑品牌溢價過高,客服回應(yīng)

2299元波司登商務(wù)羽絨服充絨量僅86克,網(wǎng)友質(zhì)疑品牌溢價過高,客服回應(yīng)

極目新聞
2026-01-08 22:29:38
朝鮮不會成為第二個委內(nèi)瑞拉!因為朝鮮有兩個后盾

朝鮮不會成為第二個委內(nèi)瑞拉!因為朝鮮有兩個后盾

米君文史
2026-01-07 10:01:47
盤點|2025年上半年熱度新人

盤點|2025年上半年熱度新人

素然追光
2026-01-09 01:05:02
山東省紀(jì)委監(jiān)委網(wǎng)站:1人接受審查調(diào)查

山東省紀(jì)委監(jiān)委網(wǎng)站:1人接受審查調(diào)查

魯中晨報
2026-01-09 12:01:03
剛剛,谷歌反超蘋果成全球第二大市值公司!而救它的,竟然是一個連名字都沒有的產(chǎn)品

剛剛,谷歌反超蘋果成全球第二大市值公司!而救它的,竟然是一個連名字都沒有的產(chǎn)品

AI范兒
2026-01-09 09:44:00
2026-01-09 13:03:00
Unity incentive-icons
Unity
Unity中國官方帳戶
2416文章數(shù) 6729關(guān)注度
往期回顧 全部

科技要聞

市場偏愛MiniMax:開盤漲42%,市值超700億

頭條要聞

男子開車撞死1家3口獲死緩 14秒速度從0飆至129km/h

頭條要聞

男子開車撞死1家3口獲死緩 14秒速度從0飆至129km/h

體育要聞

世乒賽銀牌得主,說自己夢里都是孫穎莎

娛樂要聞

檀健次戀愛風(fēng)波越演越烈 上學(xué)經(jīng)歷被扒

財經(jīng)要聞

郁亮的萬科35年:從"寶萬之爭"到"活下去"

汽車要聞

更智能更豪華 樂道L90加配置會貴多少?

態(tài)度原創(chuàng)

游戲
教育
房產(chǎn)
健康
公開課

《PUBG:BLINDSPOT》定檔2月5日上線搶先體驗版

教育要聞

上海幼教專家團(tuán)在祖國最東地“把脈”

房產(chǎn)要聞

豪宅搶瘋、剛需撿漏……2025年,一張房票改寫了廣州市場格局

這些新療法,讓化療不再那么痛苦

公開課

李玫瑾:為什么性格比能力更重要?

無障礙瀏覽 進(jìn)入關(guān)懷版