반응형
[MenuItem("GameObject/FieldObject/CopyComponet (Ctrl+Alt+Shift+C) %#&c")]
static void CopyComponent()
{
_copyObject = Selection.activeObject as GameObject;
}
[MenuItem("GameObject/FieldObject/PasteComponet (Ctrl+Alt+Shift+V) %#&v")]
static void PasteComponet()
{
if (_copyObject == null)
{
Debug.LogError("복사된 오브젝트가 없습니다.");
return;
}
Component[] componentList = _copyObject.GetComponents<Component>();
GameObject obj = Selection.activeObject as GameObject;
obj.name = _copyObject.name;
for (int i = 0, count = componentList.Length; i < count; ++i)
{
Component targetObjectComponent = obj.GetComponent(componentList[i].GetType());
UnityEditorInternal.ComponentUtility.CopyComponent(componentList[i]);
if (targetObjectComponent != null)
{
UnityEditorInternal.ComponentUtility.PasteComponentValues(targetObjectComponent);
}
else
{
UnityEditorInternal.ComponentUtility.PasteComponentAsNew(obj);
}
}
}
반응형
'유니티 > 에디터' 카테고리의 다른 글
[Unity] 프리팹 에디터 환경의 Scene 변경하기 (Prefab Editing Environments) (0) | 2020.04.14 |
---|---|
[Unity] Rendertexure로 UI에 캐릭터 보이게하기 (0) | 2019.11.27 |
[Unity] CustomEditor 인스펙터에 버튼만들기 (0) | 2019.05.10 |
[Unity] Android 모바일로 Unity Profiler 사용하기 (0) | 2019.02.08 |
[Unity] Camera 생성시 기본적으로 붙어있는 GUI Layer / Flare Layer / Audio Listener (0) | 2018.10.31 |