Undo, Redo 시 객체의 콜라이더가 정상적이지 않은 문제 #188

Merged
UVCXR merged 2 commits from pgd/20250627_2 into main 2025-06-30 15:55:58 +09:00
3 changed files with 11 additions and 4 deletions

View File

@@ -150,7 +150,7 @@ namespace Studio.AssetTool
//selectRenderObject.OnSelected += panel_ObjectDistance.SelectObjectFromCreate; //selectRenderObject.OnSelected += panel_ObjectDistance.SelectObjectFromCreate;
selectRenderObject.instantiateObject = selectedAssetData.InstantiateLoadedObject; selectRenderObject.instantiateObject = selectedAssetData.InstantiateLoadedObject;
selectRenderObject.getBounds = selectedAssetData.GetCombinedBoundary; selectRenderObject.getBounds = selectedAssetData.GetCombinedBoundary;
selectRenderObject.CreateRenderObject(); selectRenderObject.CreateRenderObjectAndResizeBoundary();
selectRenderObject.Select(); selectRenderObject.Select();
selectedAssetData.AddTransformToRender(selectedItem.transform); selectedAssetData.AddTransformToRender(selectedItem.transform);
CoroutineRunner.instance.StartCoroutine(ChangeSelectedAssetTransform()); CoroutineRunner.instance.StartCoroutine(ChangeSelectedAssetTransform());
@@ -183,7 +183,7 @@ namespace Studio.AssetTool
//selectRenderObject.OnSelected += panel_ObjectDistance.SelectObjectFromCreate; //selectRenderObject.OnSelected += panel_ObjectDistance.SelectObjectFromCreate;
selectRenderObject.instantiateObject = selectedAssetData.InstantiateLoadedObject; selectRenderObject.instantiateObject = selectedAssetData.InstantiateLoadedObject;
selectRenderObject.getBounds = selectedAssetData.GetCombinedBoundary; selectRenderObject.getBounds = selectedAssetData.GetCombinedBoundary;
selectRenderObject.CreateRenderObject(); selectRenderObject.CreateRenderObjectAndResizeBoundary();
selectRenderObject.Select(); selectRenderObject.Select();
selectedAssetData.AddTransformToRender(selectedItem.transform); selectedAssetData.AddTransformToRender(selectedItem.transform);
CoroutineRunner.instance.StartCoroutine(ChangeSelectedAssetTransform()); CoroutineRunner.instance.StartCoroutine(ChangeSelectedAssetTransform());

View File

@@ -218,6 +218,13 @@ namespace Studio.AssetTool
Hide(); Hide();
} }
public void CreateRenderObject() public void CreateRenderObject()
{
if (renderObject == null)
{
renderObject = instantiateObject?.Invoke(transform);
}
}
public void CreateRenderObjectAndResizeBoundary()
{ {
if (renderObject == null) if (renderObject == null)
{ {

View File

@@ -56,7 +56,7 @@ namespace Studio.Command
copyAsset.renderObject.getBounds = copySource.assetData.GetCombinedBoundary; copyAsset.renderObject.getBounds = copySource.assetData.GetCombinedBoundary;
copyAsset.renderObject.onTransformChanged = copySource.assetData.OnTransformDataChanged; copyAsset.renderObject.onTransformChanged = copySource.assetData.OnTransformDataChanged;
copyAsset.renderObject.instantiateObject = copySource.assetData.InstantiateLoadedObject; copyAsset.renderObject.instantiateObject = copySource.assetData.InstantiateLoadedObject;
copyAsset.renderObject.CreateRenderObject(); copyAsset.renderObject.CreateRenderObjectAndResizeBoundary();
copyAsset.hierarchyItem.linkedObject = copyObject; copyAsset.hierarchyItem.linkedObject = copyObject;
copyAsset.renderObject.transform.position = copySource.renderObject.transform.position; copyAsset.renderObject.transform.position = copySource.renderObject.transform.position;
copyAsset.renderObject.transform.rotation = copySource.renderObject.transform.rotation; copyAsset.renderObject.transform.rotation = copySource.renderObject.transform.rotation;
@@ -83,7 +83,7 @@ namespace Studio.Command
childAsset.renderObject.getBounds = childAsset.assetData.GetCombinedBoundary; childAsset.renderObject.getBounds = childAsset.assetData.GetCombinedBoundary;
childAsset.renderObject.onTransformChanged = childAsset.assetData.OnTransformDataChanged; childAsset.renderObject.onTransformChanged = childAsset.assetData.OnTransformDataChanged;
childAsset.renderObject.instantiateObject = childSource.assetData.InstantiateLoadedObject; childAsset.renderObject.instantiateObject = childSource.assetData.InstantiateLoadedObject;
childAsset.renderObject.CreateRenderObject(); childAsset.renderObject.CreateRenderObjectAndResizeBoundary();
childAsset.hierarchyItem.linkedObject = copyChildObject; childAsset.hierarchyItem.linkedObject = copyChildObject;
childAsset.renderObject.transform.position = childSource.renderObject.transform.position; childAsset.renderObject.transform.position = childSource.renderObject.transform.position;
childAsset.renderObject.transform.rotation = childSource.renderObject.transform.rotation; childAsset.renderObject.transform.rotation = childSource.renderObject.transform.rotation;