Camera & Post Processing
Last updated
import "core:ao"
My_Player :: class : Player_Base {
ao_late_update :: method(dt: float) {
if !is_local_or_server() return;
camera.follow_player = false;
// Follow slightly above the player
target_pos := entity.world_position + v2{0, 0.5};
// Smoothly move towards the target (dt-safe)
t := clamp(dt * 10.0, 0.0, 1.0);
camera.position = lerp(camera.position, target_pos, t);
// Smooth zoom
target_size := 6.0;
camera.size = lerp(camera.size, target_size, t);
}
}import "core:ao"
My_Player :: class : Player_Base {
ao_late_update :: method(dt: float) {
if !is_local_or_server() return;
// Apply bloom + vignette every frame
Post_Processing.bloom({bloom_amount = 0.04});
Post_Processing.vignette({radius = 0.8, softness = 0.4});
}
}