第一种方法是使用Editor里的按钮
第二种是使用代码来实现这个过程
需要注意的是:将其按钮放在Hieracrchy下的右键扩展里时会像windows注册表右键扩展那样,你选择了几个obj就会执行几次
你可以将按钮放在上方菜单栏里,这样就可以只会执行一次,或者你可以自行判断去把另外几个return
public class EditorHelper:EditorWindow{
[MenuItem("GameObject/CopyPaste",false,-1)]
public static void CopyPaste(){
Uobj[] o = Selection.objects;
if(o.Length == 2) {
// 获取第一个物体的RectTransform
RectTransform rtf1 = (o[0] as GameObject).GetComponent<RectTransform>();
RectTransform rtf2 = (o[1] as GameObject).GetComponent<RectTransform>();
//复制第一个组件
UnityEditorInternal.ComponentUtility.CopyComponent(rtf1);
//粘贴到第二个组件中
UnityEditorInternal.ComponentUtility.CopyComponent(rtf2);
}
}
}