- 博客(77)
- 收藏
- 关注

原创 UnityTips——Unity小技巧集合(持续更新)
文章目录AttributeRequiredAttributeAttributeRequiredAttribute效果图如下:当引用类型的property为空时,使用红色提示。代码如下:1、RequiredAttribute.csusing UnityEngine;public class RequiredAttribute : PropertyAttribute{ }...
2019-12-21 11:31:54
1171

原创 GameFramework框架源码解读(一):Editor篇
笔记目录文章目录前言菜单栏Game FrameworkOpen FolderScenes in Build SettingsLog Scripting Define SymbolsAssetBundle ToolsAssetBundle工具相关配置AssetBundleEditor.xmlAssetBundleCollection.xmlAssetBundleBuilder.xmlAssetBu...
2019-10-26 17:05:58
4369
原创 Unity编辑器拓展之三十六:LinkFileLabelField和LinkUrlLabelField
个人博客文章目录前言源码使用本文介绍LinkFileLabelField和LinkUrlLabelField前言本文目的在于封装一个能够Link到项目下的asset,和一个打开浏览器URL的EditorField。源码public static class EditorGUILayoutExtension{ private static GUIStyle _linkStyle = null; private static GUIStyle LinkStyle {
2020-11-28 15:22:24
641
原创 Unity编辑器拓展之三十五:如何在Editor下使用单例ScriptableObject
个人博客地址文章目录前言正文解决方案本文介绍在Editor下使用单例ScriptableObjectScriptableSingleton GUI官方文档click here!Unity FilePathAttribute官方文档click here!前言相信大家都用过ScriptableObject(以下简称so),这里不过多介绍它了,不过关于ScriptableSingleton,可能就用的不多了,上面有官方文档链接。ScriptableSingleton就是一个单例的so。最近在整理项目中
2020-11-28 15:21:18
2017
原创 Unity编辑器拓展之三十四:在ShaderEditor中添加ToolTip
个人博客地址文章目录前言正文结尾本文介绍在ShaderEditor中添加ToolTip字段提示。Custom Shader GUI官方文档click here!前言最近群里群友咨询如何给Shader Vector类型的参数添加ToolTip。MaterialEditor中跟Vector有关的只有VectorProperty函数然而两个重载均没有提供传入ToolTip或者GUIContent的参数,目前从文档来看ColorProperty、FloatProperty默认没有提供ToolTip支
2020-11-28 15:19:50
1215
原创 Unity编辑器拓展之三十三:ReplaceComponentAttributte组件替换
个人博客地址:https://www.jingfengji.tech/2020/08/22/unity-bian-ji-qi-tuo-zhan-zhi-san-shi-san-replacecomponentattributte-zu-jian-ti-huan/文章目录前言源码ReplaceComponentAttributeObjectFactoryExtensionEditor测试本文介绍ReplaceComponentAttributte,方便使用自定义组件替换Unity原生组件。Unity-
2020-11-28 15:17:29
1582
原创 Unity编辑器拓展之三十二:关于多选中Preview绘制探究
Unity编辑器拓展之三十二:关于多选中Preview绘制探究个人博客-原文地址前言先来介绍一下本篇文章的背景,在项目中通过使用一个ScriptableObject,暂定名为SpriteSetting,SpriteSetting内通过一个字典序列化存储了一些Sprite(以SpriteName为key,以Sprite为Value),一般使用场景为一个图集对应一个SpriteSetting。那么在运行时,只需要Load这个SpriteSetting的so,就可以根据name这个key得到Sprite。
2020-07-31 09:42:34
1245
原创 Unity编辑器拓展之三十一:获取PlayerPrefs所有键值对
博客迁移个人博客站点,欢迎访问,www.jiingfengji.tech本文地址PlayerPrefs官方文档,请戳这里~~~正文关于PlayerPrefs使用细节就不介绍了,实际上,在开发中,已经没怎么使用PlayerPrefs了,这里只是单纯的介绍一下如何获取所有的键值对,毕竟Unity并没有提供直接的接口。只有DeleteAll接口,没有GetAll接口。本篇文章的主要代码来源于PlayerPrefs Editor插件,插件自行下载。数据存储官方文档中有介绍,MacOS下存储在
2020-05-08 22:50:23
2490
原创 Unity每天一个小技巧-Image组件转换RawImage组件
博客迁移个人博客站点,欢迎访问,www.jiingfengji.tech本文地址源码using System.Collections;using System.Collections.Generic;using UnityEditor;using UnityEngine;using UnityEngine.UI;public class UnityComponentExtensionMenu : UnityEditor.Editor{ [MenuItem("CONTEXT/Im
2020-05-08 22:47:40
1188
原创 Python:爬取FaceBook用户头像
博客迁移个人博客站点,欢迎访问,www.jiingfengji.tech本文地址Python爬取源码本文介绍的爬取方法是基于已经有一些用户的sns_id了,然后通过头像链接进行头像下载。以下是一些用户的sns_id和用户名10157645719968407,Samer Khalil Zeidan2332954523430968,Ly Chanheng296879167966753,Larbas Ramy2207530449281477,Ryan Sparks125162838732018
2020-05-08 22:45:48
3102
4
原创 Unity编辑器拓展之三十:拓展UnityToolBar
博客迁移个人博客站点,欢迎访问,www.jiingfengji.tech本文地址Unity ToolBar拓展开源库https://github.com/arimger/Unity-Editor-Toolbox.githttps://github.com/smkplus/CustomToolbar.githttps://github.com/marijnz/unity-toolbar-extender.gitUnity-Editor-Toolbox这个开源库里包含了很多Editor拓展,
2020-05-08 22:43:19
1423
原创 Unity编辑器拓展之二十九:资源弱引用文件选择器
笔记目录文章目录工具介绍资源弱引用文件选择器源码地址工具介绍文件选择器顾名思义是用来选中文件用的,那么与上图中Unity自带的点击右边的小圆点 弹出文件搜索框有什么区别呢?工具界面如下:其中点击Select按钮,弹出文件搜索框(类比Add Component按钮点击后弹出的框),根据资源类型筛选后形成的资源树状结构显示在下面的框中,点击其中一个结点进入子树,点击右侧的X按钮进行清空...
2019-09-27 18:03:22
1546
原创 Python工具之一:九宫格图片极致裁剪
Python工具之一:九宫格图片极致裁剪工具用途在读到文章(https://blog.uwa4d.com/archives/PSD4UGUI.html)时,文章中提到“e.通过设定参数即可自动生成九宫图片,优化九宫图片面积”,引发的思考:如何优化九宫图片面积?九宫图片作为拉伸图片使用,拉伸区域越小越能缩小图片面积,达到优化的目的。进一步找到文章(https://gameinstitute.qq...
2019-08-15 15:12:09
1765
原创 Unity编辑器拓展之二十八:Sprite Border自动设置工具
Unity编辑器拓展之二十八:Sprite Border自动设置工具1.0 功能介绍自动计算出九宫格Sprite 的border数据并直接赋值保存的工具。【纯属偷懒,可能各位觉得没啥用吧,哈哈】当需要为一个九宫格Sprite 设置Border数据时,需要打开Sprite Editor,然后输入Border数据。工具会直接计算横向、纵向连续完全相同的列数、行数(当然连续区域取最大的),当计算...
2019-08-13 20:23:14
2230
原创 Unity编辑器拓展之二十七:TextMeshPro的TMP_SpriteAsset图文混排图集快捷更新工具
Unity编辑器拓展之二十七:TextMeshPro的TMP_SpriteAsset图文混排图集快捷更新工具1.TextMeshPro的SpriteAsset制作此文不再赘述,参考此文:https://blog.youkuaiyun.com/qq_37057633/article/details/811205832.工具使用场景当图文混排图集需要加一个新图时,需要重新按照上文的流程重新打一遍Json(...
2019-08-09 10:45:51
6629
原创 Unity编辑器拓展之二十六:基于UGUI的Sprite引用查询
基于UGUI的Sprite引用查询使用TexturePacker打的图集,sprite引用查询工具示意图如下。菜单栏:1、选择图集,输入sprite name,一键搜索按钮,导出搜索数据成CSV格式,一键断开所有引用2、界面下方是搜索结果的Tree视图。下面是操作示意图。适用场景图片从一个图集更改到别的图集,如果是用Unity的打图集方式(PackingTag),这种场景就方便多...
2019-03-19 09:51:34
1295
原创 Unity编辑器拓展之二十五:图集SpriteMetaData数据拷贝
图集SpriteMetaData数据拷贝关于SpriteMetaData类:用于生成精灵的编辑器数据。官方文档介绍:https://docs.unity3d.com/2017.2/Documentation/ScriptReference/SpriteMetaData.html工具界面工具使用场景适用于游戏中存在多套皮肤图集使用方法拖入数据源图集的texture、克隆图集的te...
2019-03-16 20:45:22
1769
原创 Unity编辑器拓展之二十四:基于Unity Node Editor、ScriptableObject的配置化新手引导系统
本文主要介绍根据一款Node Editor库开发的新手引导系统git地址如下:https://github.com/luis-l/UnityNodeEditorBase一、旧版新手引导做法GuideCheckManager负责check各种类型的引导,判断是否达到触发条件,如果达到条件,当前无引导,则直接进行引导,否则存入缓存队列中。GuideCheckManager注册跟引导有关的消息...
2019-02-01 14:34:39
2849
原创 Unity Shader编程之一:多颜色条纹背景
两种颜色的条纹状背景Shader "Custom/Flag"{ Properties { [PerRendererData]_MainTex ("Texture", 2D) = "white" {} _1stColor("1stColo",Color) = (0,0,0,1) _2ndColor("2ndColor&qu
2018-12-22 14:53:14
1530
2
原创 Unity编辑器拓展之二十三:基于ObjectField的FileField
使用场景最近在做资源管理模块时,关于资源引用这方面的问题,并不想直接引用某一个asset ,比如Prefab、或者sprite、material等资源,当然可以由资源管理模块统一管理,然后对业务层提供获取的接口。由业务层传入文件名、或者AssetBundle Name、path之类的数据,资源管理模块内加载出来然后返回。结合ObjectFiled这个编辑器类来介绍,我们拖入某一个asset,然后...
2018-12-22 13:49:09
6253
1
原创 Unity编辑器拓展之二十二:基于TexturePacker的一键打图集工具
Unity编辑器拓展之二十二:基于TexturePacker的一键打图集工具NGUI使用TexturePacker打图集是一件频繁且费时的工作,只要美术稍一更新图片,就需要重新打图集,而且每次打图集的操作其实都是一样的重复劳动,基于此,开发工具批量打图集时很有必要的。使用TexturePacker打图集,会输出两个文件,一个PNG合图,一个txt图集信息文件,而到Unity中使用UIAtl...
2018-09-09 13:29:04
1725
原创 Unity编辑器拓展之二十一:拓展Unity模块,打造私人工具库(二)
拓展Unity模块,打造私人工具库(二)前言:上一篇,实现了基本Unity模块拓展的功能,本篇将介绍如何通过反射来实现导入UnityPackageGif示意图程序导入UnityPackage通过查阅UnityEditor源代码发现,UnityEditor命名空间下有个EditorWindow的子类PackageImport,该类有个静态函数ShowImportPac...
2018-08-22 23:49:57
1251
原创 Unity编辑器拓展之二十:拓展Unity模块,打造私人工具库(一)
拓展Unity模块,打造私人工具库(一)功能介绍经过平时的项目积累,使用以及自己编写的编辑器工具越来越多,有些工具在别的项目中同样用的上,但是不希望每次都重新拷贝新代码到工具中,于是就希望能够拓展Unity模块,实现自己的工具库,方便导入工具到项目中。通过查阅资料发现,在Unity的安装目录 Unity2017.3.1f1\Editor\Data\UnityExtensions\Uni...
2018-08-20 22:40:22
3163
原创 Unity编辑器拓展之十九:NGUI UISprite预览图Preview拓展
NGUI UISprite预览图Preview拓展功能说明1、拓展UISprite的Preview视图,同时显示UIAtlas Texture和Sprite 2、支持在UIAtlas上直接点选Sprite 3、无需打开Atlas选择框和Sprite选择框两步操作Gif示意图逻辑介绍1、找到UISpriteInspector脚本,其脚本的OnPreView函数逻辑,源码...
2018-08-10 22:42:22
1742
1
原创 常用软件集锦
1、图片查重文件查重,如果只是文件名或者md5码的匹配查重,功能就不全面了,尤其是图片查重。图片查重应该更侧重于图片内容相似度查重。最近项目中使用TexturePacker & NGUI,发现存在一些图片重复,新人对业务逻辑不熟悉,导致图片乱放等问题,使得图片存在重复、浪费资源等。因此收集了Windows 和Mac 下使用的两款图片查重软件。Winhttp://www.newr...
2018-08-06 21:25:30
406
原创 Unity编辑器拓展之十八:NGUI批量替换图集工具 2.0版本
Unity编辑器拓展之十五:NGUI批量替换图集工具 2.0版本1.0版本https://blog.youkuaiyun.com/qq_26999509/article/details/81256493新增内容工具1.0版本,同事在使用过程中,发现批量替换图集时,不一定是全部都替换,这样的话,工具就没法使用了。 2.0版本新增功能:对于替换图集的Sprite支持可选择性的是否替换。工具截...
2018-08-04 22:47:41
1037
原创 Unity编辑器拓展之十七:NGUI ComponentSelector增加搜索框
NGUI ComponentSelector增加搜索框目的最近在使用NGUI,给Sprite选择图集的时候,没有搜索框要挨个找挺麻烦,因此修改一下ComponentSelector组件,增加一个搜索框,便于搜索图集Gif动图展示SearchField介绍关于SearchField介绍请看 Unity编辑器拓展之九代码以下代码是修改的NGUI里的Compone...
2018-07-31 23:24:56
1341
原创 Unity编辑器拓展之十六:监听Scene Drag事件
监听Scene Drag事件Gif动图展示目的通过该监听,获取到被Drag进Scene的物体的类型,可以做一些预处理,例如:Drag一张图片,直接生成一个GameObject(带Image,前提是UGUI)的放在Canvas下代码using System.Collections;using System.Collections.Generic;using UnityEn...
2018-07-30 21:26:48
2554
1
原创 Unity编辑器拓展之十五:NGUI批量替换图集工具
NGUI批量替换图集工具工具目的因项目需要实现换肤的功能,也就是多套UI图集,提供工具批量换图集,方便查看Prebab各皮肤(图集)下的效果示意图Gif 操作动图: 工具截图: 工具左侧是工程所有Prefab列表,右侧是替换图集的功能菜单,从指定原图集替换成目标图集逻辑与上文:Unity编辑器之十四:字体替换工具 https://blog.youkuaiyun.com/...
2018-07-28 02:18:07
1654
1
原创 Unity编辑器拓展之十四:字体替换工具
字体替换工具选择NGUI还是UGUI,选择替换的字体以及字号比例,就可以替换工程目录下所有预制体的字体了脚本using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEditor;using System.IO;using UnityEngine.U...
2018-07-18 21:56:19
2930
3
原创 Unity编辑器拓展之十三:CSV文件解析代码生成工具
CSV文件解析代码生成工具工具示意图左侧是工程下所有的CSV文件列表,并提供搜索框,右侧是解析部分,上边提供了保存代码文件和拷贝代码的菜单,中间是CSV文件预解析出来的字段、数据类型(可选)等,下面是代码预览区域。获取所有CSV文件的路径使用递归获取所有CSV文件的路径,并绘制在左侧 [MenuItem("Tools/CreateCSVParseCode")] ...
2018-07-17 22:30:06
1444
7
原创 Unity编辑器拓展之十二:预制体层级全预览
预制体层级全预览目的Asset面板下预制体并不会显示全,制作一个工具显示预制体的全部层级,这算是TreeView的一个应用Code代码中用了Unity编辑器拓展之十一:通过Image Name反查Prefab 中的一个类PrefabTreeViewusing System.Collections;using System.Collections.Generic;usi...
2018-06-24 22:25:52
2428
5
原创 Unity编辑器拓展之十一:通过Image Name反查Prefab
通过Image Name快速反查Prefab开发思路1、获取到工程中所有Prefab 2、获取Prefab的所有Image和RawImage 3、检测Prefab下是否存在指定名称的Image编辑器示意图编辑器包括三个部分: 1、搜索框 2、预制体列表 3、预制体层级Codeusing System.Collections;using System.Coll...
2018-06-24 21:43:35
1097
3
原创 Unity编辑器拓展之十:UI对齐工具
示例图开发思路1、获取选中的UI 2、根据对齐规则修改所选中UI的坐标代码UGUIAlign.csusing System.Collections;using System.Collections.Generic;using UnityEditor;using UnityEngine;public enum AlignType{ Top = 1...
2018-06-22 22:45:19
7332
1
原创 Unity编辑器拓展之九:SearchField
Unity官方介绍文档:https://docs.unity3d.com/ScriptReference/IMGUI.Controls.SearchField.htmlProperties1、autoSetFocusOnFindCommand:当用户按下“Ctrl/Cmd + F”时,聚焦该控件,默认值为true 相关代码:private bool m_AutoSetFo...
2018-05-13 18:43:35
3364
原创 Unity编辑器拓展之七:如何在PreferencesWindow中新增条目
本文介绍如何在PreferencesWindow中新增条目在Unity编辑器拓展之六中,有介绍到部分PreferencesWindow.cs的代码,而本文从源码开始给大家介绍。PreferencesWindow.cs中:private void AddCustomSections(){ Assembly[] loadedAssemblies = EditorAssemblie...
2018-04-06 15:58:23
1309
原创 Unity编辑器拓展之六:利用反射打开Unity Preferences Window
如何利用反射打开Unity Preferences WindowUnity Preferences Window如下图所示:作为Unity 的参数设置窗口,这个窗口支持新增项,当然本文不介绍这个内容,本次介绍如何利用反射、以及Unity Editor代码来实现用代码打开Preferences Window以及设置选中项。使用ILSpy工具反编译UnityEditor.dll后呢,在...
2018-04-05 21:54:45
2420
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人