Một tác tử đi trên navmesh cùng các tác tử khác: tự tìm đường, tránh nhau, tách nhau ra khi đứng sát. Tiếp...
#include <njin_nav3d.h>
Các thuộc tính Public | |
| vec3 | position {} |
| Chỗ đặt (được kéo về navmesh). | |
| f32 | radius = 0.4f |
| Bán kính, mét. | |
| f32 | height = 1.8f |
| Chiều cao, mét. | |
| f32 | max_speed = 3.5f |
| Tốc độ tối đa, mét mỗi giây. | |
| f32 | max_accel = 10.0f |
| Gia tốc tối đa, mét mỗi giây bình phương. | |
| f32 | separation = 2.0f |
| Độ mạnh của việc tách khỏi tác tử bên cạnh. 0 là tắt. | |
| bool | avoid = true |
| Né tác tử khác trên đường đi. | |
| f32 | arrive_distance = 0.0f |
| Tới cách đích bấy nhiêu mét là đã đến (nav3d_agent_arrived()). 0 là bằng radius. | |
| character3d_handle | character {} |
| Nhân vật (njin_physics3d.h) do tác tử này lái: mỗi frame vận tốc của tác tử thành vận tốc ngang của nhân vật (character3d_set_velocity(); engine tự cho nó rơi theo physics3d_gravity() khi không đứng trên sàn), và chỗ nhân vật thật sự đến (bị đẩy, va chạm) thành chỗ của tác tử. | |
| i32 | filter = 0 |
| Số bộ lọc (navmesh3d_set_filter()) tác tử tìm đường theo, 0..15. | |
Một tác tử đi trên navmesh cùng các tác tử khác: tự tìm đường, tránh nhau, tách nhau ra khi đứng sát.
| character3d_handle njin::nav3d_agent_desc::character {} |
Nhân vật (njin_physics3d.h) do tác tử này lái: mỗi frame vận tốc của tác tử thành vận tốc ngang của nhân vật (character3d_set_velocity(); engine tự cho nó rơi theo physics3d_gravity() khi không đứng trên sàn), và chỗ nhân vật thật sự đến (bị đẩy, va chạm) thành chỗ của tác tử.
Game đừng đặt vận tốc cho nhân vật này nữa. Không hợp lệ là tác tử tự đi, không có va chạm vật lý.