void spring3d_destroy(context &ctx, spring3d_handle handle)
Hủy bộ lò xo.
foot3d_handle foot3d_create(context &ctx, const foot3d_desc &desc)
Tạo một bộ đặt chân cho một nhân vật: mỗi frame, mỗi bàn chân của animation được đặt lên mặt đất ngay...
void spring3d_reset(context &ctx, spring3d_handle handle)
Đặt lại: lần spring3d_update() sau, mọi xương lò xo bắt đầu đứng yên ở tư thế của animation.
spring3d_handle spring3d_create(context &ctx, const spring3d_desc &desc)
Tạo một bộ xương lò xo cho một nhân vật.
void foot3d_destroy(context &ctx, foot3d_handle handle)
Hủy bộ đặt chân.
i32 spring3d_update(context &ctx, spring3d_handle handle, const model_pose &pose, const transform3d &transform, f32 dt, bone_pose3d *out, i32 count)
Chạy lò xo dt giây và ghi tư thế cuối của mọi xương vào out: tư thế pose (animation,...
std::function< bool(vec3 from, f32 distance, vec3 &point, vec3 &normal)> foot3d_ground
Mặt đất dưới một điểm, cho foot3d_update(): nhận điểm bắt đầu dò (thế giới) và quãng dò xuống; trả tr...
Definition njin_anim3d.h:216
f32 foot3d_hip_offset(const context &ctx, foot3d_handle handle)
Hông đang hạ bao nhiêu (đơn vị thế giới, âm là hạ xuống) sau lần foot3d_update() cuối,...
i32 retarget3d_source_bone(const context &ctx, retarget3d_handle handle, i32 bone)
Xương nguồn được ghép với xương bone của model đích, để kiểm tra cách ghép.
retarget3d_handle retarget3d_create(context &ctx, const retarget3d_desc &desc)
Chuẩn bị chép animation từ desc.source sang desc.target.
i32 retarget3d_pose(const context &ctx, retarget3d_handle handle, const model_pose &pose, bone_pose3d *out, i32 count)
Tư thế của model đích khi model nguồn ở tư thế pose.
const char * bone_humanoid_name(const char *name)
Tên chuẩn của một xương người (humanoid) từ tên của nó trong file: hiểu cách đặt tên của Mixamo (mixa...
void retarget3d_destroy(context &ctx, retarget3d_handle handle)
Hủy cách chép.
void foot3d_reset(context &ctx, foot3d_handle handle)
Đặt lại: lần foot3d_update() sau đặt chân ngay, không làm mượt từ chỗ cũ.
i32 foot3d_update(context &ctx, foot3d_handle handle, const model_pose &pose, const transform3d &transform, f32 dt, bone_pose3d *out, i32 count, f32 weight=1.0f)
Đặt chân lên mặt đất và ghi tư thế cuối vào out, dò đất bằng physics3d_raycast() thẳng xuống dưới mỗi...
f32 distance(vec2 a, vec2 b)
Khoảng cách giữa hai điểm.
Definition _math.h:69
std::int32_t i32
Số nguyên có dấu 32 bit.
Definition _types.h:14
float f32
Số thực 32 bit.
Definition _types.h:28
std::uint32_t u32
Số nguyên không dấu 32 bit.
Definition _types.h:22
Một xương ở một tư thế: vị trí và ba trục của nó trong không gian của model (trước transform của lần ...
Definition njin_3d.h:771
Định danh của một model 3D, tạo bởi model_load().
Definition _types.h:153
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...
Definition njin_3d.h:620
Cách chép animation của model source sang model target có bộ xương khác: tên khác,...
Definition njin_anim3d.h:116
u32 pair_count
Số cặp.
Definition njin_anim3d.h:122
bool humanoid
Ghép tự động các xương còn lại: cùng tên chuẩn bone_humanoid_name(), hoặc cùng tên (bỏ tiền tố như mi...
Definition njin_anim3d.h:125
model_handle target
Model được vẽ (bộ xương đích).
Definition njin_anim3d.h:118
const char *const * pairs
Cặp tên xương do game ghép: pairs[2 * i] của nguồn đi với pairs[2 * i + 1] của đích.
Definition njin_anim3d.h:121
model_handle source
Model có các animation (bộ xương nguồn).
Definition njin_anim3d.h:117
Định danh của một cách chép animation từ bộ xương này sang bộ xương khác, tạo bởi retarget3d_create()...
Definition _types.h:209
Một chuỗi xương lò xo: xương bone và mọi xương nằm dưới nó (tóc, đuôi, râu, vạt áo).
Definition njin_anim3d.h:16
f32 gravity
Trọng lực kéo đầu xương, đơn vị mỗi giây.
Definition njin_anim3d.h:22
f32 drag
Lực cản, 0..1: 0 đung đưa mãi, 1 không đung đưa (chỉ trễ rồi về).
Definition njin_anim3d.h:21
vec3 gravity_dir
Hướng trọng lực trong thế giới, độ dài 1.
Definition njin_anim3d.h:23
f32 radius
Bán kính va chạm của đầu mỗi xương, đơn vị của model.
Definition njin_anim3d.h:24
i32 bone
Xương gốc của chuỗi (model_bone_find()).
Definition njin_anim3d.h:17
f32 stiffness
Lực kéo về tư thế của animation. Lớn: cứng, ít đung đưa. 0.5 đến 4 là thường.
Definition njin_anim3d.h:19
Một collider mà xương lò xo không xuyên qua (đầu, thân, vai), gắn vào một xương nên đi theo animation...
Definition njin_anim3d.h:30
vec3 offset
Tâm, theo ba trục của xương tính từ gốc của nó (đơn vị của model).
Definition njin_anim3d.h:32
vec3 tail
Đầu kia của capsule, cùng hệ trục với offset.
Definition njin_anim3d.h:33
i32 bone
Xương mang collider; -1 là gốc của model.
Definition njin_anim3d.h:31
f32 radius
Bán kính, đơn vị của model.
Definition njin_anim3d.h:34
Cách tạo một bộ xương lò xo.
Definition njin_anim3d.h:39
model_handle model
Model có xương.
Definition njin_anim3d.h:40
const spring3d_chain * chains
Các chuỗi. Một xương ở hai chuỗi thuộc chuỗi đầu.
Definition njin_anim3d.h:41
u32 chain_count
Số chuỗi.
Definition njin_anim3d.h:42
u32 collider_count
Số collider.
Definition njin_anim3d.h:44
const spring3d_collider * colliders
Các collider, dùng chung cho mọi chuỗi.
Definition njin_anim3d.h:43
Định danh của một bộ xương lò xo (tóc, đuôi, áo choàng), tạo bởi spring3d_create().
Definition _types.h:202
Vector 3 chiều.
Definition _types.h:47