1
0
Fork 0

Use AABB center instead of origin for visibility fade

Fixes #79471
Fixes #102799
This commit is contained in:
Thomas ten Cate 2025-12-03 09:08:31 +01:00
parent 9f5309a2a4
commit c2bc0afa35
1 changed files with 1 additions and 1 deletions

View File

@ -967,7 +967,7 @@ void RenderForwardClustered::_fill_render_list(RenderListType p_render_list, con
float fade_alpha = 1.0;
if (inst->fade_near || inst->fade_far) {
float fade_dist = inst->transform.origin.distance_to(p_render_data->scene_data->cam_transform.origin);
float fade_dist = inst->transformed_aabb.get_center().distance_to(p_render_data->scene_data->cam_transform.origin);
// Use `smoothstep()` to make opacity changes more gradual and less noticeable to the player.
if (inst->fade_far && fade_dist > inst->fade_far_begin) {
fade_alpha = Math::smoothstep(0.0f, 1.0f, 1.0f - (fade_dist - inst->fade_far_begin) / (inst->fade_far_end - inst->fade_far_begin));