拓展编辑器 8 - PreviewView

本文介绍如何在Unity中通过继承ObjectPreview并使用CustomPreview特性,来自定义Inspector窗口中的预览GUI,展示如何加载和绘制自定义纹理及显示对象名称。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Inspector 窗口下方的 preview 窗口也可以扩展,绘制自己的 GUI。

方法:继承 ObjectPreview,并声明 [CustomPreview(typeof(GameObject))]。

using UnityEngine;
using UnityEditor;


/// <summary>
/// 扩展选中对象后的预览窗口
/// </summary>
[CustomPreview(typeof(GameObject))]
public class ObjectPreviewExtend : ObjectPreview
{
    public override bool HasPreviewGUI()
    {
        GameObject go = Selection.activeGameObject;
        // 可以根据对象判断是否需要显示
        return true;
    }

    public override void OnPreviewGUI(Rect r, GUIStyle background)
    {
        Texture tex = AssetDatabase.LoadAssetAtPath<Texture>("Assets/unity.png");
        if(tex != null)
            GUI.DrawTexture(r, tex);
        GUILayout.Label("Hello world!");
        if(Selection.activeGameObject)
            GUILayout.Label(Selection.activeGameObject.name);
        //base.OnPreviewGUI(r, background);
    }
}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值