随笔分类 - Unity Editor知识
Unity编辑器插件开发知识积累
摘要:扩展Unity的菜单MenuItem MenuItem 属性用于向主菜单和检视面板上下文菜单添加菜单项。 该 MenuItem 属性能够将任何静态函数转变为菜单命令,仅静态函数可使用 MenuItem 属性 我的Unity版本:2019.3.7f1 创建菜单这几种写法都是可行 函数参数有MenuCo
阅读全文
摘要:从2017开始,在editor脚本中查找属性是这样写的 var m_Script = serializedObject.FindProperty("m_Script"); SerializedProperty 以UGUI的源码为例 using UnityEngine; using UnityEngi
阅读全文
摘要:需求来源 在阅读UGUI的源码时,发现Unity对于私有字段才加了[[SerializeField]]标签,而public的没有,且在Editor扩展中,也是查找带序列化标签的私有字段进行修改,那么在开发编辑器插件时,就很有必要知道私有字段名,因为在Inspector中看到是公用字段名(如果切换到中
阅读全文
摘要:前言 Unity官方从2018开始已提供编辑器的中文语言包,本文介绍两种方法安装中文语言包 PS.官方的帮助文档也提供了中文选项,在文档的右上角选择中文 1. 通过Unity Hub 下载 下载Unity Hub Windows: https://public-cdn.cloud.unity3d.c
阅读全文
摘要:Unity安卓平台shader平台丢失 Unity的工程切换到Android平台后,运行游戏出现shader丢失 解决办法:在Unity桌面图标的快捷方式后添加 force gles20 示例:"C:\Program Files\Unity_5_3_7_p4\Editor\Unity.exe" fo
阅读全文
摘要:错误日志 升级到Unity2018之后,使用 Open C# Project 打开VS工程,出现报错,无法启动VS。 错误日志如下: ArgumentException: Value does not fall within the expected range.SyntaxTree.VisualStudio.Unity.Bridge.CompilationUnit.LanguageOf (Sy...
阅读全文
摘要:开发环境 windows 7 Unity 5.3 及更高版本 前言 使用AssetDatabase.Load或AnimatorController.CreateAnimatorControllerAtPath等Unity内置Editor API进行文件操作时,经常碰到加载资源为null,或报路径不存
阅读全文
摘要:预览 在Project视图中,扩展右键菜单,右键 – Create - Text File 创建一个Text文件,或者Lua文件。 关键点 获取当前选择的路径,以Assets路径开头 var selectPath = AssetDatabase.GetAssetPath(Selection.acti
阅读全文
摘要:Unity5的 Statistics上的统计信息和Unity4 有一些区别, Statistics窗口,全称叫做 Rendering Statistics Window,即渲染统计窗口(或渲染数据统计窗口),窗口中罗列出关于渲染、声音、网络状况等多种统计信息 ,下面详细的解释一下这些项的意义。 FPS FPS(Time per frame andFPS):frames per sec...
阅读全文
摘要:前言 Unity Remote支持把手机的以下数据返回到Unity Editor中: 触摸输入 加速计 陀螺仪 摄像头 GPS 我的操作环境: Unity 5.3.6f1 在windows 下 Android 设备 Unity Remote 5 关于Unity Remote的文档:http://docs.unity3d.com/Manual/UnityRemote4.html 操作...
阅读全文
摘要:前言 如何让一个Gameobject的属性在运行时,不可以在属性面板上手动的修改呢? 文档:http://www.ceeger.com/Script/Enumerations/HideFlags/HideFlags.html 测试环境:Unity 5.3.6f1 (windows x64) 经测试HideFlag对gameobject和自定义都有效,因为此属性是UnityEngine.Object...
阅读全文
摘要:本文将从Unity编辑器和运行时两个角度出发,主要探讨以下两方面内容: Unity序列化系统内部细节 以及 Unity如何维护不同对象之间的强引用 。另外还会讨论对象与资源的技术实现差别。 译注:除非特别说明,下文中所有的“资源”均指代“Asset”。 本文内容是理解在Unity中如何高效加载和卸载
阅读全文
摘要:这是一系列文章中的第二章,覆盖了 "Unity5的Assets,Resources和资源管理" 本文将从Unity编辑器和运行时两个角度出发,主要探讨以下两方面内容: Unity序列化系统内部细节 以及 Unity如何维护不同对象之间的强引用 。另外还会讨论对象与资源的技术实现差别。 译注:除非特别
阅读全文
摘要:Editor数据保存需求 做编辑器插件开发时,当打开一个窗口,对数值进行修改后,在关闭窗口或重新打开Unity时,希望能保存上次的数据。 相关知识 Serialization ,ScriptableObject NGUI保存数据的方法 查看了下NGUI是把数据存储在EditorPrefs中,具体源码
阅读全文
摘要:最近打开工程列表 当用Unity打开过的项目越来越多之后,在最近打开项目记录框中就会变的很长,那么如何才能删除最近打开的记录呢? Unity4.x最近打开的工程记录 Unity5.x最近打开的工程记录 删除最近打开记录 那么要如何删除最近打开的项目记录呢?有以下两种方法: 方法一: 使项目路径失效
阅读全文
摘要:Editor Style Viewer 在开发过程中,我喜欢编写一些辅助的Editor插件,方便在游戏开发过程进行调试。 下面是摘自Asset Store的一个查看Unity 默认GUI样式的小工具 插件链接:Editor Style Viewer https://www.assetstore.un
阅读全文
摘要:Unity5.3 模块独立 Unity5.3把各个模块分开来了,主程序安装包更轻巧,在官网下载的话,能下载到 Unity安装程序,Unity编辑器等一些资源package,其它的模块可以通过Unity安装程序进行下载 下载存档链接:http://unity3d.com/cn/get-unity/do
阅读全文
摘要:Profiler窗口 1. CPU A. WaitForTargetFPS: Vsync(垂直同步)功能所,即显示当前帧的CPU等待时间 B. Overhead: Profiler总体时间-所有单项的记录时间总和。用于记录尚不明确的时间消耗,以帮助进一步完善Profiler的统计。 C. Physics.Simul...
阅读全文
摘要:前提条件 项目工程目录:E:/Work/cosmosbox/cb-client/ 我电脑当前的用户名:qingqing PersistentDataPath Application.persistentDataPath 持久数据路径,APP更新时不会删除此数据 例:C:/Users/qingqing/AppData/LocalLow/Cosmosbox/ 最后一位的目录名为PlayerS...
阅读全文
摘要:Prefab查找需求 在项目开发阶段的中后期,工程中有越来越多的Prefab,当我们要修改一个prefab或删除无用的prefab时,或许我们不是那么清楚该prefab在那些场景中使用着或从未使用过,所以我就写了这么一个小工具,对选中的prefab进行检查。 当然我把这个小工具用于检查UI的pref
阅读全文