Một đường cong 3D: đường ray của camera, bục di chuyển, lối bay, đường tuần tra. Tiếp...
#include <njin_spline.h>
Các thuộc tính Public | |
| std::vector< vec3 > | points |
| Các điểm điều khiển. | |
| spline_kind | kind = spline_catmull_rom |
| Loại đường cong. | |
| bool | closed = false |
| Đường kín: điểm cuối nối về điểm đầu. | |
| f32 | alpha = 0.5f |
| Chỉ cho Catmull-Rom: 0 là đều (uniform), 0.5 là centripetal (mặc định, không thắt nút), 1 là theo dây cung (chordal). | |
Bảng độ dài (spline_bake() điền, đừng sửa) | |
| std::vector< f32 > | table |
| Độ dài từ đầu đường tới từng mẫu. | |
| i32 | steps = 0 |
| Số mẫu mỗi đoạn. | |
Một đường cong 3D: đường ray của camera, bục di chuyển, lối bay, đường tuần tra.
Sửa points (hay kind, closed, alpha) xong thì gọi spline_bake() một lần: nó lập bảng độ dài để đi theo khoảng cách (spline_point_at(), spline_follow()) với tốc độ đều. Hàm theo tham số t (spline_point()) không cần bảng.