神經變形器簡介
神經變形器(Neural Deformer)是團結引擎中的一種基于機器學習的高保真度網格變形解決方案。

神經變形器是什么
角色動畫中的蒙皮網格要實現高質量的非線性變形通常依賴復雜的離線計算,難以滿足實時場景對性能和響應速度的嚴格要求。
![]()
神經變形器提供了一種高效的解決方案:通過采集并預處理外部提供的變形數據,訓練輕量級的神經網絡模型,使其在運行時能夠高效近似還原復雜的網格變形效果。這使得團結引擎能夠在呈現高質量變形效果的同時,有效規避傳統非線性幾何計算在實時渲染中的性能開銷。
神經變形器的應用場景
肌肉變形
布料變形
神經變形器的特性
高保真度實時變形:
通過學習外部數字內容創作(Digital Content Creation,DCC)軟件采集的復雜變形數據,神經網絡模型能夠在運行時以較低成本重現高精度網格變形,適用于布料、肌肉、裝備等非剛性物體的表現。
開箱即用的訓練流程:
與生成網格變形模擬數據的復雜過程解耦,支持從多種 DCC 軟件導入 FBX 動畫與 Alembic 網格變形數據,通過自動化的數據處理與模型訓練,適應多樣化應用需求。
高可用性與引擎集成:
所有核心功能(數據處理、模型訓練和模型推理)均可在團結引擎編輯器中完成,覆蓋從訓練數據生成到模型部署的全過程,無需切換至外部平臺,并且可以嵌入現有團結引擎角色系統與動畫控制流程。
多平臺與多硬件后端支持:
基于 Sentis 推理框架,可以在 Windows、MacOS、Android、iOS 等多個平臺運行,且模型推理與變形計算均支持 CPU 和 GPU 后端,允許按需切換以適配不同硬件資源與性能要求。
神經變形器的工作流
要使用神經變形器包完成一個網格變形任務,您首先需要安裝神經變形器包,再依次執行以下步驟:
1.構建訓練數據集
2.訓練神經網絡模型
3.應用網格變形
![]()
團結引擎中的神經變形器包提供了專門的組件分別對應上述各個步驟,并向用戶開放了必要的參數設置接口以及便捷的圖形化操作界面:
Neural Deformer Dataset Builder:
用于從角色動畫與 Alembic 網格變形數據中自動構建訓練所需的數據集,包括頂點匹配、動畫采樣與數據導出等功能;
Neural Deformer Trainer:
提供可視化的模型訓練管理界面,允許在團結引擎內配置訓練超參數、管理訓練流程、查看日志與結果;
Neural Deformer Player:
加載并運行訓練好的神經網絡模型,通過 CPU/GPU 硬件后端進行推理,驅動網格實時變形并完成法線重計算。
安裝神經變形器
要將神經變形器包添加到團結引擎項目:
1.創建一個新的團結引擎項目或打開一個現有的項目;
2.轉到Window>Package Manager
3.在Package Manager窗口中,選擇+>Add Package by name...
4.輸入cn.tuanjie.neural-deformer ;
5.點擊“添加”以將包添加到您的項目中。
導入示例場景與快速驗證
1.在Package Manager窗口中,選中Neural Deformer,在右側頁面選擇“Samples”標簽。根據當前項目所適配的渲染管線(URP/HDRP),選擇對應的示例,點擊“Import”導入到當前項目中。
![]()
2.打開示例場景。
以 Character URP 為例,示例場景的路徑為:
Assets/Samples/Neural Deformer/ / Character URP/Scenes/NeuralDeformer.unityCharacter HDRP 的操作方法與之類似。
3.在 Hierarchy 中導航并選中TG_Hero_Interactive>Hero>LOD0>TG_Outfit_01,這是該人物的服裝 GameObject。在 Inspector 窗口里可看到,該 GameObject 已經預先掛載好和 Neural Deformer 有關的組件,以及一個包含 4 組角色動畫的 Timeline。
![]()
4.在 Inspector 窗口中找到Neural Deformer Player組件,確保它處于激活狀態且Enable Deformation被選中。
5.在編輯模式下,打開 Timeline 窗口,設置人物動畫的時間節點。接著,在Neural Deformer Player組件中調整Deformation Weight和Alpha Mask Influence Weight的值,并在場景中觀察角色服裝的形變情況。
6.點擊“Play”進入播放模式,檢查 Runtime 下角色服裝的形變情況。
快速上手
準備數據
為了把神經變形器應用到您的動畫網格,您需要完成如下的數據準備:
1.目標網格GameObject,它通過SkinnedMeshRenderer組件被動畫驅動,并且已經妥善設置了頂點權重;
2.關于目標網格的一系列動畫剪輯(AnimationClip),通常以 FBX 資產的形式導入引擎。您需要將它們放在同一個文件夾下,如Assets/path/to/fbx;
3.與動畫剪輯逐一對應的Alembic資產,它們模擬對應動畫中目標網格的真實形變。您需要將它們放在同一個文件夾下,如Assets/path/to/abc;
4.檢查前兩步導入的所有資產,確保它們在引擎中的網格頂點數完全一致。必要時可在Inspector里調整 FBX 或 Alembic 的導入設置,防止同一個頂點因法線、顏色、UV 等屬性分裂成多個點。
![]()
![]()
使用Neural Deformer Dataset Builder 構建訓練數據集
Deformer Data Dataset Builder組件的主要作用是:自動化地解析原始數據,提取出從角色的骨骼動畫到目標網格復雜變形的對應關系,從而生成可直接用于訓練神經網絡的數據集。
首先,選擇場景中需要變形的游戲對象,在Inspector下方點擊Add Compoent>Neural Deformer>Neural Deformer Dataset Builder,可添加該組件:

