Unity编辑器脚本如何调整或隐藏Inspector自定义按钮与Add Component按钮间距
解决方法分为两种,可根据需求选择:
方案1:调整按钮间距(最推荐,改造成本最低)
直接在自定义按钮的绘制代码下方插入空白间距即可,间距数值可按需调整(单位为像素),修改后的代码示例:
using System.Collections; using System.Collections.Generic; using UnityEditor; using UnityEngine; [CustomEditor(typeof(AddCameras))] public class Cameras : Editor { public override void OnInspectorGUI() { DrawDefaultInspector(); AddCameras myScript = (AddCameras)target; if (GUILayout.Button("Add Cameras")) { myScript.Add(); } // 此处插入20像素空白,可自行调整数值适配你的界面需求 GUILayout.Space(20); } }
即使你删除了DrawDefaultInspector()代码行,只要保留GUILayout.Space()语句,就能有效拉开自定义按钮和下方Add Component按钮的距离,避免误触。
方案2:隐藏默认Add Component按钮
如果不需要Inspector底部的默认组件操作栏,可以通过重写Editor相关方法实现完全自定义绘制,代码示例:
using System.Collections; using System.Collections.Generic; using UnityEditor; using UnityEngine; [CustomEditor(typeof(AddCameras))] public class Cameras : Editor { public override void OnInspectorGUI() { // 自定义组件标题,替代默认标题栏 GUILayout.Label("AddCameras 组件设置", EditorStyles.boldLabel); DrawDefaultInspector(); AddCameras myScript = (AddCameras)target; if (GUILayout.Button("Add Cameras")) { myScript.Add(); } // 撑开布局空间,阻止Unity绘制默认底部组件操作栏 GUILayout.FlexibleSpace(); } // 禁用预览界面,消除多余绘制内容 public override bool HasPreviewGUI() { return false; } }
内容的提问来源于stack exchange,提问作者Daniel Lip
相关产品推荐
相关产品推荐

