定制你的Unity编辑器
Unity的编辑器可以通过写脚本进行界面定制,包括添加功能菜单,今天写游戏Demo用到了记录一下。
为Unity添加子菜单
示例程序
[AddComponentMenu("Defend Homeland/GridNode")]
public class GridNode : MonoBehaviour
{......
}
子菜单预览
相应地在Unity的Component菜单下就会有我添加的脚本
在编辑器中执行函数
示例代码
//构建地图[ContextMenu("BuildMap")]void BuildMap (){.....}
把脚本绑定在GameObject上面时,点击右上角或者鼠标右键,就会看到在代码中添加的函数,点击即可执行。
public字段不显示在Inspector
示例代码
//不在Inspector显示[HideInInspector]public int m_life = 3;//生命public int m_wave = 1;//波数public int m_point = 10;//点数
效果预览
而这样在检视面板中就不会显示出m_life这个public类型,只有其它两个
自定义菜单栏
示例代码
using UnityEngine;
using UnityEditor;
using System.Collections;/// <summary>
///
/// 作用:
/// 日期:2013-09-11
/// </summary>[AddComponentMenu("Defend Homeland/PathTool")]
public class PathTool : ScriptableObject
{static PathNode m_parent = null;//新建一个菜单项【PathTool】,子菜单项(Set Parent)快捷键为 Ctrl + Q[MenuItem("PathTool/Set Parent %q")]static void SetParent (){//如果没有选中任何物体,或选择物体数量大于1,则返回if (!Selection.activeGameObject || Selection.GetTransforms (SelectionMode.Unfiltered).Length > 1)return;//如果选中,将选中的物体的tag设为pathnodeif (Selection.activeGameObject.tag.CompareTo ("pathnode") == 0) {//设置父节点m_parent = Selection.activeGameObject.GetComponent<PathNode> (); }}//新建菜单项[PathTool/Set NextChild] ,快捷键为Ctrl+w[MenuItem("PathTool/Set NextChild %w")]static void SetNextChild (){//如果没有选中任何物体,或选择的物体数量大于1,则返回if (!Selection.activeGameObject || Selection.GetTransforms (SelectionMode.Unfiltered).Length > 1)return;if (Selection.activeGameObject.tag.CompareTo ("pathnode") == 0) {//设置子节点m_parent.SetNext (Selection.activeGameObject.GetComponent<PathNode> ());m_parent = null;}}
}
添加菜单效果
回到Unity编辑器界面,界面发生了如下变化
资料
这些经验及小技巧来自我正在读的书《Unity3D手机游戏开发,感谢作者!
转载于:https://www.cnblogs.com/zhaoqingqing/p/3315847.html
定制你的Unity编辑器相关推荐
- Unity编辑器定制和开发插件
http://blog.csdn.net/a351945755/article/details/35286761 在阅读本教程之前,你需要对Unity的操作流程有一些基础的认识,并且最好了解内置的GU ...
- 【Unity优化】怎样实现Unity编辑器中的协程
Unity编辑器中何时须要协程 当我们定制Unity编辑器的时候,往往须要启动额外的协程或者线程进行处理.比方当运行一些界面更新的时候,须要大量计算,假设用户在不断修正一个參数,比方从1变化到2.这种 ...
- Unity编辑器扩展: 程序化打图集工具
开始前的声明:该案例中图集所使用图片资源均来源于网络,仅限于学习使用 一.前言 关于编辑器扩展相关的知识,在前面的两篇内容中做了详细的描述,链接地址: 第一篇 :Unity编辑器扩展 UI控件篇 第二 ...
- Unity编辑器扩展 UI控件篇
前摇 :认识编辑器扩展的必要性 由于各种各样的原因,无论是移动端亦或是主机/PC端,进几年的发行的游戏体量是越来越大.通常来说大体量的游戏开发需要一套很成熟完善的工作流,亦或说有很强的工业化的能力,像 ...
- 实现Unity编辑器模式下的旋转
最近在做一个模型展示的项目,我的想法是根据滑动屏幕的x方向差值和Y方向的差值,来根据世界坐标下的X轴和Y轴进行旋转,但是实习时候总是有一些卡顿.在观察unity编辑器下的旋转之后,发现编辑器下的旋转非 ...
- UNITY编辑器模式下static变量的坑
UNITY编辑器模式下static变量的坑 在unity中写编辑器扩展工具,如在编辑器中加个菜单,点击这个菜单项时执行打包功能. 类如下,其中的静态变量,如果每次进来不清空,则LIST会越来越大,打包 ...
- Unity编辑器扩展之EditorWindow
Unity编辑器扩展之EditorWindow 继承这个类的编辑器脚本可以用来创建一个编辑器窗口,类似Inspector窗口 若要在这个类中添加一些控件,可以使用GUI和GUILayout控件,还可以 ...
- 在Unity编辑器中开发遇到问题BUG如何调试解决?
洪流学堂,让你快人几步.你好,我是跟着大智学Unity的萌新,我叫小新,今天给你分享一下大智的"葵花宝典". 最近遇到很多童鞋,在自己学习开发的时候,顺利的时候还好,一遇到问题就 ...
- 【Unity编辑器】UnityEditor多重弹出窗体与编辑器窗口层级管理
一.简介 最近马三为公司开发了一款触发器编辑器,对于这个编辑器策划所要求的质量很高,是模仿暴雪的那个触发器编辑器来做的,而且之后这款编辑器要作为公司内部的一个通用工具链使用.其实,在这款触发器编辑器之 ...
- 【Unity编辑器扩展实践】、扩展Hierarchy菜单
扩展Hierarchy之后的效果: 我们调试战斗的时候,需要在Hierarchy界面选中对应的武将,然后操作快捷键控制武将.由于多个操作我觉得比较麻烦,就在网上查找了一下扩展Hierarchy菜单的方 ...
最新文章
- MySQL数据库开发常见问题及几点优化!
- c++把数组所有元素剔除_C语言基础之数组,第一节,C语言必学知识点剖析
- 编程入门到进大厂,你需要这套学习架构
- 中国有超3亿人存在睡眠障碍 收入越高睡眠越少
- 密码学研究-密钥长度限制
- yolov3代码详解_代码资料
- 扩展Asterisk1.8.7的CLI接口
- charles-无法抓取https包的解决办法及效果
- 云服务器配置(jdk、tomcat、mysql)
- 来了!苹果二代AirPods 3月发布 全黑配色加入
- JavaScript 特效代码集
- 平时多流汗,战时少流血
- 两步教你在安卓中快速使用矢量图
- Windows defender 中保护历史记录不显示始终为空的解决办法
- bundle install 出现 'gem install mysql2 -v '0.3.15' succeeds before bunding '
- 西北工业大学明德学院计算机老师,师资队伍结构
- Android指南针之加速度传感器地磁传感器
- 共享软件走向海外之路
- adas记录仪app_完爆行车记录仪,这款APP还能分析驾驶行为?老司机进来鉴定下...
- Python环境下使用MATLAB