Unity插件开发
文章平均质量分 79
Unity提供了很多接口用于开发插件,利用好的话可以大大地提高开发效率
liuhaopen
这个作者很懒,什么都没留下…
展开
-
Unity-UGUI提高开发效率的插件集合
项目源码都在github里:UIEditorPrefabWin窗口一般一些通用常用的资源我们都会做成prefab,比如某些按钮,文本样式等,然后用到时就在Project视图把它拉入场景,但project视图看不到prefab的预览图,都是蓝色的方块比较难辩认,所以可以用PrefabWin这个窗口拉控件出去,拉到场景时会判断控件落在哪个Canvas上,有则挂其上,无则自动生成一个Canvas...原创 2018-03-17 18:24:45 · 27620 阅读 · 21 评论 -
Unity编辑器扩展-拉UGUI的prefab入场景时挂在鼠标下的Canvas上
Unity的编辑器,你从Project视图拉图片或者prefab到Scene视图时,默认情况下它会挂在根节点上(起码我用的Unity5.4的是这样的),而每次都要手动地把新增节点挂到想要挂的Canvas上。还好Unity编辑器扩展可以让你自己自由定制,我想要的效果是这样的:实现思路:首先我们需要知道有什么东西拉进Scene视图了,一般来说插件系统会以Drag事件的形式给用户做定制处理的,Unity...原创 2018-03-21 11:03:31 · 12567 阅读 · 0 评论 -
Unity编辑器扩展-点击Projec视图的图片就赋给当前选中的Image节点
我所知道的,UGUI给Image赋上图片的方式有二:一是把图片拉去Image的监视器的Source Image处,一是在点其小圆点弹出选择图片的界面。两种方式我都觉得有点麻烦,我想如果我已经选中某Image节点了,这时再点击Project视图的图片时就要给我赋上该图,效果如下:实现思路:Selection.selectionChanged这个事件是Unity编辑器几个视图选中的东西变更时会触发的,...原创 2018-03-21 11:41:08 · 12238 阅读 · 0 评论 -
Unity编辑器扩展-生成prefab的预览图并保存为图片
Project视图里的prefab文件都是一个蓝色的正方体,我想给它们加个预览图,暂时不知道怎么改Project视图的,但反正我想像NGUI那样有个专门的窗口存放一些常用的prefab,所以做成了如下效果:关于如何定制窗口,可以参考雨松的教程:Unity3D研究院之拓展自定义编辑器窗口实现思路:主要参考自:获取unity prefab的预览图像unity在2017.2版本可以使用官方自带API:A...原创 2018-03-21 14:38:59 · 19427 阅读 · 4 评论 -
Unity编辑器扩展-在Scene视图添加右键菜单
我用Unity前的界面编辑器是可以选中节点右键显示菜单的,所以现在也想在Unity上弄一个,需要做的也不多,一是知道什么时候在Scene视图右键单击了,二是在鼠标位置上显示菜单.对于拦截Scene视图的右键单击事件,可以给SceneView.onSceneGUIDelegate加个处理方法就可以了,Scene视图的大部分事件都可以统一在那里处理.菜单的话Unity也封闭得很好了,主要用Generi...原创 2018-04-02 19:49:44 · 13901 阅读 · 5 评论 -
Unity编辑器扩展-制作界面时引入外部的参考图
一般做界面,我们按美术出的图,那里拉个按钮,那里弄个文本,其坐标大小比例等肯定要严格按美术出的图来调节的,所以编辑界面时最好就有张参考图,添加方式如下:参考图的资源可来自项目外的目录,添加后,可以选中它后右键菜单->锁定,这样就不会碍着你了.关于在Scene视图显示右键菜单可以见:Unity编辑器扩展-在Scene视图添加右键菜单实现主要分三步:1弹出选择文件的界面,2选中某图片文件后加载成...原创 2018-04-03 19:55:10 · 12118 阅读 · 0 评论 -
Unity编辑器扩展-判断当前鼠标在scene视图下有哪些的节点
有时我们需要知道当前鼠标进入了Scene视图中的哪个控件区域,比如说要实现一功能:把prefab拉入Scene视图时判断拉入的位置是否有Canvas,有的话就挂在该Canvas上,无则生成一个。首先是获取鼠标的坐标:可通过Event.current.mousePosition;拿到但拿到的是基于Scene视图的坐标,需要转化为世界坐标:Event e = Event.current;Camera...原创 2018-03-19 10:07:34 · 12738 阅读 · 0 评论