JingFengJi
for me
FRIENDS
llcat

Mr.Ding's Blog

Welcome to my Blog!
Unity编辑器拓展之二十四:基于Unity Node Editor、ScriptableObject的配置化新手引导系统
本文主要介绍根据一款Node Editor库开发的新手引导系统git地址如下: https://github.com/luis-l/UnityNodeEditorBase 一、旧版新手引导做法 GuideCheckManager负责check各种类型的引导,判断是否达到触发条件,如果达到条件,当前无引导,则直接进行引导,否则存入缓存队列中。 GuideCheckManager注册跟引导有关的消息通知,等收到通知,做一些check工作。 一个大步引导包含多个单线的单步引导,每个单步引导又可有check条件,如果中间某一单步引导未check通过,则打断引导。 缺点: (1)配置采用CSV,可 ...

Unity Shader编程之一:多颜色条纹背景
两种颜色的条纹状背景Shader "Custom/Flag" { Properties { [PerRendererData]_MainTex ("Texture", 2D) = "white" {} _1stColor("1stColo",Color) = (0,0,0,1) _2ndColor("2ndColor",Color) = (1,1,1,1) _tileNum("tile num" ...

Unity编辑器拓展之二十三:基于ObjectField的FileField
使用场景最近在做资源管理模块时,关于资源引用这方面的问题,并不想直接引用某一个asset,比如Prefab、或者sprite、material等资源,当然可以由资源管理模块统一管理,然后对业务层提供获取的接口。由业务层传入文件名、或者AssetBundleName、path之类的数据,资源管理模块内加载出来然后返回。结合ObjectFiled这个编辑器类来介绍,我们拖入某一个asset,然后序列化存储其guid和assetpath,表面上看起来是引用了该asset,实际上只是存住了guid和path(用于load,结合资源管理模块而定),guid用于绝对指向asset资源,就算路径更改,也 ...

Unity编辑器拓展之二十二:基于TexturePacker的一键打图集工具
Unity编辑器拓展之二十二:基于TexturePacker的一键打图集工具NGUI使用TexturePacker打图集是一件频繁且费时的工作,只要美术稍一更新图片,就需要重新打图集,而且每次打图集的操作其实都是一样的重复劳动,基于此,开发工具批量打图集时很有必要的。 使用TexturePacker打图集,会输出两个文件,一个PNG合图,一个txt图集信息文件,而到Unity中使用UIAtlas,则需要一个Material材质文件和一个Prefab预制体文件,这两个文件也由工具生成。 鉴于项目不是从一开始就用该工具进行打图集工作的,因此这些文件的命名不具有统一的规范,因此使用一个配置文件来 ...

Unity编辑器拓展之二十一:拓展Unity模块,打造私人工具库(二)
拓展Unity模块,打造私人工具库(二)前言:上一篇,实现了基本Unity模块拓展的功能,本篇将介绍如何通过反射来实现导入UnityPackage Gif示意图 程序导入UnityPackage通过查阅UnityEditor源代码发现,UnityEditor命名空间下有个EditorWindow的子类PackageImport,该类有个静态函数ShowImportPackage如下: public static void ShowImportPackage(string packagePath, ImportPackageItem[] items, string packageIconPa ...

Unity编辑器拓展之二十:拓展Unity模块,打造私人工具库(一)
拓展Unity模块,打造私人工具库(一)功能介绍经过平时的项目积累,使用以及自己编写的编辑器工具越来越多,有些工具在别的项目中同样用的上,但是不希望每次都重新拷贝新代码到项目中,于是就希望能够拓展Unity模块,实现自己的工具库,方便导入工具到项目中。 通过查阅资料发现,在Unity的安装目录 Unity2017.3.1f1\Editor\Data\UnityExtensions\Unity(我的版本是2017.3.1f1)下,有一些Unity自带的模块,可以通过在该路径下放入自己的模块,就可以实现Unity新建的项目都拥有该拓展模块的功能。那么,接下来就写一个工具导入模块放入该文件夹中。 ...

Unity编辑器拓展之十九:NGUI UISprite预览图Preview拓展
NGUI UISprite预览图Preview拓展功能说明1、拓展UISprite的Preview视图,同时显示UIAtlas Texture和Sprite2、支持在UIAtlas上直接点选Sprite3、无需打开Atlas选择框和Sprite选择框两步操作 Gif示意图 逻辑介绍1、找到UISpriteInspector脚本,其脚本的OnPreView函数逻辑,源码如下: public override void OnPreviewGUI (Rect rect, GUIStyle background) { UISprite sprite = target as UISprite ...

常用软件集锦
1、图片查重文件查重,如果只是文件名或者md5码的匹配查重,功能就不全面了,尤其是图片查重。图片查重应该更侧重于图片内容相似度查重。最近项目中使用TexturePacker& NGUI,发现存在一些图片重复,新人对业务逻辑不熟悉,导致图片乱放等问题,使得图片存在重复、浪费资源等。因此收集了Windows 和Mac下使用的两款图片查重软件。 Win http://www.newrain.cn/app/info/1 支持修改相似度进行匹配查重 MacSnapSelect软件 官网: https://skylum.com/snapselect pojie版请自行下载 支持四个级别 ...

Unity编辑器拓展之十八:NGUI批量替换图集工具 2.0版本
Unity编辑器拓展之十五:NGUI批量替换图集工具 2.0版本1.0版本 https://blog.csdn.net/qq_26999509/article/details/81256493 新增内容工具1.0版本,同事在使用过程中,发现批量替换图集时,不一定是全部都替换,这样的话,工具就没法使用了。2.0版本新增功能:对于替换图集的Sprite支持可选择性的是否替换。 工具截图 在之前的右下角空白区域,增加了预制体所有UISprite的列表显示,使用的TreeView编写的。 TreeView介绍目前,TreeView我还没有单独写文字来介绍该内容,后续会更新。官方文档: http ...

Unity编辑器拓展之十七:NGUI ComponentSelector增加搜索框
NGUI ComponentSelector增加搜索框目的最近在使用NGUI,给Sprite选择图集的时候,没有搜索框要挨个找挺麻烦,因此修改一下ComponentSelector组件,增加一个搜索框,便于搜索图集 Gif动图展示 SearchField介绍关于SearchField介绍请看 Unity编辑器拓展之九 代码以下代码是修改的NGUI里的ComponentSelector脚本 private SearchField search; private bool isInit = false; private string searchStr = ""; pr ...