From 2935b8ba10e23820ce28ff26fc64543dbfefb969 Mon Sep 17 00:00:00 2001 From: Chandler Cox Date: Fri, 12 Jan 2024 19:12:48 -0600 Subject: [PATCH 1/2] Fix prefab transform on drag drop with parent. #1749 --- Source/Editor/SceneGraph/GUI/ActorTreeNode.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Source/Editor/SceneGraph/GUI/ActorTreeNode.cs b/Source/Editor/SceneGraph/GUI/ActorTreeNode.cs index 9cfe5b7bd..4b91e8940 100644 --- a/Source/Editor/SceneGraph/GUI/ActorTreeNode.cs +++ b/Source/Editor/SceneGraph/GUI/ActorTreeNode.cs @@ -650,7 +650,10 @@ namespace FlaxEditor.SceneGraph.GUI } } actor.Name = item.ShortName; - actor.Transform = spawnParent.Transform; + if (_dragAssets.Objects[i] is PrefabItem p) + actor.Transform = spawnParent.Transform + actor.Transform; + else + actor.Transform = spawnParent.Transform; ActorNode.Root.Spawn(actor, spawnParent); actor.OrderInParent = newOrder; } From 0eb4e0205e23a71021eaad8bc2dfc652988f7947 Mon Sep 17 00:00:00 2001 From: Chandler Cox Date: Fri, 12 Jan 2024 19:43:58 -0600 Subject: [PATCH 2/2] Better fix --- Source/Editor/SceneGraph/GUI/ActorTreeNode.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Source/Editor/SceneGraph/GUI/ActorTreeNode.cs b/Source/Editor/SceneGraph/GUI/ActorTreeNode.cs index 4b91e8940..09859f398 100644 --- a/Source/Editor/SceneGraph/GUI/ActorTreeNode.cs +++ b/Source/Editor/SceneGraph/GUI/ActorTreeNode.cs @@ -650,11 +650,11 @@ namespace FlaxEditor.SceneGraph.GUI } } actor.Name = item.ShortName; - if (_dragAssets.Objects[i] is PrefabItem p) - actor.Transform = spawnParent.Transform + actor.Transform; - else - actor.Transform = spawnParent.Transform; + if (_dragAssets.Objects[i] is not PrefabItem p) + actor.Transform = Transform.Identity; + var previousTrans = actor.Transform; ActorNode.Root.Spawn(actor, spawnParent); + actor.LocalTransform = previousTrans; actor.OrderInParent = newOrder; } result = DragDropEffect.Move;