Mô tả một tấm vải cho cloth3d_create(): một lưới chữ nhật columns x rows ô, nằm trong mặt phẳng x–y của nó (đứng thẳng như lá cờ, rèm cửa), tâm ở position. Tiếp...
#include <njin_physics3d.h>
Các thuộc tính Public | |
| vec3 | position {0.0f, 0.0f, 0.0f} |
| Tâm tấm vải. | |
| vec3 | rotation {0.0f, 0.0f, 0.0f} |
| Góc xoay, độ, cùng thứ tự với njin::transform3d. | |
| vec2 | size {2.0f, 2.0f} |
| Chiều rộng (x) và chiều cao (y). | |
| i32 | columns = 20 |
| Số ô theo chiều rộng, 1..512. | |
| i32 | rows = 20 |
| Số ô theo chiều cao, 1..512. | |
| f32 | mass = 0.5f |
| Khối lượng cả tấm, kg. | |
| f32 | stiffness = 1.0f |
| Độ cứng của sợi vải, 0 (dãn) .. 1 (không dãn). | |
| f32 | bend = 0.05f |
| Độ cứng khi gập, 0 (lụa) .. 1 (bìa cứng). | |
| f32 | damping = 0.1f |
| Cản chuyển động: vận tốc giảm theo tỉ lệ này mỗi giây. | |
| f32 | friction = 0.5f |
| Ma sát, 0..1. | |
| f32 | drag = 1.0f |
| Hệ số cản của không khí, như njin::softbody3d_desc::drag. | |
| f32 | thickness = 0.02f |
| Độ dày, đơn vị thế giới: các đỉnh giữ cách mặt vật khác chừng này, để vải không chìm vào bàn khi vẽ. | |
| u8 | pin_edges = 0 |
| Các cạnh bị ghim (bit njin::cloth3d_edge). | |
| const u32 * | pinned = nullptr |
| Các đỉnh bị ghim thêm (góc trên của lá cờ...). | |
| u32 | pinned_count = 0 |
| Số phần tử của pinned. | |
| u64 | user = 0 |
| Số của game, đọc lại bằng softbody3d_user(). | |
| bool | collide_soft = true |
| Như njin::softbody3d_desc::collide_soft: hai tấm vải không xuyên qua nhau. | |
| bool | walkable = true |
| Như njin::softbody3d_desc::walkable: đứng được trên tấm vải nằm ngang. | |
Mô tả một tấm vải cho cloth3d_create(): một lưới chữ nhật columns x rows ô, nằm trong mặt phẳng x–y của nó (đứng thẳng như lá cờ, rèm cửa), tâm ở position.
Đỉnh ở hàng r, cột c có chỉ số r * (columns + 1) + c; hàng 0 là cạnh trên, cột 0 là cạnh trái (phía -x). Xoay rotation.x = 90 để vải nằm ngang (khăn trải bàn).