Unity 编辑器扩展
rrtt_2323
d=====( ̄▽ ̄*)b
展开
-
聊一聊Unity的Test Framework应该怎么用
这2种模式在写代码上是没有差别的,主要区别在,PlayMode需要编辑器启动,单元测试的代码放的位置也比较自由,EditMode 则需要你先创建一个用来放单元测试代码的专用程序集出来。单元测试文件在编写上没有什么难度,需要关注的就是2个命名空间和2个测试方法的标签,其中[UnityTest] 方法和普通c#方法还有所不同,它是一个协程方法。如果你的目录中一个测试文件都没有的话,它还会贴心的给你一个按钮,帮你创建一个,有的话就直接显示执行列表了。第1步先安装它,或者给它升级到最新。第2步打开工具的主窗口。原创 2022-12-17 17:44:53 · 4060 阅读 · 1 评论 -
Unity GUI +缩进的方法
unity 自己新出了一套前后端的 ui 解决方案 UIElements ,所以 gui 慢慢的就要退出历史舞台了,当然是什么时候就不好说了。不过旧的 gui 方法难免也会用到,所以多学2招总是没错的。这是在看别人项目里的代码时发现的,一个给你要显示的内容+缩进的方法EditorGUI.indentLevel++;后面的元素则就都会往后缩进一下,在做一些勾选开关时,那是相当的好用呀。一般情况下,在你缩完的内容后面,需要再把它缩回来。EditorGUI.indentLevel--;...原创 2022-02-08 16:53:41 · 2763 阅读 · 0 评论 -
在 Unity 编辑器中,打开一个用来显示网页的工具窗
最近发现 unity 在底层库里,真的藏了好多有趣的功能呀,比如下面这个using System;using System.Reflection;using UnityEditor;public class TestEditorCode{ [MenuItem("Tools/测试用编辑器窗口开网页")] private static void OpenWindow() { string Url = "https://www.bilibili.com/";原创 2022-01-27 11:30:51 · 4037 阅读 · 0 评论 -
Shader Graph 和 Amplify Shader Editor 节点文档地址
Shader Graph :https://docs.unity3d.com/Packages/com.unity.shadergraph@11.0/manual/Node-Library.htmlAmplify Shader Editor :http://wiki.amplify.pt/index.php?title=Unity_Products:Amplify_Shader_Editor/NodesMark 一下文档地址,免得每次还得搜索...原创 2021-06-23 21:32:35 · 705 阅读 · 2 评论 -
unity调用操作系统的dialog
有个需求,就是在扩展编辑器功能时,有一些配置文件需要读取,现在希望能选取这个东西,而不是每次手填地址。 找了半天unity提供的组件,发现没有提供这个功能呀,这可怎么办??? 突然想到unity用的是c#呀,那能不能直接使用c#的系统弹窗,想到就查,结果竟然还真的可以,下面我们来看看要怎么搞。参考的这个博客的内容: https://www.jianshu.com/p/e3ef2f45bd...原创 2018-06-01 15:28:57 · 1315 阅读 · 0 评论 -
unity 资源清理工具 Asset Cleaner
官方论坛帖子: http://forum.china.unity3d.com/thread-21216-1-1.html非常轻量级(就4个.cs)的一个用来在unity下检测项目中哪些资源没有正在被使用的小工具。 可以非常方便的帮我们把没用的资源给清理掉,以往完全是靠人工手动干这个事。 今天是头一回知道,把预设拖到scene里,scene拖到building setting里,这种检查资转载 2018-01-23 18:10:27 · 3494 阅读 · 2 评论 -
unity 的内存优化工具 Memory Profiler
最近在优化项目时用了这个工具,确实棒了很大的忙。bitbucket上的项目地址: https://bitbucket.org/Unity-Technologies/memoryprofiler/src怎么使用这里写的很清楚了: http://www.jianshu.com/p/171d63ed8ba0原创 2017-04-04 09:32:55 · 7738 阅读 · 0 评论 -
unity 编译后执行,自动配置 Xcode 项目的方法
unity中,实现编译后继续操作Xcode文件夹的主要方法是使用 PostProcessBuildAttribute官方文档: https://docs.unity3d.com/ScriptReference/Callbacks.PostProcessBuildAttribute.html用法十分简单,只有1个参数,作用是规定有多个后执行方法时,这些方法的执行顺序。被 [PostProcessB原创 2016-09-28 12:15:56 · 2274 阅读 · 0 评论 -
分享一个我用的 unity 日志系统
我们在开发中,往往会觉得unity自带的日志系统不是那么好用,比如,不能筛选日志,不能打印在屏幕上,想生成自己的日志文件,等等等等的需求,这时候就需要自己来扩展编辑器的相关功能了。 我这里实现的需求比较简单,就是给日志加了个key,可以根据这个key来对暂时不需要显示的日志进行过滤,还有就是将我们的日志打印到屏幕上去。打印屏幕的类参考了由 Jeremy Hollingsworth 和 Simon原创 2016-09-03 23:14:17 · 5226 阅读 · 0 评论 -
加载 MonoBehaviour 类时, public属性因为序列化所产生的性能开销问题
我们都知道 MonoBehaviour 类的 public 属性是会被unity自动序列化的,然后你就可以直接在对象上设置参数了,像这样: 但是这样的开销其实挺大的。我们现在创建2种类,一种是集成MonoBehaviour的,绑定在cube上,我们来加载1000个进来。一种是普通的c#类,我们也加载1000个进来。(为什么加这么多,是因为加少了怕看不出区别来) 测试环境为Unity 4.6.原创 2016-06-17 20:25:06 · 2434 阅读 · 1 评论 -
Unity扩展 检视面板(Inspector面板),编辑器窗口(自己定义的类似Inspector面板的窗口),scene场景 常用的类说明
EditorApplication 主应用程序类。 能控制编辑器的启动,暂停,新建场景等,比较高层次的控制。 Editor 派生的自定义编辑器基类。使用这个为你的对象来创建自己的自定义检视面板和编辑器。 在 OnInspectorGUI 方法中绘制新的检视面板功能 在OnSceneGUI方法中绘制新的场景功能 EditorWindow 从这个类来创原创 2016-04-10 23:41:24 · 5367 阅读 · 1 评论 -
unity3D 编辑器扩展,MenuItem 和 ContextMenu 的使用方法
官方也有一个文章,举了 MenuItem 类的一些使用方法。 我是传送门,点我首先是unity顶部菜单栏的一些用法,如图: 注意:MenuItem是编辑器类,所以技能导入 using UnityEditor; 命名空间,且一般我们的类也不是集成自MonoBehaviour的,而是集成ScriptableObject的。最普通的MenuItem调用:[MenuItem("MenuItem/普通...原创 2016-04-05 17:20:47 · 22277 阅读 · 2 评论 -
在 Unity3D 中运行外部 shell 脚本的方法
有时候项目里需要执行一些shell脚本,来完成诸如文件移动,命令行打包,自己转换文件格式什么的工作,省去一些手工劳动,然后这时候就需要用shell了。网上也有一些关于调用方法的文章,这里就说一下我自己尝试时遇到的问题。。。代码如下:using UnityEngine;using UnityEditor;using System.Diagnostics;using System.Threadin原创 2016-03-30 17:57:50 · 5416 阅读 · 0 评论 -
在unity编辑器中给Hierarchy列表中的GameObject加icon
在unity编辑器中给Hierarchy列表中的GameObject加标记图标最近在研究unity的编辑器类,在项目中增加一些标记,辅助线什么的引擎扩展,对项目结构清晰度的提升不是一点半点,不过网上对编辑器类介绍的文章都不是太全面,只能自己一点一点看了~ 其实好多时候,大家都只注意了项目本身的内容,而忽略了这些不起眼的点。不废话,直接上代码:using System;using UnityEng原创 2016-02-22 00:10:36 · 5765 阅读 · 1 评论