From 99d71cdf4a89386e86bf1629d86825aa27b6b634 Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Tue, 14 Apr 2026 09:09:19 +0200 Subject: [PATCH] Fix animated model bounds to properly update after animation tick --- Source/Engine/Level/Actors/AnimatedModel.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Source/Engine/Level/Actors/AnimatedModel.cpp b/Source/Engine/Level/Actors/AnimatedModel.cpp index ddafd215d..1f441b6b0 100644 --- a/Source/Engine/Level/Actors/AnimatedModel.cpp +++ b/Source/Engine/Level/Actors/AnimatedModel.cpp @@ -863,6 +863,7 @@ void AnimatedModel::OnActiveInTreeChanged() void AnimatedModel::UpdateBounds() { const auto model = SkinnedModel.Get(); + BoundingSphere prevSphere = _sphere; if (CustomBounds.GetSize().LengthSquared() > 0.01f) { BoundingBox::Transform(CustomBounds, _transform, _box); @@ -893,7 +894,7 @@ void AnimatedModel::UpdateBounds() _box = BoundingBox(_transform.Translation); } BoundingSphere::FromBox(_box, _sphere); - if (_sceneRenderingKey != -1) + if (_sceneRenderingKey != -1 && prevSphere != _sphere) GetSceneRendering()->UpdateActor(this, _sceneRenderingKey, ISceneRenderingListener::Bounds); } @@ -940,7 +941,7 @@ void AnimatedModel::OnAnimationUpdated_Async() _skinningData.OnDataChanged(!PerBoneMotionBlur); } - if (UpdateWhenOffscreen) + //if (UpdateWhenOffscreen) { UpdateBounds(); }