FTI - Reduce VisualInstance3D xform notifications

This commit is contained in:
lawnjelly
2025-04-29 11:44:25 +01:00
parent b89c47bb85
commit e10003ce33
4 changed files with 26 additions and 3 deletions

View File

@@ -1157,9 +1157,21 @@ Vector3 Node3D::to_global(Vector3 p_local) const {
return get_global_transform().xform(p_local);
}
void Node3D::_physics_interpolated_changed() {
ERR_THREAD_GUARD;
data.notify_transform = data.notify_transform_requested || (data.notify_transform_when_fti_off && !is_physics_interpolated_and_enabled());
}
void Node3D::_set_notify_transform_when_fti_off(bool p_enable) {
ERR_THREAD_GUARD;
data.notify_transform_when_fti_off = p_enable;
data.notify_transform = data.notify_transform_requested || (data.notify_transform_when_fti_off && !is_physics_interpolated_and_enabled());
}
void Node3D::set_notify_transform(bool p_enabled) {
ERR_THREAD_GUARD;
data.notify_transform = p_enabled;
data.notify_transform_requested = p_enabled;
data.notify_transform = data.notify_transform_requested || (data.notify_transform_when_fti_off && !is_physics_interpolated_and_enabled());
}
bool Node3D::is_transform_notification_enabled() const {
@@ -1441,6 +1453,8 @@ Node3D::Node3D() :
data.ignore_notification = false;
data.notify_local_transform = false;
data.notify_transform = false;
data.notify_transform_requested = false;
data.notify_transform_when_fti_off = false;
data.visible = true;
data.disable_scale = false;