FK là viết tắt của Forward Kinematics (động học chuyển tiếp).
Để hiểu dễ dàng, hãy tưởng tượng bạn đang xây dựng một con rô bốt hoặc một nhân vật hoạt hình.
FK giúp bạn xác định tư thế của từng khớp nối (ví dụ: cánh tay, chân) dựa trên tư thế của khớp cha (ví dụ: vai, hông).
Khi bạn di chuyển khớp cha, các khớp con sẽ tự động thay đổi theo.
Ví dụ: Nếu bạn đưa tay lên trước, cánh tay và ngón tay sẽ tự động di chuyển theo.
Trong Blender, bạn có thể áp dụng FK bằng cách:
Chọn khớp cha trong chuỗi khớp.
Điều chỉnh tư thế của khớp cha để tự động thay đổi tư thế của các khớp con.
IK (Inverse Kinematics):
IK là viết tắt của Inverse Kinematics (động học ngược).
Đây là phần thú vị! IK giúp bạn điều khiển phần cuối của chuỗi khớp (ví dụ: ngón tay, chân) mà không cần xác định tư thế của từng khớp con.
Ví dụ: Bạn chọn khớp cuối cùng (điều khiển) rồi chọn bao nhiêu khớp Constrainsts. Thuật toán IK sẽ tự động tính toán tư thế của các khớp con để đạt được điểm đó.
Điều này giúp bạn tạo ra các hành động tự nhiên và linh hoạt hơn cho nhân vật của mình.
Trong Blender, bạn có thể áp dụng IK bằng cách:
Chọn khớp cuối của chuỗi khớp.
Trong bảng điều khiển Bone Constraints, chọn Inverse Kinematics và thiết lập các thông số như Target Bone, Pole Target, và độ dài chuỗi khớp.
Sử dụng các hình dạng tùy chỉnh (custom shapes) để kiểm soát tư thế với các widget lớn ở tay và chân.
Các đường thẳng bạn thấy là pole targets, chúng giúp kiểm soát vị trí của đầu gối hoặc khuỷu tay.
State Colors
Gray: Not animated
Yellow: Keyframed on the current frame
Green: Keyframed on a different frame
Orange: Changed from the keyframed value
Purple: Controlled by a driver
Rigging
Rigging thường liên quan đến việc sử dụng một hoặc nhiều tính năng sau:
Armatures: Điều này cho phép các vật thể dạng lưới có các khớp nối linh hoạt và thường được sử dụng cho hoạt hình bộ xương.
Constraints: Để kiểm soát các loại chuyển động có ý nghĩa và thêm chức năng cho giàn khoan (rig).
Object Modifiers: Biến dạng lưới có thể liên quan khá nhiều, có nhiều công cụ sửa đổi giúp kiểm soát điều này.
Shape Keys: Để hỗ trợ các hình dạng mục tiêu khác nhau (target shapes, chẳng hạn như nét mặt) cần được kiểm soát.
Drivers: Vì vậy, Rig của bạn có thể kiểm soát nhiều giá trị khác nhau cùng một lúc, cũng như khiến một số thuộc tính tự động cập nhật dựa trên những thay đổi ở nơi khác.
Một số thuật ngữ
Keyframe: đánh dấu những frame chính, những frame mà có thay đổi giá trị (các giá trị ở các frame khác được nội suy…)
Timeline và Dope Sheet:
Timeline: là dòng thời gian, số frame là trục X, giá trị các properties là trục Y, có các button Play, Next…
Dope Sheet: cũng là Timeline nhưng có nhiều công cụ hơn trong đó (Select, Channel, Key) để quản lý và điều chỉnh các Keyframe.
Animation (vật lý) = Quãng đường (giá trị properties) + Vận tốc (nhanh chậm, biến thiên) + Thời gian (frames/giây)
Điều chỉnh giá trị bằng Graph Editor sẽ dễ dàng hơn định vị keyframe trong timeline vì có đồ thị toán học (F-Curve: thực hiện phép nội suy).
Rigging
Các bước để Rigging
Reset Scale:
Trước khi Rigging cần Apply các Modifier và Apply (Ctrl-A: Object > Apply > Scale) các giá trị Scale trở thành “base” 1.
Tương tự khi thêm Armature sau khi Scale cho khớp Object thì cũng cần Apply Scale.
Add Object xương (Armature). Để có nhiều Armature hơn thì enable Add-On “Rigging: Rigify” (Human, Animals…)
Đưa Armature vào vị trí với Object để làm Xương (căn chỉnh Armature và Human Object)
Edit Armature trong Edit Mode tương tự các Object thông thường, vì Xương có tính đối xứng nên trong Options Properties của Select > chọn X-Axis Mirror để chọn cả phần đối xứng để chỉnh sửa.
Gắn object vào Armature (mục đích thử nghiệm, thực tế thì sẽ gắn Rig là các Control ở bước 4 vào Object):
Sau khi vị trí Armature và Object đã ok thì set parent cho Xương
Chọn đối tượng > Shift > chọn xương > Ctrl-P (set parent cho Xương) > có nhiều options…
Tạo những điều khiển (control ) cho bộ xương.
Vào Data Properties của Armature > button “Generate Rig”. Bước này sẽ tạo Rig Object trong Scene Collection
Có Rig rồi thì có thể xóa Armature đi.
Thực hiện bước 3 để gắn Rig vào Object Human (set parent)
Xử lý lỗi khi “Generate Rig”:
Cannot connect chain (vị trí xương bị rời rạc): Thực hiện kết nối lại bằng các cách sau:
Đến Bone bị lỗi connect > Move bằng Cursor (Cursor to Select > Select to Cursor)
Hoặc sử dụng Vertex Snaping
tùy “Connected” (chọn Bone Properties > Relations > Connected) đảm bảo việc chuyển động liên quan đến nhiều xương.
Sang chế độ Pose Mode (Ctrl-Tab) để tạo dáng với G (move) và R (rotate)
Lưu ý: bản chất quá trình thêm Armature là để tạo Rig (Controls), các Controls này cần được set parrent vào Human Object
Đối tượng bị ảnh hưởng bởi xương như thế nào?
Trong Object có Vertex Group (nhóm điểm): assign điểm vào Vertex Group (name, name group giống name của Object xương)
“Witb Automatic Weights” để Blender tự động gán Weight cho Vertex Group theo Rig sau đó sẽ điều chỉnh sau nếu cần.
chọn điểm rồi Assign thủ công
Weight Paint (vẽ bằng cọ): Đỏ thuộc về Current Group, Blue không thuộc. Khi paint nhớ kiểm tra các mặt xung quanh.