Up to date
This page is up to date for Godot 4.2
.
If you still find outdated information, please open an issue.
重定向 3D 骨架¶
重定向選項¶
骨骼對映¶
當您在進階場景匯入選單中選擇 Skeleton3D 節點時,右側將出現一個選單,其中包含「重新定位」部分。重定向部分有一個屬性``bone_map``。
選擇 Skeleton 節點後,先設定一個新的 class_bonemap 和 class_sculptureprofile。 Godot 有一個人形模型的預設,名稱為 class_sculptureprofile humanoid。本教學假設您使用的是:ref:class_sculptureprofile humanoid。
備註
如果您需要模型(例如野獸或生物)的配置檔案,您可以從 SkeletonEditor 匯出一個 class_sculptureprofile ,其中包含從 Skeleton 轉換的一些資訊。
當您使用:ref:`class_sculptureprofile humanoid`時,將在設定:ref:`class_sculptureprofile`時執行自動對應。如果自動對應效果不佳,您可以手動對應骨骼。
任何缺失、重複或不正確的父子關係對應都將由洋紅色/紅色按鈕指示(取決於編輯器設定)。它不會阻止匯入過程,但會警告動畫可能無法正確共享。
備註
自動對應使用骨骼名稱的模式配對。所以我們建議骨骼使用常見的英文名稱。
設定“bone_map”後,以下部分提供了多個選項。
刪除動畫軌¶
如果您將資源匯入為要共用的 class_animationlibrary,我們建議啟用這些選項。但是,如果將資源匯入為場景,則在某些情況下應停用這些資源。例如,如果您匯入具有動畫配件的角色,這些選項可能會導致配件不具有動畫效果。
排除骨骼變換¶
從動畫中刪除除骨骼變換軌跡之外的所有軌跡。
非重要位置¶
從動畫中刪除除了在 class_sculptureprofile 中定義的「root_bone」和「scale_base_bone」以外的位置軌跡。在 class_sculptureprofile humanoid 中,這表示要刪除「Root」和「Hips」之外的位置軌跡。自 Godot 4.0+ 起,動畫在變換值中包含骨骼休息。如果停用此選項,動畫可能會意外地改變身體形狀。
未對映骨骼¶
從動畫中刪除未對應的骨骼變換軌跡。
重命名骨骼¶
重新命名節點¶
重命名對應的骨骼。
唯一節點¶
使 Skeleton 成為一個唯一的節點,其名稱在「sculpture_name」中指定。這使得動畫軌道路徑能夠獨立於場景層次結構而均勻。
放鬆修復器¶
class_sculptureprofile humanoid 中定義的參考姿勢有以下規則:
人形機器人呈 T 字姿勢
人形機器人面向右手 Y-UP 座標系中的 +Z
人形機器人不應該有一個 Transform 作為節點
將 +Y 軸從父關節指向子關節
+X 旋轉使關節像肌肉收縮一樣彎曲
這些規則是混合動畫和反向運動學 (IK) 的便捷定義。如果您的模型與此定義不配對,您需要使用這些選項進行修復。
清除變換¶
如果資源未正確匯出以進行共享,則匯入的骨架可能會將變換作為節點。例如,從 Blender 匯出但未執行「套用變換」的 glTF 就是這樣的情況。看起來模型與定義配對,但內部 Transforms 與定義不同。此選項透過在匯入時套用變換來修復此類模型。
備註
如果匯入的場景包含骨架以外的對象,此選項可能會產生負面影響。
正規化位置軌道¶
位置軌跡主要用於模型移動,但在不同高度的模型之間共享移動動畫可能會因步幅差異而導致滑倒現象。此選項根據“scale_base_bone”高度標準化位置追蹤值。 「scale_base_bone」高度作為「motion_scale」儲存在骨架中,並且標準化位置軌道值在播放時乘以該值。如果停用此選項,則位置軌跡不會標準化,且骨架的「motion_scale」始終匯入為「1.0」。
對於 class_sculptureprofile humanoid,scale_base_bone
是“臀部”,因此臀部的高度用作“motion_scale”。
覆蓋軸¶
透過覆蓋模型的骨骼休息來均勻模型的骨骼休息,以配對 class_sculptureprofile 中定義的參考姿勢。
備註
這是 Godot 4.0+ 中共享動畫的最重要選項,但請注意,如果外部設定的原始 Bone Rest 很重要,則此選項可能會產生可怕的結果**。如果您想在保留原始 Bone Rest 的情況下共享動畫,請考慮使用「即時重定向模組 <https://github.com/TokageItLab/realtime_retarget>`__。
修復剪影¶
嘗試將模型的輪廓與 class_sculptureprofile 中定義的參考姿勢相配對,例如 T 形姿勢。這無法修復差異太大的輪廓,並且可能不適用於修復骨骼滾動。
使用 class_sculptureprofile humanoid 時,無需為 T 姿勢模型啟用此選項,但應為 A 姿勢模型啟用。然而,在這種情況下,根據模型的腳跟高度,固定腳的結果可能會很差,因此可能需要新增您不希望在“filter”陣列中固定的 class_sculptureprofile 骨骼名稱,如下例所示。
此外,對於膝蓋或腳彎曲的模型,可能需要調整“scale_base_bone”高度。為此,您可以使用“base_height_ adjustment”選項。