Hiệu ứng cho các hình 3D vẽ sau fx3d_set(): nháy màu và tan biến, như njin::flash_fx và njin::dissolve_fx của sprite. Tiếp...
#include <njin_3d.h>
Các thuộc tính Public | |
| rgba | flash {1.0f, 1.0f, 1.0f, 0.0f} |
| Màu tô lên hình, thay màu từng điểm mà vẫn giữ hình dáng (khác tint, chỉ nhân màu). | |
| f32 | dissolve = 0.0f |
| Mức tan biến, 0..1. | |
| rgba | edge_color {1.0f, 0.55f, 0.1f, 1.0f} |
| Màu viền cháy ở chỗ đang tan. a bằng 0 là bỏ viền. | |
| f32 | edge_width = 0.08f |
| Độ dày viền, theo thang ngẫu nhiên 0..1. | |
| f32 | grain = 0.1f |
| Cỡ mỗi mảng, đơn vị thế giới. | |
| f32 | seed = 0.0f |
| Đổi hình mẫu tan, để hai vật không tan giống hệt nhau. | |
| vec3 | mask_center {0.0f, 0.0f, 0.0f} |
| Khoét chỗ che (sphere masking), cho camera góc thứ ba: phần hình nằm giữa camera và mask_center (đơn vị thế giới 3D), trong một hình nón loe dần tới bán kính mask_radius ở mask_center, bị bỏ đi theo mẫu chấm, mép mờ dần, nên nhân vật sau tường vẫn thấy được. | |
| f32 | mask_radius = 0.0f |
| Bán kính chỗ khoét ở mask_center, đơn vị thế giới 3D. | |
Hiệu ứng cho các hình 3D vẽ sau fx3d_set(): nháy màu và tan biến, như njin::flash_fx và njin::dissolve_fx của sprite.
Hình 3D vẽ ngay lúc gọi, không phải entity, nên game tự giữ thời gian và đặt mức hiệu ứng mỗi frame. Chỉ shader có sẵn của engine làm hiệu ứng này; hình vẽ bằng shader của game (shader_begin()) không bị ảnh hưởng.
| rgba njin::fx3d::flash {1.0f, 1.0f, 1.0f, 0.0f} |
Màu tô lên hình, thay màu từng điểm mà vẫn giữ hình dáng (khác tint, chỉ nhân màu).
a là độ phủ: 0 là không nháy, 1 là tô kín.
| f32 njin::fx3d::dissolve = 0.0f |
Mức tan biến, 0..1.
0 là còn nguyên, 1 là biến mất hẳn. Hình bị bớt từng mảng theo một số ngẫu nhiên cố định của mảng.
| vec3 njin::fx3d::mask_center {0.0f, 0.0f, 0.0f} |
Khoét chỗ che (sphere masking), cho camera góc thứ ba: phần hình nằm giữa camera và mask_center (đơn vị thế giới 3D), trong một hình nón loe dần tới bán kính mask_radius ở mask_center, bị bỏ đi theo mẫu chấm, mép mờ dần, nên nhân vật sau tường vẫn thấy được.
Mặt đất dưới chân (thấp hơn mask_center quá 0,6 mask_radius) giữ nguyên. Bóng đổ không đổi. Đặt khi vẽ những gì có thể che (nhà, cây), tắt trước khi vẽ nhân vật. mask_radius bằng 0 là tắt.