diff --git a/scene/3d/visual_instance.cpp b/scene/3d/visual_instance.cpp index d31699881..d9baa5be3 100644 --- a/scene/3d/visual_instance.cpp +++ b/scene/3d/visual_instance.cpp @@ -99,7 +99,7 @@ void VisualInstance::_notification(int p_what) { } break; case NOTIFICATION_TRANSFORM_CHANGED: { - if (_is_vi_visible()) { + if (_is_vi_visible() || is_physics_interpolated_and_enabled()) { if (!_is_using_identity_transform()) { Transform gt = get_global_transform(); VisualServer::get_singleton()->instance_set_transform(instance, gt); @@ -107,10 +107,8 @@ void VisualInstance::_notification(int p_what) { } } break; case NOTIFICATION_RESET_PHYSICS_INTERPOLATION: { - if (_is_vi_visible()) { - if (is_physics_interpolated()) { - VisualServer::get_singleton()->instance_reset_physics_interpolation(instance); - } + if (_is_vi_visible() && is_physics_interpolated()) { + VisualServer::get_singleton()->instance_reset_physics_interpolation(instance); } } break; case NOTIFICATION_EXIT_WORLD: {