Trang

16/8/13

Auto convert animated Mesh to RagDoll

Tự  động chuyển Mesh hoạt cảnh sang
tư thế chết (RagDoll)


Mất chắc gần hơn 2 tháng mình mới có thể hoàn thành được cái này. Đây không phải là ví dụ chuyển từ Bullet sang Irrlicht mà do nhu cầu thực thế khi làm game.
2 tháng trước mình chỉ làm được hoạt cảnh tư thế chết cho chú mèo, còn bi giờ thì có thể nói là tất cả các Mesh có khung xương trong Irrlicht mình đều có thể chuyển nó sang RagDoll.
Vì sao mình mất nhiều thời gian thế này ? Cái này là do mình chưa nắm vững lắm cấu trúc SkinMesh của Irrlicht và các Constraint của Bullet. Mình phải đọc lại chúng thật kỷ. Cái này dính đến phần GLOBAL_SKIN của SkinedMesh và cách đặt các giá trị ban đầu cho nó khi áp giá trị toàn cục vào.
Cái thứ hai là các Constraint của Bullet sẽ có cách hành động rất kỳ lạ khi bạn gắn nó sai tham số số. Và cái quan trọng là phải đặt tham số Render lại cho riêng AnimatedMesh của Irrlicht khi tích hợp nó với Bullet ( phải reset lại Node của Bullet về giá trị ban đầu, loại bỏ góc quay....)
Nói chung là rất mệt, nhiều lúc chán quá muốn bỏ cái phần này đi nhưng cuối cùng mình cũng thành công.
 Sau đây là clip của nó, tuy chưa vừa ý lắm và cần cải tiến thêm nhưng tư thế RagDoll như thế cũng tạm ổn :

Sau ví dụ này mình sẽ nghiên cứu tiếp phần phá hủy trong thời gian thực (realtime shatter)

Bài đăng phổ biến