1. using UnityEngine;
  2. using System.Collections;
  3. using UnityEditor;
  4. public class ClipEventEditor : EditorWindow
  5. {
  6. /// <summary>
  7. /// MenuItem属性允许你添加菜单项到主菜单和检视面板上下文菜单
  8. /// MenuItem属性把任意静态函数变成为一个菜单命令。仅静态函数能使用这个MenuItem属性。
  9. /// 可以使用一下指定字符创建热键:% (Windows上为ctrl, OS X上为cmd), # (shift), & (alt), _ (无修改键)。
  10. /// 例如创建一个菜单热键为shift-alt-g使用GameObject/Do Something #&g。
  11. /// 创建一个菜单热键g并没有修改键(组合键),使用GameObject/Do Something _g。
  12. /// 热键文本必须在前面加一个空格字符(GameObject/Do_g不会被解释为热键,而是GameObject/Do _g这样,注意_g前面有空格)。
  13. ///
  14. /// 注意:这是一个编辑器类,如果想使用它你需要把它放到工程目录下的Assets/Editor文件夹下。
  15. /// 编辑器类在UnityEditor命名空间下。所以当使用C#脚本时,你需要在脚本前面加上 "using UnityEditor"引用。
  16. /// </summary>
  17. [MenuItem("Tools/ClipEventEditor %1", false)]//快捷键Ctrl+1
  18. static void Show()
  19. {
  20. //static function GetWindow.<T> (utility : bool, title : string, focus : bool) : T
  21. //返回屏幕上类型T的当前的第一个编辑器窗口。
  22. //如果没有,创建并显示新的窗口并返回它的实例。
  23. //utility设置为真,来创建一个浮动窗口;为假,创建一个标准窗口。
  24. //title 如果GetWindow创建一个新的窗口,它将获取这个标题。如果这个值为null,使用类名作为标题。
  25. GetWindow<ClipEventEditor>(true, "编辑器");
  26. }
  27. public AnimationClip Clip;
  28. public GameObject Obj;
  29. void OnGUI()
  30. {
  31. GUILayout.Label("动画事件编辑器");
  32.  
  33. //EditorGUILayout.ObjectField:制作一个物体字段。可以指定物体无论是通过拖拽物体或通过物体拾取器选择物体。
  34. Clip = (AnimationClip)EditorGUILayout.ObjectField(Clip, typeof(AnimationClip), true);
  35. Obj = (GameObject)EditorGUILayout.ObjectField(Obj, typeof(GameObject), true);
  36.  
  37. if (Clip)
  38. {
  39. var Events = AnimationUtility.GetAnimationEvents(Clip);
  40. if (GUILayout.Button("显示隐藏事件"))
  41. {
  42. for (int i = ; i < Events.Length; i++)
  43. {
  44. if (float.IsInfinity(Events[i].time))
  45. {
  46. Events[i].time = ;
  47. }
  48. }
  49.  
  50. //TODO ...保存修改
  51. }
  52. }
  53. }
  54.  
  55. }

