第三章——扩展Unity编辑器2

本文介绍了如何扩展Unity编辑器的Scene视图和Game视图,包括添加辅助元素、自定义UI、常驻辅助UI、禁用选中对象、拓展Game视图功能、自定义菜单项和快捷键。通过实例代码展示了如何在Scene视图中绘制辅助元素和UI,以及如何在非运行模式下执行脚本。同时,还讲解了如何创建自定义菜单和设置全局快捷键,提升编辑器的使用体验。

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

 


扩展Scene 视图



辅助元素(在场景编辑中添加辅助元素)


●  在场景编辑的过程中有时需要添加一些辅助元素,下面代码如下:选中 Main Camera 对象时,程序会给摄像机组件添加一条红色的辅助线,并且在线段终点处添加一个立方体辅助对象。请注意这里拓展的辅助元素只能用来编辑,并不会影响到最终发布的游戏。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
public class Script_03_15 : MonoBehaviour
{
    void OnDrawGizmosSelected()
    {
        Gizmos.color = Color.red;
        //画线
        Gizmos.DrawLine(transform.position, Vector3.one);
        //立方体
        Gizmos.DrawCube(transform.position, Vector3.one);
    }
}

  Gizmos.color——设置接下来要绘制的小玩意的颜色。

OnDrawGizmosSelected()—— 在该函数中添加辅助元素。

 Gizmos.DrawLine——从一个方向向另一个方向画一条线。

transform.position——transform 在世界坐标中的位置。

Vector3.one—— Vector3(1,1,1)的简写。

如果希望辅助元素并不依赖选择对象出现,而是始终都出现在 Scene 视图中,可使用方法OnDrawGizmos()绘制元素:

void OnDrawGizmos()
{
Gizmos.DrawSphere(transform.position, 1);
}

看下扩展后的效果:

 


辅助UI (添加EditorGUI 在Scene 中处理一些操作事件)
 


● 在 Scene 视图中,我们可以添加 EditorGUI,这样可以方便地在视图中处理一些操作事件。如图所示,我们可以在 Scene 视图中绘制辅助 UI, EditorGUI 的代码需要在 Handles.BeginGUI() 和 Handles.EndGUI()中间绘制完成。这里我们只设置摄像机辅助 UI,其实也可以修改成别的对象,比如游戏对象。相关代码如下:

在scripts 文件夹创建一个文本这样写:文件名是Script_03_16Component 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
public class Script_03_16Component : 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值