1. Phân loại nhân vật
1. Với nhân vật chỉ mấp máy miệng
Có 1 số nhân vật phụ chỉ cần mấp máy miệng mà không có chuyển động gì. Ví dụ nhân vật phòng thông minh, chỉ có cái màn hình mấp máy miệng… thì chỉ cần gắn lipsync.
- Tạo prefab nhân vật.
- Component cho prefab: Sorting group.
- Component cho nhân vật: Salsa.
2. Với nhân vật full chuyển động
- Tạo prefab.
- Component cho prefab: Sorting group.
- Component cho nhân vật:
- Animator: Tạo chuyển động.
- IK Manager: Tạo IK hỗ trợ chuyển động.
- Salsa: Lipsync.
- Sprite Library: Thay trang phục, chân, tay, miệng. Sử dụng nếu cần thay nhiều tay, nhiều miệng…
Các bước setup từng component cụ thể được hướng dẫn ở các bước tiếp theo
2. Setup component cho prefab nhân vật
2.1. Tạo prefab nhân vật
- [Ctrl + Shift + N] → tạo object mới, đặt tên là NV_TenNhanVat_TrangPhuc (Ví dụ: NV_Kem_PHG).
- Kéo file psb nhân vật vào dưới object vừa tạo.
- Kéo prefab vừa tạo vào —Project— để lưu prefab:
- Nhân vật xuất hiện ở môn nào thì lưu vào trong thư mục của môn đó.
- Nhân vật chính (Su, Kem, Nova) lưu riêng
- Xoá prefab khỏi —Hierarchy–. Ở giai đoạn này mình sẽ ưu tiên sửa trực tiếp trong prefab gốc. Lưu ý, không được xoá trong —Project–, sẽ không phục hồi được.
- Click đúp vào prefab để bật chế độ chỉnh sửa prefab. Prefab nhân vật sẽ được mở trong —Hierarchy—
2.4. Tạo Sorting group
Bước này sẽ giúp cho các nhân vật khi di chuyển qua người nhau, thì các bộ phận cơ thể của nhân vật này không bị nhảy lên người nhân vật khác.
- Chọn prefab nhân vật.
- Click vào Add component, tìm Sorting Group và click vào để thêm component.
- Trong Sorting Group, Order in Layer để mặc định là 1 để nhân vật hiện lên trên background.
2.5. Chuẩn hoá kích thước nhân vật
- Xác định kích thước tương đối của nhân vật (so với các nhân vật khác).
- Đối với nhân vật phụ, chỉ xuất hiện 1, 2 lần và không quá quan trọng kích thước chính xác (vd: cao hơn Su 1 chút, hoặc nhỏ hơn Sao Nova 1 chút…): Đưa thẳng nhân vật vào Unity để so.
- Đối với nhân vật xuất hiện nhiều: Có thể sử dụng file design template.ai để xác định kích thước chính xác của nhân vật.
- Chuẩn hoá kích thước nhân vật trong Unity
- Chỉnh thông số Scale của nhân vật nằm trong prefab.
- Thông số scale của prefab giữ nguyên là 1, 1, 1.
3. Setup component cho nhân vật
Bước này và các bước sau vẫn tiếp tục bật prefab để chỉnh sửa như trên.
Animator là bộ điều khiển animation cho nhân vật. Từ bước này trở đi sẽ tạo component cho nhân vật nằm trong prefab chứ không tạo component cho prefab như trước.
3.1. Setup Animator Component
3.1.1. Tạo Animator Component
- Chọn nhân vật nằm trong prefab. Ví dụ như với Nhân vật Kem, thì chọn NV_Kem > Kem chứ không chọn prefab NV_Kem.
- Click vào Add component, tìm Animator và click vào để thêm component.
3.1.2. Gắn Animator Controller
Đối với nhân vật có chung khung xương và chuyển động với nhân vật khác:
- Click vào nút hình tròn phía bên phải ở Controller và chọn Animator nhân vật phù hợp
Đối với nhân vật cần tạo mới Animator Controller:
- Vào cửa sổ Animation (Ctrl +6).
- Click Create để tạo 1 animation mới. Đặt tên animation là TenNhanVat_Idle.
- Unity sẽ tự động tạo 1 Animator Controller.
3.2. Setup IK Manager component
Bước này để tạo IK cho nhân vật giúp việc làm hoạt hình cho nhân vật dễ dàng hơn.
3.2.1 Tạo IK Manager Component
- Chọn nhân vật nằm trong prefab, không chọn prefab.
- Click vào Add component, tìm IK Manager 2D và click vào để thêm component.
3.2.2 Tạo IK tay, chân
- Trong phần , Click vào dấu “+” và chọn Limb để tạo IK đầu tiên.
- Đổi tên object New LimbSolver2D vừa được tạo ra thành LeftArmIK cho tay trái.
- Chọn lại nhân vật, tiếp tục click vào dấu “+” trong để tạo 3 đối tượng nữa, đặt tên lần lượt là:
- RightArmIK cho tay phải.
- LeftLegIK cho chân trái.
- RightLegIK cho chân phải.
3.2.3. Kết nối Effector vào IK và tạo IK Target
- Click vào xương Root của nhân vật, và mở toàn bộ cấu trúc xương nhân vật ra.
- Chọn LeftArmIK, kéo LeftHand vào Effector trong —Inspector— của LeftArmIK.
- Bỏ tick Constraint.
- Click vào Create Target.
- Ấn W để chuyển sang công cụ Di chuyển. Thử di chuyển IK target của nhân vật xem khớp đã đúng chưa. Nếu khớp bị ngược thì tick vào Flip trong —Inspector— của LeftArmIK
- Lặp lại 3 bước 1-3 với 3 IK còn lại
- Kéo RightHand vào RightArmIK.
- Kéo LeftFoot vào LeftLegIK.
- Kéo RightFoot vào RightLegIK.
3.2.4. Thêm IK cho xương sống
Có thể thêm IK cho xương sống để dễ chỉnh cho nhân vật lắc lư đầu và người. Lưu ý, các chuyển động cho nhân vật 3/4 hiện tại không sử dụng đến IK cho xương sống, nên mặc định IK cho xương sống nên được tắt đi để không bị lỗi chuyển động. Chỉ bật IK xương sống lên đối với animation clip cụ thể có sử dụng IK xương sống; và ở cuối clip đó thì lại tắt nó đi.
Các bước thực hiện tương tự như với IK cho tay, chân. Tuy nhiên, thay vì tạo Limb thì tạo Chain (CCD).
- Thêm IK cho xương sống, dùng Chain (CCD) thay vì Limb. Đặt tên là HeadIK.
- Kéo xương “Head” vào Effector của HeadIK.
- Chọn Chain Length của HeadIK là 3.
- Click vào Create Target.
Ghi chú:
- Limb dùng cho tay chân, thường có 3 xương (đùi, cẳng chân, bàn chân) & 3 khớp (hông, đầu gối, cổ chân), và khớp giữa (đầu gối) chỉ cong được về 1 phía.
- Chain (CCD) dùng cho các vật có nhiều hơn hoặc ít hơn 3 xương. Chain(CCD) cũng không giới hạn chuyển động khớp như Limb (đầu gối chỉ cong được về 1 hướng nếu dùng Limb). Cụ thể, đối với xương sống, dùng Chain (CCD) sẽ giúp cho nhân vật có thể cúi người & ngửa người. Dùng nhiều xương hơn thì chuyển động sẽ mượt hơn.
3.2.5. Setup IK cho tóc, quần áo nếu cần
Thực hiện tương tự như IK cho xương sống. Thường sẽ sử dụng Chain (CCD) thay cho Limb. Đây là bước nâng cao. Sau khi gắn IK xong thì vẫn phải tạo animation thì tóc và quần áo mới chuyển động theo → khá mất công.
3.3. Setup Sprite Library
Sprite library cho phép đổi tay chân & cảm xúc của nhân vật khi làm animation. Chỉ thực hiện bước này nếu nhân vật đã được thiết kế có nhiều bàn tay, nhiều miệng…
3.3.1. Tạo Sprite Library Asset
- Vào thư mục nhân vật.
- Tạo Sprite Library Asset trên Menu của unity: Assets > Create > 2D > Sprite Library Asset.
3.3.2. Setup Sprite Library Asset
- Đổi tên Sprite Library Asset vừa được tạo thành dạng TenNhanVat_TrangPhuc. Ví dụ: Kem_PHG.
- Click đúp vào Sprite Library Asset để mở.
- Kéo file psb của nhân vật từ —Project— vào cột bên trái của cửa sổ Sprite Library. Click Save để lưu.
3.3.3. Thêm component Sprite Library Asset cho nhân vật
- Chọn nhân vật nằm trong prefab, không chọn prefab.
- Thêm component Sprite Library cho nhân vật.
- Trong mục Sprite Library Asset, chọn Library vừa tạo (Ví dụ Kem_PHG).
3.3.4. Tạo Sprite Resolver để thay đổi trang phục
- Chọn toàn bộ các sprite của nhân vật (Head, LeftArm…). Nếu có group thì phải mở hết group ra để chọn bên trong. Ví dụ nhân vật có 10 bàn tay thì phải mở ra và chọn toàn bộ 10 bàn tay bên trong. Không cần chọn khung xương nhân vật (Phần Root > Pelvis …), hay IK các thứ.
- Thêm component Sprite Resolver.
3.3.5. Quy định Sprite mặc định
Với các bộ phận cơ thể, trang phục được thay thế, chỉ active 1 cái. Ví dụ Su có 10 bàn tay thì chỉ active 1 cái duy nhất ở dáng đứng bình thường làm mặc định. Còn lại 9 bàn tay kia thì tắt (deactive) hết. Khi cần đổi tay thì bấm vào cái tay đang active và chọn bàn tay khác trong —Inspector–.
3.3.6. Chỉnh vị trí các sprite thay thế
Các sprite sẽ tự động được gắn vào nhân vật theo tâm của sprite nên nhiều sprite sẽ bị lệch và cần chỉnh lại thủ công.
- Click đúp vào prefab nhân vật để mở chế độ chỉnh sửa prefab. Nhân vật sẽ hiện lên —Scene–.
- Chọn file psb nhân vật, Click vào Open Sprite Editor trong —Inspector— để mở cửa sổ Sprite Editor.
- Từ bước này nên mở đồng thời —Sprite Editor— để chỉnh sửa, và —Scene— có nhân vật để xem kết quả chỉnh sửa.
- Đổi từng sprite một để xem có bị hiển thị lệch vị trí không. Thường là bàn tay sẽ bị lệch còn miệng thì khá ổn.
- Nếu có sprite bị lỗi, chuyển sang Sprite Editor để sửa.
- Chọn sprite bị lỗi hiển thị (Không chuyển sang Skinning Editor như khi rig nhân vật mà giữ nguyên màn hình Sprite Editor).
- Chỉnh lại tâm của sprite rồi click Apply. Sprite sẽ được cập nhật lại bên —Scene–. Tiếp tục chỉnh nếu chưa ổn. Cái này chỉ chỉnh bằng mắt thôi, nhìn hợp lý là được.
3.4. Setup Salsa Component
3.4.1 Tạo salsa lipsync object
- Click đúp vào prefab nhân vật để mở chế độ chỉnh sửa prefab.
- Tạo 1 game object mới. Đổi tên thành Lipsync_TenNhanVat (Ví dụ: Lipsync_Kem).
- Tạo component Sprite Renderer cho game object mới.
- Vào _Assets > Assets Animation > NovaCharacters > Visemes, kéo miệng normal vào Sprite Renderer của object mới tạo.
- Kéo game object Lipsync vào trên xương Head prefab nhân vật như hình dưới.
- Di chuyển object Lipsync vào đúng vị trí miệng của nhân vật.
- Scale miệng lên cho vừa với mặt. Nếu là nhân vật đã có (Ví dụ đã có góc ¾, mình đang làm thêm góc chính diện) thì chỉnh vị trí và cỡ miệng tương ứng với nhân vật đã có.
3.4.2. Copy salsa setup sẵn từ nhân vật khác sang
- Mở 1 nhân vật đã setup sẵn Salsa. Chuột phải vào component Salsa của nhân vật đó, chọn Copy Component.
- Quay lại prefab của nhân vật mới, click chuột vào dấu … ở 1 component bất kỳ trong inspector của nhân vật mới, chọn Paste Component As New.
3.4.3. Setup Salsa Component
Việc copy Salsa component sang sẽ tiết kiệm khoảng 70% công việc setup, chỉ cần chỉnh sửa lại như sau.
Mở Salsa trong Inspector. Setup lần lượt các nhóm cụ thể như sau:
- Tab References:
- Audio Source: Chọn . Sau đó chọn Add new Audio Source.
- Queue Processor: Chọn None. Sau đó chọn Add New Queue Processor.
- Tab Settings: giữ nguyên.
- Tab Viseme Configuration:
- Bỏ tick Trigger Display Mode để chuyển sang giao diện chỉnh khẩu hình.
- Đối với mỗi âm tiết (a, d, c, e, g…) đều cần kết nối với Salsa Lipsync object vừa tạo ở bước 1. Cụ thể:
- Renderer: tìm & chọn object lipsync vừa tạo.
- Sprite0 Rest: Chọn miệng Normal của nhân vật. Nếu nhân vật không được thiết kế bộ miệng riêng thì chọn miệng normal trong bộ Visemes ở bước 1.
- Tick Trigger display mode để thu gọn lại sau khi chỉnh xong.
4. Setup Audio Source
- Mở Audio Source Component
- Bỏ tick Play On Awake
- Khoá cửa sổ Inspector
- Vào Assets, tìm object Volume. Kéo thả Master vào trong mục Output của Audio Source.
- Bỏ khoá Inspector
Trackbacks/Pingbacks