You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 11:06:06