Kếthợp câc diễn hoạt trong câc phần củakhung xương

Một phần của tài liệu Nghiên cứu và xây dựng thử nghiệm với 3d engine (Trang 88 - 90)

CHƯƠNG VI: HỆ THỐNG DIỄN HOẠT 6.1 Giới thiệu về hệ thống diễn hoạt

6.18.Kếthợp câc diễn hoạt trong câc phần củakhung xương

khớp, chỉ có khớp gốc lă chuyển động tương đối so với thế giới mă thôi.

Để tạo được sự kết hợp chuyển động thì ta sẽ tạo sự kết hợp giữa câc ma trận khoâ của nhiều chuyển động. Chú ý rằng ma trận kết hợp lă không thể giao hoân được có nghĩa lă thứ tự kết hợp lă quan trọng. Nếu muốn nhđn 2 sự biến đổi có sự quay vă chuyển dịch thì bạn phải kết thúc bằng một biến đổi cuối theo thứ tự : quay ,dịch chuyển , quay.

Để thực hiện đúng thì chúng ta phải cộng câc sự biến đổi thay vì nhđn. Ví dụ như có hai biến đổi lă quay văchuyển dich cần phải kết hợp văo một chuyển động thì việc cộng câc biến đổi lă hợp lý.

Tóm lại, khi thực hiện kếthợp câc chuyển động ta cần biết câc thông tin về tỉ lệ kết hợp củấcc chuyển động văo chuyển độngchung. Khi yíu cầu cập nhật lại diễn hoạt ta sẽ tính toân ra câc ma trận nội suy cho từng diễn hoạt tại thời điểm đó. Sau khi đê có câc ma trận nội suy của từng diễn hoạt ta sẽ thực hiện cộng tất cả ma trận nội suy năy lại với tỉ lện đóng góp văo chuyển động đê được biết.

6.18. Kết hợp câc diễn hoạt trong câc phần của khung xương xương

Giới thiệu

Đôi khi trong một hệ thống khung xương không chỉ có một chuyển động duy nhất mă có nhiều chuyển động trong đó. Ví dụ như phần khung xươngcủa một thđn thể, có thể phần dưới (bụng đến chđn) thực hiện diễn hoạt chạy, phần thđn thín (từ bụng lín cổ) lại thực hiện diễn hoạt bắn súng. Như vậy giữa hai phần thđn trín vă thđn dưới thực hiện hai diễn hoạt khâc nhau. Phần diễn hoạtphần thđn dưới phải có tâc động nhất định lín phần thđn trín vă ngược lại. Nếu như chúng ta không thực hiện kết hợp hay điều

chuyển động rất không tự nhiín. Kết hợp diễn hoạt trong câc phần khung xương chính lă kết hợp câc diễn hoạt khâc nhau trong một khung xương để tạo ra hiệu ứng tự nhiín.

Lý do xđy dựng

Việc xđy dựng chức năng phối hợp diễn hoạt giữa câc thănh phần trong cùng khung xương sẽ phải cho phĩp ta thực hiện nhiều diễn hoạt cho câc phần trong cùng khung xương mă vẫn đảm bảo tính tự nhiín.

Việc xđy dựng năy còn giúp ta tiít kiệm rất nhiều diễn hoạt vì ta có thể thực hiện kết kợp câc diễn hoạt ngay trong khung xương. Ví dụ như trong phần thđn nhđn vật ta có thể tạo ra chuyển động bắn kết hợp với đi, chạy, nhảy, cần 4 diễn hoạt. Nếu ta không thực hiện kết hợp ta cần xđy dựng thím câc diễn hoạt đi bắn, chạy bắn, nhảy bắn. Rõ răng việc phối hợp câc chuyển động giúp ta giảm nhẹ công việc đi rất nhiều vă tăng hiệu quả thực hiện lín rất cao.

Câch thức thực hiện

Để tiện minh hoạ câc thực hiện ta xĩt ví dụ cụ thể sau:

Ta có một khung xương lă thđn người với khớp đầu tiín ( chỉ số lă 0) lă khớp 1b, hai diễn hoạt lă đi vă bắn súng. Ta cần thực hiện kết hợp hai chuyển động năy văo hai phần khâc nhau trong cấu trúc khung xương. Phẩn từ hông tở xuống ta thực hiện diễn hoạt đi, còn phần từ hông tở lín ta thực hiện diễn hoạt bắn. Hình khung xương như sau:

Trước hết ta sẽ chia phần khung xương thđn năy ra lăm 2 kính. Kính thứ nhất từ khớp 2a trở đi đến hết. Kính thứ hai từ khớp 1b đến khớp 1a. ở đđy một kính lă một khâi niệm đưa ra để quản lý việc kết hợp câc diễn hoạt. Một kính sẽ gồm 4 thông số sau:

Khớp kết thúc của kính. Chỉ số của khớp kết thức phải lớn hơn hay bằng chỉ số của khớp bắt đầu. Chỉ số gade-in: chỉ ra số khớp xương bín trong kính chịu ảnh hưởng bởi diễn hoạt. Ví dụ nếu kính thứ nhất có chỉ số gade-in=2 thì có nghĩa rằng hai khớp 2a vă hớp 3a sẽ bị ảnh hưởng khi ta thực hiện kết hợp diễn hoạt. Cụ thể 2 khớp 2a vă khớp tiếp theo 2a bị tâc động của chuyển động bắn súng. Tỉ lệ ảnh hưởng của diễn hoạt bắn súng lín khớp sẽ tăng dần theo chỉ số. Công thức để tính tỉ lệ ảnh hưởng như sau:

C hỉ số fade-out: chỉ số năy chỉ ra số khớp xương bín ngoăi kính kể từ kính cuối chịu ảnh hưởng bởi diễn hoạt. Ví dụ như ta thiết lập chỉ số fade-out của kính thứ 2 lă 2 thì 2 khớp xương 2a vă 3a sẽ bị tâc động. Tỉ lệ tâc động của diễn hoạt ( cụ thể lă đi) sẽ giảm dần theo chiều tăng của chỉ số. Công thứcđể tính tỉ lệ ảnh hưởng như sau:

Để chuyển động được chĩnh xâc ta phải đảm bảo tổng tỉ lệ tâc động lín khớp xương phải bằng 1. Ví dụ với khớp xương 2a bị tâc động của kính một tỉ lệ lă 1/(fade-in+1)=1/3 thì tỉ lệ của kính 2 tâc động lín khớp 2a phải lă 2/3. Để có thể đạt được sự cđn bằng như vậy thì chỉ số fade-in của kính một phải bằng chỉ số fade-out của kính 2 vă ngược lại.

Một phần của tài liệu Nghiên cứu và xây dựng thử nghiệm với 3d engine (Trang 88 - 90)