EditorWindow 和MenuItem的更多相关文章

  1. UnityEditor研究学习之EditorWindow

    在unity使用过程中,其实我们都是在各个不同功能的Window下工作. 比如在Scene窗口中操作物体,在Inspector中操作物体属性,在Game视窗中观察游戏状态. 所以窗口是Unity的灵魂 ...

  2. 列出场景对象Lightmap属性

    首先上效果图: 编辑器代码: using UnityEngine; using UnityEditor; using System.Collections; public class Lightmap ...

  3. 通过反射调用Unity编辑器提供的各种功能

    Unity编辑器功能丰富易上手,其实编辑器提供的大多数菜单操作,在代码里面都是能够找到对应接口的,但是这些接口都没有对我们开放,怎么办? 很简单,直接使用反射调用即可. 首先使用Reflector或I ...

  4. Unity3D学习笔记(二十八):Editor

    Editor: 对编辑器进行一些拓展开发 关于继承Mono类的扩展开发   特性: [特性]:声明性的标签(类,方法,结构体,变量) 特性只对字段声明有效,后面必须接字段:多个特性,可以修饰一个字段 ...

  5. Unity-编辑器拓展之GUILayout,EditorGUILayout布局 { }

    Unity 脚本 API 中文版 链接: https://docs.unity3d.com/cn/2019.4/ScriptReference/ 创建自定义窗口 public class MyWind ...

  6. unity3d拓展编辑器MenuItem的使用

    MenuItem是自定义菜单栏显示 比如:[MenuItem("new/My Window")] 这样就会显示菜单new/My Window 把这个放在一个静态方法上就可以了.记住 ...

  7. EditorWindow edit ScriptableObject

    using UnityEngine; [System.Serializable] public class Weapon { //[SerializeField] public string weap ...

  8. Unity EditorWindow 笔记

    一:功能 1.实例化 //设置插件在菜单栏的位置 和快捷键 [MenuItem("YCC's Tools/模型更改/更改父物体和测量长度 %W")] //实例化窗体 static ...

  9. Unity3d UnityEditor EditorWindow 自定义窗体控件

    功能:是因为公司的模型组需要一个插件,在MAYA中有很多个复制物体,导出的时候只导出一个,其他相同的物体只导出点的位置信息.这样进入Unity里就是一个物体和N个相同物体的位置点,代码简单但是需要用插 ...

随机推荐

  1. Gulp 自动化的项目构建工具

    在很多场合都会听到前端工和 node 程师推荐 Grunt 来实现项目的自动化,自动化可以自动完成 javascript/coffee/sass/less 等文件的的测试.检查.合并.压缩.格式化.部 ...

  2. Matlab之类型转换

    int转string:num2str(0); string转int:str2num('-1');

  3. wifi密码破解-Linux工具篇-video

    链接: https://pan.baidu.com/s/1eREVoH0 密码: ajk5 博客地址:http://www.cnblogs.com/XieMinQiang/          (长按图 ...

  4. css3 text-transform变形动画

    详细内容请点击 版本:CSS1 兼容性:IE4+ NS4+ 继承性:有 语法: text-transform : none | capitalize| uppercase| lowercase 参数: ...

  5. 【CSS3】---元素隐藏(是否占据空间、是否可点击)

    在CSS中,让元素隐藏(指屏幕范围内肉眼不可见)的方法很多,有的占据空间,有的不占据空间:有的可以响应点击,有的不能响应点击. { display: none; /* 不占据空间,无法点击 */ } ...

  6. Exchange 2010先决条件

    为了方便大家一步到位的进行学习,已将各种角色安装所需的先决条件给与总结了,但注意系统需求是2008 R2     1.对于执行客户端访问.集线器传输及邮箱角色典型安装的服务器            ( ...

  7. sql获取时间时分秒

    select datename(hour,getdate())+':'+datename(minute,getdate())+':'+datename(second,getdate())

  8. [Bootstrap]组件(一)

    Glyphicons字体图标 基类.glyphicon  {position/top/display/font-family/} 具体类  {content}  --表现在伪元素上 使用要点:a.基类 ...

  9. js中字符和数组一些基本算法题

    最近在刷 fcc的题,跟升级打怪一样,一关一关的过,还挺吸引我的.今天抽时间把 Basic Algorithm Scritping  这部分题做了,根据一些提示,还是比较简单的.有些题的处理方式 方法 ...

  10. 打造简单实用的Thinkphp分页样式(Bootstrap版本)

    先吐槽一下ThinkPHP3.1版的分页样式,虽然看起来也很简单大方,但是所有的页码全是使用简单的数字,之间的空隙比较小,不大容易点,还有那个“前5页”和“后5页”显得有点多余,因为点击当前显示第一页 ...