Cách rải một loại vật (đá, cây, bụi) lên địa hình (scatter3d_create()). Tiếp...
#include <njin_world3d.h>
Các thuộc tính Public | |
| terrain3d_handle | terrain {} |
| Địa hình. | |
| model_handle | model {} |
| Model vẽ ở gần. | |
| model_handle | far_model {} |
| Model đơn giản hơn cho chỗ xa. Không hợp lệ là dùng model. | |
| f32 | density = 0.02f |
| Số vật mỗi mét vuông nơi dày nhất. | |
| f32 | spacing = 2.0f |
| Hai vật cách nhau ít nhất bấy nhiêu mét. | |
| f32 | min_height = -1.0e9f |
| Chỉ đặt chỗ cao từ mức này, mét. | |
| f32 | max_height = 1.0e9f |
| Chỉ đặt chỗ thấp hơn mức này, mét. | |
| f32 | min_slope = 0.0f |
| Độ dốc nhỏ nhất, độ. | |
| f32 | max_slope = 30.0f |
| Độ dốc lớn nhất, độ. | |
| i32 | layer = -1 |
| Chỉ đặt trên lớp này (trọng số từ layer_min); -1 là mọi lớp. | |
| f32 | layer_min = 0.5f |
| Trọng số tối thiểu của layer. | |
| noise_desc | patches {.seed = 5, .frequency = 0.02f, .octaves = 2} |
| Nhiễu chia thành cụm, khi patchiness > 0. | |
| f32 | patchiness = 0.0f |
| 0 là rải đều; 1 là thành cụm (rừng, bãi đá). | |
| f32 | scale_min = 0.8f |
| Tỉ lệ nhỏ nhất. | |
| f32 | scale_max = 1.2f |
| Tỉ lệ lớn nhất. | |
| f32 | align = 0.0f |
| 0 là đứng thẳng (cây); 1 là nghiêng theo mặt đất (đá). | |
| f32 | sink = 0.0f |
| Lún xuống đất bấy nhiêu mét (chân đá không lơ lửng trên dốc). | |
| rgba | color {1.0f, 1.0f, 1.0f, 1.0f} |
| Màu nhân vào model. | |
| f32 | color_jitter = 0.1f |
| Mỗi vật sáng tối khác nhau tới tỉ lệ này. | |
| f32 | lod_distance = 80.0f |
| Xa hơn thì dùng far_model, mét. | |
| f32 | draw_distance = 300.0f |
| Xa hơn thì không vẽ, mét. | |
| u32 | seed = 1 |
| Hạt giống. | |
Cách rải một loại vật (đá, cây, bụi) lên địa hình (scatter3d_create()).
Chỗ đặt được chọn một lần khi tạo, theo hạt giống: đủ xa nhau (spacing), trong khoảng độ cao, độ dốc và lớp cho phép. Vật được vẽ bằng instancing theo từng vùng, bỏ vùng ngoài tầm nhìn, dùng far_model cho vùng xa hơn lod_distance và không vẽ gì xa hơn draw_distance.