mirror of https://github.com/godotengine/godot
Use AABB center instead of origin for visibility fade
Fixes #79471 Fixes #102799
This commit is contained in:
parent
9f5309a2a4
commit
c2bc0afa35
|
|
@ -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));
|
||||
|
|
|
|||
Loading…
Reference in New Issue