[Unity] 骨架控制器 Animation Rigging 手部骨架基礎操作

想要在 Unity 裡控制 3D 模型的骨架,除了最知名的「Final IK」付費套件可以用外,如果你的 Unity 引擎版本在 2020 版以上,也可以來嘗試看看官方支援的「Animation Rigging」。

在這篇內容中我僅能介紹基礎的用法,因為我對於 3D 模型相關的知識目前處於入門等級,尚在學習中。


前情提要

  • 模型必須先綁好骨架並蒙皮。
  • 建議先在主流 3D 建模軟體中完成動畫設計,再由 Animation Rigging 進行動態控制。

套件資訊


套件安裝

Animation Rigging 已經是正式版套件,可以直接透過 Package Manager 進行安裝。


模型配置

一、匯入模型,我在 Mixamo 中找了一個動畫附帶模型作為操作範例,此模型已帶有骨架與動畫。

二、將模型拉入場景,為物件新增 Animator 組件和 Animator Controller,並將模型自帶的動畫拉入控制器中並設為預設。

三、顯示骨架,先選中場景上的人物模型,從頂部選單執行 Bone Renderer Setup。

四、模型將會被新增一個 Bone Renderer 組件以渲染人物骨架,可透過調整 Bone Size 與 Color 來使骨架清楚顯示。


建立手部控制器

一、先選中人物模型,只不過這次要執行的是 Rig Setup,這將會新增 Rig Builder 組件與一個子物件 Rig1。

二、在 Rig1 下建立一個空物件,先給他新增一個「Two Bone IK Constraint」,再將模型骨架中的手部物件拖入 Tip 欄位,最後在組件的標題上滑鼠右鍵選單執行 Auto Setup from Tip Transform,其他的組件欄位將會自動設置完畢,也會多出 target 和 hint 兩個子物件。

三、這邊產生的 LeftHand_target 物件就是我們的手部骨架控制器,但現在他的座標還是在 (0, 0, 0),需要進行對齊。請按著鍵盤 Ctrl,先選 LeftHand_target 後再選手部骨架,再透過頂部選單進行 Align Transform 對齊。

四、現在的 LeftHand_target 已經與手部骨架對齊,接下來選中他,並點選場景中 Animation Rigging 浮動視窗中的 + 按鈕以建立可視的控制器。

五、可調整 Shape、Size、Rotation 等屬性以使控制器符合模型現況。

六、接下來讓 LeftHand_hint 也做一樣的對齊、加 Effector 動作,但是這個物件放置的座標要注意一下,因為人的手肘是往後彎曲的,要將他放在手的後面。

LeftHand_hint 是拿來讓 Unity 判斷控制器移動時骨架要彎曲的方向,這個物件是可選的,當然我們也可刪掉 LeftHand_hint,讓 Unity 自行判斷。

LeftHand_hint 物件位置對於彎曲行為的影響:

https://tedliou.com/wp-content/uploads/2022/03/2022-03-25-23-58-11-1.mp4

完成。

https://tedliou.com/wp-content/uploads/2022/03/2022-03-26-00-00-30-1.mp4

發表站內留言 取消回覆