看着odin最新版更新了一些Window Editor的功能(其实更了好一阵了,但是之前一直没想过用吧),又去试了下他的demo里面的东西,感觉蛮不错的,就想新的插件用下他的Editor来写,毕竟自己写Editor想功能足又好看确实花功夫。然后随便写一点小体会。(本文就写点体会,不具体讲细节了)

第一个OdinEditorWindow父类,继承的是unity的EditorWindow,作者在里面加了自己的几个方法和事件,具体的可以在他的官方手册那看。

http://sirenix.net/odininspector/documentation/sirenix/odininspector/editor/odineditorwindow

文档中例如OnBegin/EndGUI、OnClose这几个事件感觉还是比较有用,比如有些操作我并不想立即执行,而是等用户关闭窗口后再执行,这样有些操作对用户透明也使一些体验更好一些。然后还有一些DropDown的东西,可以实现点击按钮后出现下拉选择框之类的效果(就是Quickly inspect objects这个例子里的一些效果)。然后关于Window里的元素里的效果,除了正常的用Editor里的GUI之类的元素来绘制,还可以通过GetTargets()这个函数来在Window里添加其他的东西(如 scriptable object, component等),这些东西里的绘制我们可以在编写时使用OdinAttribute来便捷的完成,Attribute在Window里同样是生效的,官方的例子里大都也是这样的组合,这样在Window和Inspector里都能有不错的效果了。

第二个是OdinMenuTree,可以帮助快速构建一个自定义的窗口

http://sirenix.net/odininspector/documentation/sirenix/odininspector/editor/odinmenutree

大概效果如下

Odin会自动帮我们绘制搜索框,下拉菜单,需要用户做的就是指定添加的东西和下拉菜单的层级,下拉菜单的图标也可以自定义。指定添加的东西能有很多种,并且可以指定添加某一路径下的所有该类型文件,并且因为调用的方法为Add(string path, object instance),object类型意味着基本上都啥东西都能放进去(当然要放的是实例 instance),但是并不是什么都能如愿的自动Draw出来,比如我试过加入一个EditorWindow的实例,里面的OnGui()的元素都没有画出来,自动绘制的是定义成员和使用了Attribute的一些效果,如使用odin里的[Button("test")],那么也会绘制一个相关函数的按钮,我本来想查看作者自己写的一些例子的,结果很多都是在dll里的,因此也没有找到什么。然后他的这里面关键的tree的绘制也并没有留太多有用的接口,几乎无法在这个tree里再自定义绘制(我试了一些,效果不怎么好,当然也不排除本人技术问题),这就非常难受了。当然这个拿来绘制管理一些scriptable objects之类的东西效果还是很好的,比如小型工程里可以拿来做一些游戏物品的管理之类的,不必自己再去写Editor了。

大概就是这些吧,我总结一下,odin的Editor拿来快速开发一些自己项目用的Editor还是很方便的,但是想实现大型插件那种比较好的视图功能效果的还是要靠自己慢慢写,odin在这里的表现不如odinAttribute那么惊艳。

北京今天有点冷,还被拉到海淀公园去放了一下午风筝,晚上回来也不想学习也玩不动就随便写了点,没什么干货,还有哪里有错误请大家海涵(我自己也就算刚入门),欢迎大家指教。