使用Neural Deformer Trainer 訓練神經網絡模型
Deformer Data Trainer組件的主要作用是:設置神經網絡訓練的各種屬性與超參數,直接在編輯器界面啟動或終止訓練流程,并預覽訓練結果。全過程無需再切換到其他環境手動執行,工作流簡潔流暢。
首先,選擇掛載了Deformer Data Dataset Builder組件的游戲對象,在 Inspector 下方點擊Add Compoent>Neural Deformer>Neural Deformer Trainer,可添加該組件。
![]()
使用Neural Deformer Player 應用網格變形
Neural Deformer Player 組件是神經變形器的核心組件,其主要作用是基于訓練好的神經網絡模型實現網格的變形效果。它支持在 CPU 和 GPU 上進行推理和變形處理,適用于需要高效、動態角色或物體變形的場景(如數字人、動畫角色等)。
首先,選擇場景中需要變形的網格游戲對象,且確保已綁定了Skinned Mesh Renderer后,在 Inspector 下方點擊Add Compoent>Neural Deformer>Neural Deformer Player,可添加該組件。
![]()
啟用Neural Deformer Player組件,實現網格變形:

??注意事項
1.神經變形器為數據驅動型算法,其變形效果與訓練數據的分布及范圍密切相關。若推理時的姿態在訓練數據中出現頻率較低或超出數據分布范圍,變形效果可能會受到影響。因此,建議用戶確保有足夠的訓練數據,并盡可能涵蓋變形對象的所有潛在運動范圍,以提升變形質量。
2.神經變形器未考慮變形對象在場景中與其他物體的位置關系,這可能導致穿模、自相交、碰撞檢測失效等錯誤。
更多詳情可參考官方文檔:
https://docs.unity.cn/cn/Packages-cn/cn.tuanjie.neural-deformer@1.0/manual/
Unity 官方微信
第一時間了解Unity引擎動向,學習進階開發技能
每一個“點贊”、“在看”,都是我們前進的動力

特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
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.