diff --git a/Source/Editor/SceneGraph/Actors/BoxColliderNode.cs b/Source/Editor/SceneGraph/Actors/BoxColliderNode.cs index c4fd47f71..4a7150972 100644 --- a/Source/Editor/SceneGraph/Actors/BoxColliderNode.cs +++ b/Source/Editor/SceneGraph/Actors/BoxColliderNode.cs @@ -42,6 +42,7 @@ namespace FlaxEditor.SceneGraph.Actors if (value is BoxCollider collider) collider.AutoResize(!_keepLocalOrientation); } + Presenter.OnModified(); } } diff --git a/Source/Engine/Physics/Colliders/BoxCollider.cpp b/Source/Engine/Physics/Colliders/BoxCollider.cpp index 1e90cb91f..47e551b37 100644 --- a/Source/Engine/Physics/Colliders/BoxCollider.cpp +++ b/Source/Engine/Physics/Colliders/BoxCollider.cpp @@ -23,15 +23,15 @@ void BoxCollider::SetSize(const Float3& value) void BoxCollider::AutoResize(bool globalOrientation = true) { Actor* parent = GetParent(); - if (Cast(parent)) + if (parent == nullptr || Cast(parent)) return; // Get bounds of all siblings (excluding itself) const Vector3 parentScale = parent->GetScale(); if (parentScale.IsAnyZero()) - return; // Avoid division by zero + return; - // Hacky way to get unrotated bounded box of parent. + // Hacky way to get unrotated bounded box of parent const Quaternion parentOrientation = parent->GetOrientation(); parent->SetOrientation(Quaternion::Identity); BoundingBox parentBox = parent->GetBox();