Odin WindowEditor使用体会相关推荐

  1. 三星手机如何分屏_刷机基础知识三星如何手机进入ODIN模式

    提示:点击上面的蓝字可以快速关注我们. 经常刷机的三星用户对ODIN这个词肯定都再熟悉不过了,不过仍然有许多新手用户对于如何进入ODIN模式还是一知半解,所以抽空整理了一下,如有写错的地方请大家纠正一 ...

  2. easyui表格编辑事件_Unity手游开发札记——从Odin插件聊基于元数据的编辑器实现

    Metadata is data that provides information about other data. 最近一个多月的时间在全力做新项目的Demo,由于程序暂时还只有我一个人,所以从 ...

  3. 升级鸿蒙系统好不好用,昨天随手发了一个有关升级鸿蒙系统后的使用体会,没料到引发这么大的讨论。看来大家对这个话题关注度很高。作为一个普通消费者,... - 雪球...

    来源:雪球App,作者: 新山野,(https://xueqiu.com/1343651531/181846205) 昨天随手发了一个有关升级鸿蒙系统后的使用体会,没料到引发这么大的讨论.看来大家对这 ...

  4. 番茄钟怎么调_番茄钟的使用方法与使用体会

    番茄工作法:在25 分钟内专心做某一件事,然后短暂休息,再将其他事与你正在做的比对一下,看哪个更重要,就拣最重要的做. 基本方法 规划活动: · 将近期要完成的活动全部填入"活动清单&quo ...

  5. 笔记软件,离线/本地化 or 云笔记?印象、思源笔记、notion、onenote、有道、Roamedit、专注笔记,我来,幕布、飞书、joplin、Obsidian、Logseq、语雀使用体会

    笔记软件,离线/本地化 or 云笔记?印象.思源笔记.notion.onenote.有道.Roamedit.专注笔记,我来,为知,幕布.飞书.Craft.joplin.Notability.Obsid ...

  6. 系统重装优盘PE启动工具-优启通PE使用体会分享

    优盘PE启动工具-优启通PE使用体会分享 大家都知道现在电脑系统安装完后,经常会自动安装上一些乱七八糟的软件,浏览器主页也被逛锁定了,还时不时弹出一些好烦人的弹窗广告,其实,这些问题的出现很大一部分和 ...

  7. 南方cass使用体会

    作为一名大三测绘系学生,总会用到一些计算机软件来辅助学习,例如AutoCAd,mantoinfo,VB,科傻,cass等.我现在主要说一下对于cass的使用体会. CASS软件是广东南方数码科技股份有 ...

  8. 【Odin插件】Unity补完计划

    前言 今天我就是来吹爆这个Odin插件的! 解决了两个我使用Unity至今遇到过的两个让我深恶痛绝的槽点: 麻烦的自定义编辑器 序列化某些类型 由于这个插件价格还是比较贵的(Odin - Inspec ...

  9. 三星Odin刷机文件及相关名称解析。

    [img]http://dl.iteye.com/upload/attachment/0083/7339/68dda61b-0bb6-301f-9d9c-7bf5cc0220ab.png[/img] ...

  10. Unity插件笔记(一)Odin

    Odin插件可以优化Unity的面板显示,比官方的editor要方便很多. 最常用的功能有一下几条 1.序列化字典 通过继承SerilizableMono或者SerilizableScriptable ...

最新文章

  1. cascader 动态加载 回显_Element中的Cascader(级联列表)动态加载省\市\区数据的方法...
  2. 学好python工资一般多少钱-学会Python后,月薪40k是什么水平?
  3. javascript实战项目——网页版贪吃蛇
  4. Objective-C基础语法高速入门
  5. 【C/C++】Linux下使用system()函数一定要谨慎
  6. (转)关键字const有什么含意?
  7. 中国料斗秤行业市场供需与战略研究报告
  8. wordpress api ajax,Woocommerce rest api - 在wordpress中通过ajax创建产品
  9. TMS320C64x+ DSP-----Cache 优化
  10. 发票管理软件_企业为什么需要采购管理软件?
  11. 2022年Java 工程师面试题
  12. 办理美国商务和旅游签证(B1 B2)和面签的奥秘
  13. html代码在线运行_在线运行html代码
  14. 多指标评价方法-变异系数法的pathon实现
  15. 一行 Python 能实现什么丧心病狂的功能?
  16. Excel 18个快捷键
  17. python 中在字符串前面加上b,u,r的含义
  18. JAVA中两个char类型相加_5.16--java数据类型转换及杂记
  19. iphone4 快捷键整理
  20. 炼狱与逐光——我的十杰博客获奖感言

热门文章

  1. Mac电脑上如何快速创建TxT文档?一招教你~
  2. umijs有什么好处_umijs核心代码解读
  3. 前端开发基础-JavaScript
  4. w3school学习笔记2(MySQL)
  5. 极域电子教室与360冲突解决方法
  6. excel数组和查找and引用函数
  7. Excel利用函数进行转置(TRANSPOSE)、Excel中INDEX函数如何使用
  8. K8s(3):资源清单
  9. 关于 IoT 的发展
  10. houdini pyro