Tư thế của một model có xương khi vẽ: animation nào, ở giây thứ mấy, và (tùy chọn) trộn với animation thứ hai để chuyển mượt giữa hai động tác. Tiếp...
#include <njin_3d.h>
Các thuộc tính Public | |
| i32 | anim = -1 |
| Animation (model_anim_find()). -1 là tư thế gốc trong file. | |
| f32 | time = 0.0f |
| Thời điểm trong animation, giây. | |
| bool | loop = true |
| Lặp lại; không thì dừng ở khung cuối. | |
| i32 | blend_anim = -1 |
| Animation thứ hai để trộn vào. -1 là không trộn. | |
| f32 | blend_time = 0.0f |
| Thời điểm trong animation thứ hai, giây. | |
| bool | blend_loop = true |
| Lặp animation thứ hai. | |
| f32 | blend = 0.0f |
| Tỉ lệ trộn: 0 chỉ có anim, 1 chỉ có blend_anim. | |
| const bone_pose3d * | bones = nullptr |
| Tư thế do game đặt: model_bone_count() xương, trong không gian của model như model_bone_pose() trả về (ragdoll3d_bones() điền mảng này). | |
| const f32 * | morph_weights = nullptr |
| Trọng số morph target (blend shape) do game đặt, theo chỉ số model_morph_find(): cộng thêm vào trọng số mặc định của file và của animation đang chạy (anim, blend_anim), nên game nháy mắt trong khi animation cử động miệng. | |
| i32 | morph_count = 0 |
| Số phần tử của morph_weights. | |
Tư thế của một model có xương khi vẽ: animation nào, ở giây thứ mấy, và (tùy chọn) trộn với animation thứ hai để chuyển mượt giữa hai động tác.
Hoặc game tự đặt từng xương bằng bones (ragdoll3d_bones()).
| const bone_pose3d* njin::model_pose::bones = nullptr |
Tư thế do game đặt: model_bone_count() xương, trong không gian của model như model_bone_pose() trả về (ragdoll3d_bones() điền mảng này).
Khác nullptr thì các trường animation ở trên bị bỏ qua khi đặt xương (chúng vẫn điều khiển trọng số morph, xem morph_weights). Engine đọc mảng ngay lúc vẽ (draw_model_anim(), hay khi vẽ entity có njin::model3d), không giữ lại.
| const f32* njin::model_pose::morph_weights = nullptr |
Trọng số morph target (blend shape) do game đặt, theo chỉ số model_morph_find(): cộng thêm vào trọng số mặc định của file và của animation đang chạy (anim, blend_anim), nên game nháy mắt trong khi animation cử động miệng.
nullptr là không thêm gì. Engine đọc mảng ngay lúc vẽ, không giữ lại.