
Unity Editor
莫之
不努力奔跑,怎么能停在原地
展开
-
Unity工具 将预制体内的animator组件替换成animation
using System.Collections.Generic;using System.IO;using System.Text;using System.Text.RegularExpressions;using UnityEditor;using UnityEngine;public class GenerationAnimationWindow : EditorWindow { [MenuItem("Assets/AnimationTools/GenerateAnimati.原创 2020-08-27 18:38:45 · 1276 阅读 · 1 评论 -
Unity 将组件的数据序列化成lua文件以及反序列化
功能说明:使用最大化骨骼的时候需要添加动骨,但是对于不同的时装每个动骨组件要有不同的数据,因此希望将所有动骨的数据序列化存储到lua文件夹中,可读性好,使用xlua也易于解析,之后如果想要在原有参数上做调整,只需要将数据文件再导入或者直接修改lua文件中的某个参数即可;InspectorUI扩展:首先是写了一个InspectorUI的扩展,一个存储按钮和一个解析按钮; public override void OnInspectorGUI() { DrawBu原创 2020-08-25 21:35:17 · 996 阅读 · 0 评论 -
Unity 从fbx提取animclip
using UnityEngine;using UnityEditor;using System.IO;public class ArtFBX2AnimWindow : EditorWindow{ public static string assetSrcFolderPath = "Assets/Art/AvatarEquip/Animation"; public static string assetDstFolderPath = "Assets/Art/AvatarEquip.原创 2020-08-20 00:29:43 · 2671 阅读 · 0 评论 -
Unity Prefab批量修改
using UnityEngine;using UnityEditor;using System.IO;public class ArtActorPrefabModifyWindow : EditorWindow{ public static string assetSrcFolderPath = Application.dataPath + "/Resources/Prefabs/FashionPartPrefab"; public static string assetDst.原创 2020-08-20 00:27:01 · 2050 阅读 · 0 评论 -
Unity 查找各种丢失的引用
usingUnityEngine;usingUnityEditor;usingSystem.Text.RegularExpressions;usingSystem.IO;usingSystem.Collections.Generic;publicclassArtPrefabAutoConfigurer:AssetPostprocessor{staticvoidOnPostprocessAllAssets(string[]importedAs...原创 2020-08-14 17:27:29 · 2846 阅读 · 0 评论 -
Unity编辑器小提示和小技巧
概述这篇文章主要是总结了Unity编辑器使用的一些技巧,通过掌握这些技巧来提高开发效率;其中一部分编辑器功能是在2019版本以后被引入的。主要参考来自:https://unity.cn/projects/unity-tips快捷键Unity提供了Shortcut Manager快捷键管理器,可以在Edit>Shortcuts中查看快捷键:https://docs.unity3d.com/Manual/ShortcutsManager.html编辑器使用1.编辑器着色原创 2020-06-27 21:29:52 · 1220 阅读 · 0 评论 -
Unity处理材质球过期属性工具
Unity中的材质属性被序列化以后,就会一直存储在资源中,即使该属性删除后,它的序列化值以及引用关系也不会被丢掉,所以我们经常会发现,当我们使用一个和之前命名相同的属性时,原来的属性值或资源就会被自动赋值,这是因为材质中一直保持这种关系;但是,有些时候我们为了优化或者其它需求,想要去清理掉这些引用关系,如下,给出了清理某个文件夹下所有材质过期属性的一个工具;参考:游戏资源工具(一):Unity中处理材质球过期属性工具using UnityEngine;using UnityEditor;p.原创 2020-05-20 13:54:04 · 1624 阅读 · 0 评论 -
Unity统计shader 变体的数量
unity项目中经常需要对变体进行处理,下面这个工具是用于统计某个文件夹下所有shader的变体数量,它遍历每个shader,如果有更多统计需求,可以自行修改;更多:Unity Shader 变体处理与预加载流程using UnityEngine;using UnityEditor;using System.IO;using System.Reflection;using System.Text;using System.Text.RegularExpressions;public.原创 2020-05-20 12:00:27 · 2654 阅读 · 1 评论 -
Unity Prefab导入检查
using UnityEngine;using UnityEditor;using System.Text.RegularExpressions;using System.IO;class MyAllPostprocessor : AssetPostprocessor{ static void OnPostprocessAllAssets(string[] importedA...原创 2020-04-14 01:00:46 · 1253 阅读 · 0 评论 -
Unity统计文件夹下某种类型的资源数量
功能:统计文件夹下某类型所有资源的数量,包括子文件夹;用法:指定文件夹路径,并通过输入文件的后缀名代表文件类型(不需要加.符号)using UnityEngine;using UnityEditor;using System.IO;public class AssetCountWindow : EditorWindow{ public string assetFol...原创 2020-04-07 16:04:14 · 2098 阅读 · 1 评论 -
Unity编辑器扩展之创建Lua模板文件
本文主要提供了创建.lua模板以及xlua中的.lua.txt格式的模板文件;主要参考自:简书-Unity技术 扩展脚本模板(Lua为例) erick_book原博主的文章中只支持了创建lua文件的模板,由于最近需要使用功能到xlua,而xlua的后缀为.lua.txt,所以就加了个扩展;正所谓不要重复造轮子嘛,自己简单看了一下代码就搬了过来,做了点简单修改,在这里分享一下;主要包...原创 2020-01-17 18:26:45 · 966 阅读 · 0 评论 -
Unity GUI控件汇总
IMGUI的Controls控件类型小总结1.Label非交互的,不能点击或移动,只用于显示信息;不可交互的Control不需要有返回值,有交互的需要定义变量接收返回值;GUI.Lable(new Rect(0,0,100,100),"Label");2.Button这是一个简单的Button,每次按下不管按下多久都会只有一次点击事件,会在button按钮被释放时响应事件;...原创 2019-09-24 21:00:35 · 3053 阅读 · 0 评论 -
Unity EditorGUILayout总结
EditorGUILayout:提供了一些Unity内置类或结构体的布局组件,比如为Color类型、Vector3类型等定义的组件,为编辑器在Inspcctor和EditorWindow中的扩展提供了很大的方便;EditorGUILayout与GUILayout不同的是,它提供的是一些为专门的类型而封装的高级控件而不是一些基础组件,所以它的使用通常是用在一些变量的输入;EditorGUILay...原创 2019-09-24 21:00:19 · 4049 阅读 · 3 评论 -
Unity快速清空控制台&UnityEditor程序集
定义一个快捷键来清除控制台利用反射来完成,using System.Reflection;using System;using UnityEditor;public static class MyWindowLayout{ [MenuItem("MyTools/ClearConsole _c", false, 1)] public static void Cl...原创 2019-09-06 12:44:56 · 1405 阅读 · 0 评论 -
Unity GenericMenu使用
GenericMenu:用于创建自定义的上下文按钮和下拉按钮;void AddMenuItemForColor(GenericMenu menu, string menuPath, Color color) { // the menu item is marked as selected if it matches the current value of m_Col...原创 2019-09-24 21:01:02 · 1329 阅读 · 0 评论 -
Editor类---自定义属性面板
一、Editor类属性及函数首先提供官方参考文档:API-Reference-Editor以及用户手册案例;概述:Editor属于UnityEngine.Editor命名空间,继承与ScriptableObject类,通过继承该类并重写函数可以为自定义的对象定义它相应的编辑器;属性serializedObject:返回一个被检视的序列化的对象;它与target的区别:在OnIns...原创 2019-08-14 21:42:24 · 1837 阅读 · 0 评论 -
Unity EditorWindow---扩展自定义编辑器窗口
一、EditorWindow类属性及函数首先提供官方参考文档:API-Reference-EditorWindow概述:EditorWindow类继承自ScriptableObject类;我们可以通过继承这个类并重写来创建一个自定义的编辑器窗口,它可以随意停靠或放置在编辑器内任意位置,就像unity界面原生窗口一样;static 属性static 方法CreateWind...原创 2019-09-01 16:58:07 · 3721 阅读 · 0 评论 -
Unity 编辑器扩展(一) - 认识IMGUI
一、什么是IMGUI?IMGUI(Immediate Mode GUI)是由代码驱动的GUI系统,它和Unity中开发游戏界面时使用的基于游戏对象的UI系统是完全分开的,它倾向于作为游戏开发者的工具来使用,而不是展示给游戏玩家的UI;IMGUI系统三大用处:IMGUI主要用于开发调试和编辑器扩展,综述如下创建游戏内调试工具,显示一些游戏运行数据信息,比如显示游戏运行时的drawcall...原创 2019-09-01 13:11:16 · 2852 阅读 · 0 评论 -
Unity 启动时自动运行编辑器脚本-InitializeOnLoad
应用场景: 有些时候我们希望一些编辑器脚本可以在打开Unity编辑器时就自动运行,而不是被手动执行;InitializeOnLoad特性用于解决这个问题,只需要给一个类加上该特性以及给这个类声明一个static构造函数;这个静态构造函数将会在这个类所有静态函数和实例被使用前调用,InitializeOnLoad会保证该函数在打开unity编辑器时就开始执行,而不是在运行时才启动;usin...原创 2019-09-01 13:43:14 · 8536 阅读 · 0 评论 -
Unity Event - OnGUI事件
一、Event和OnGUI的关系Event其实就是指UnityGUI Event,它对应着用户的输入(按钮点击,鼠标事件等);OnGUI()函数的调用是依赖于Event的,只有接收到事件后,才会调用OnGUI()函数;二、Event成员static 属性:current,当前将要被处理的事件;public 属性:type:事件类型,对应着枚举类型EventType; is...原创 2019-09-01 16:58:18 · 4606 阅读 · 0 评论 -
Unity MenuItem属性
一、基本功能介绍MenuItem是UnityEditor下的属性,它是对编辑器的扩展,主要有两大作用:第一,在主菜单中添加菜单项,也就是在以下编辑器部分添加,这是一个很重要的用途,在开发插件的时候经常用到。示例代码如下: [MenuItem("MyMenu/LookCamera")] static void LookCamera() { ...原创 2019-07-23 01:11:30 · 2159 阅读 · 0 评论 -
UnityEditor Attribute特性汇总
CustomEditor: 官方说明;如下例:为UIWrapContent编写插件; [CustomEditor(typeof(UIWrapContent), true)] CanEditMultipleObjects:支持多对象编辑[CanEditMultipleObjects]DrawGizmo:它可以为任意一个组件类型提供gizmo绘制,就像camera和light组件...原创 2019-08-12 17:40:53 · 872 阅读 · 0 评论