Unity编辑器拓展
为Unity编辑器添加自定义菜单
心前阳光
天助自助者
展开
-
Unity 获取文件夹引用并读取文件夹路径
点击文件夹 Inspector窗口打印文件名。弹出窗口 选择文件夹 打印文件夹内文件名。原创 2024-02-23 23:57:28 · 868 阅读 · 0 评论 -
Unity编辑器创建自定义窗口
创建一个类继承Editorwindow的脚本,放置在Editor文件夹中使用MenuItem创建一个菜单,用于打开窗口使用EditorWindow的GetWindow方法,创建窗口OnGUI函数中定义窗口布局和交互逻辑使用ScriptableObject存储数据。原创 2023-04-28 11:49:08 · 507 阅读 · 0 评论 -
GUI 编辑模式下显示控件
使用方法脚本类前添加 [ExecuteAlways] 特性打开Game视图 该脚本自动执行案例using UnityEngine;[ExecuteAlways] //添加特性 Game视图下自动执行public class OnGUILearn : MonoBehaviour{ private void OnGUI() { Debug.Log("OnGUI"); GUI.Label(new Rect(0, 0, 50, 50), "文本");原创 2021-12-26 10:05:40 · 341 阅读 · 0 评论 -
GUI 自动布局
自动布局不需要设置具体的位置和大小,自动对齐private void OnGUI(){ GUILayout.BeginArea(new Rect(50,50,200,200));//设置分布区域 GUILayout.Button("文本");//竖直布局 不需要设置具体的位置和大小 GUILayout.Button("文本2"); GUILayout.BeginHorizontal();//水平布局 GUILayout.Button("文本");原创 2021-12-25 16:05:27 · 662 阅读 · 0 评论 -
GUI 全局颜色、皮肤样式
全局颜色GUI.color 设置控件背景和文本的颜色GUI.backgroundColor 设置背景颜色GUI.contentColor 设置文本颜色注意:color设置后影响backgroundColor和contentColor的设置private void OnGUI(){ GUI.color = Color.red; //GUI.backgroundColor = Color.green; GUI.Button(new Rect(0, 0, 40, 40), "测原创 2021-12-25 15:37:43 · 1230 阅读 · 0 评论 -
GUI 窗口、模态窗口、拖动窗口
窗口参数1 区分不同窗口参数3 有1个int参数的委托函数 委托函数的参数是参数1 用于绘制窗口包含的内容GUI.Window(1, new Rect(50, 50, 100, 100), WindowContent, "窗口");public void WindowContent(int id){ switch (id) { case 1: GUI.Button(new Rect(5, 15, 40, 20), "你好");原创 2021-12-24 10:22:14 · 770 阅读 · 0 评论 -
GUI 分组、滚动列表
分组一个组包裹着其他控件,组是它们的父物体;改变父物体的位置,子物体的位置改变public Rect rect = new Rect(0, 0, 100, 50);private void OnGUI(){ GUI.BeginGroup(rect); GUI.Box(new Rect(0, 0, 50, 50), "子对象1"); GUI.Box(new Rect(50, 0, 50, 50), "子对象2"); GUI.EndGroup();}滚动列表pu原创 2021-12-23 23:04:43 · 1641 阅读 · 0 评论 -
GUI 工具栏、选择网格
工具栏int select = 0;string[] optionContent = new string[] { "工具1", "工具2", "工具3" };private void OnGUI(){ select = GUI.Toolbar(new Rect(0, 0, 200, 20), select, optionContent);}//屏幕出现三个按钮 按钮在 w:200 h:30 的矩形内 选择一个按钮 其他按钮取消选择状态选择网格和工具栏作用一样 但排版灵活int原创 2021-12-23 22:11:02 · 254 阅读 · 0 评论 -
GUI 绘制图片、框
绘制图片public Rect rect = new Rect(0, 0, 100, 100);public Texture texture;public ScaleMode mode = ScaleMode.ScaleAndCrop;//图片缩放的模式 StretchToFill 拉升填充 不受缩放影响 图片铺满设置的大小、ScaleAndCrop 缩放和裁剪 按比例缩放 裁剪超出范围的部分、ScaleToFit 按比例缩放public bool isAlpha;//图片是否使用透明通道publ原创 2021-12-23 10:32:03 · 480 阅读 · 0 评论 -
GUI 输入框、拖动条
输入框string inputStr;//暂存输入的信息 int maxInputLength=10;private void OnGUI(){ inputStr = GUI.TextField(new Rect(0,0,100,100),inputStr,maxInputLength);//输入的信息 赋值给inputStr}密码密码框string inputPW = "";private void OnGUI(){ inputPW = GUI.PasswordFiel原创 2021-12-23 10:05:08 · 410 阅读 · 0 评论 -
GUI Toggle
多选框bool isSel//参数二 表示开关的状态 返回值bool 选中返回trueisSel = GUI.Toggle(new Rect(5, 5, 100, 30), isSel, “开关”, gUIStyle);单选框多个开关 只有一个可以处于开启转态int nowIndex = 1;if (GUI.Toggle(new Rect(5, 5, 100, 30), nowIndex == 1, “开关”)){ nowIndex = 1; }if (GUI.Toggle(new R.原创 2021-12-13 10:13:40 · 436 阅读 · 0 评论 -
GUI 绘制文本
GUI控件在OnGUI函数中绘制,使用GUI控件的脚本要继承MonoBehaviourGUI每帧更新 在OnDisable之前 LateUpdate之后GUI的原点在屏幕左上角GUISyle 设置自定义样式GUIContent 包括文本、图片纹理、tooltipGUI.tooltip 返回当前鼠标或键盘选中的控件 对应的tooltip信息GUI.Lable静态函数绘制文本例子:public class OnGUiLearn : MonoBehaviour{ public Rec.原创 2021-12-12 10:55:14 · 362 阅读 · 0 评论 -
刷新Project目录
编辑器相关代码一般放在Editor文件夹,编辑器代码只作用于编辑器,打包时Editor文件夹的内容不会被打包编辑器添加自定义菜单项命名空间 using UnityEditor 特性[MenuItem()]特性下方为静态函数添加刷新Project目录的菜单项 [MenuItem("刷新/刷新Project目录")] static void Test() { Debug.Log("刷新project目录"); //刷新project目录 AssetDatabase.原创 2021-11-14 22:14:03 · 441 阅读 · 0 评论