unity插件开发——AssetDatabase】的更多相关文章

AssetDatebase也是一个静态类,他的作用是管理整个工程的所有文件(一般成为“资产”).直观地说就是管理整个project窗口中的所有内容,比如,你可以增加.删除.修改文件等等. 这里有几个常常用到: CreateAsset:创建文件 CreateFolder:创建文件夹 DeleteAsset:删除文件 GetAssetPath:获取文件相对于Assets所在目录的相对位置,如“Assets/Images/test.png” LoadAssetAtPath:加载文件 Refresh:刷…
开发环境 windows 7 Unity 5.3 及更高版本 前言 使用AssetDatabase.Load或AnimatorController.CreateAnimatorControllerAtPath等Unity内置Editor API进行文件操作时,经常碰到加载资源为null,或报路径不存在! 经过断点调试,发现绝大部分错误都是因为路径的分隔符存在两种:"/"和"\". 我们使用 System.IO.Path 这个API得到的路径,其实也是以"\…
在unity开发过程中,通常我们习惯性地在Windows操作系统下使用svn进行版本管理,而每次提交更新,都需要回到文件夹下的这种操作让人无法忍受.是不是可以集成svn到unity中呢?查了一圈unity store可以看到很多svn的第三方插件.考虑到我们只需要简单的功能,而且不希望加入额外复杂的代码,最后还是自己写一个插件.功能就是更新或者提交assets文件夹. 如果还没有svn对项目进行管理的,按照以下2步操作:     1.下载svn客户端,安装.     2.从svn版本库check…
有unity中的菜单栏是我们经常使用到的地方,如下图: MenuItem的作用就是增加一个自己的菜单 使用方法: 在工程中Assets目录下任意一个Editor目录(以后简称Editor目录,如果不存在,请自行创建)中创建任意脚本,比如我创建了叫做MenuTest .cs,双击进入代码编辑,创建一个静态函数,(代码来自官方文档http://docs.unity3d.com/Documentation/ScriptReference/MenuItem.html)如下: public class M…
Selection是一个静态类,它的主要功能是获取在project窗口中鼠标选择的对象或者是inspector窗口的当前显示的对象.它的字段有 activeGameObject activeInstanceID activeObject activeTransform gameObjects instanceIDs objects transforms 其中activeGameObject和activeTransform是inspector窗口的当前显示对象对应的GameObject和Trans…
1.简单的svn集成: 查询svn的文档可以知道svn提供各种命令符操作.因此,原理非常简单,利用命令符操作调用svn即可.代码也非常简单: 更新:Process.Start("TortoiseProc.exe", "/command:update /path:" + Application.dataPath + " /closeonend:0"); 提交:Process.Start("TortoiseProc.exe", &…
一.说在前面的 1.unity内置的ui系统,无论是在性能的表现上.功能的强大性上.制作复杂ui的便捷性上,还是其它的一些方面都不如一些第三方的插件来的好,如:NGUI和DF-GUI(PS: 后者比前者要好很哦,推荐!)). 2.虽然UnityGUI不如某些第三方的插件,但是它在做一些简单的测试上,做数据高度上还是要方便一些的:而且如果你要做Inspector的定制与Unity插件开发的话,UnityGUI你是绕不过去的哦.所有大概熟悉一下UnityGUI还是必要的! 3.关于UnityGUI的…
测试环境 本文基于windows下的操作 windows 7 x64 unity 5.3.7p4 获取文件的路径 比如一个文件的路径为:e:\3d\client\trunk\Product\Apps\Windows\v0007_1452\qxz_x86_dev.exe 我们想要获取它的路径,可以通过以下方式: 使用Path var filePath = @"e:\3d\client\trunk\Product\Apps\Windows\v0007_1452\qxz_x86_dev.exe&quo…
最近参考了各位大神的资源,初步学习了Unity的资源管理模式,包括在编辑器管理(使用AssetDatabase)和在运行时管理(使用Resources和AssetBundle).在此简单总结编辑器模式下的资源管理方法,方便自己回顾. ① 加载/卸载资源 using UnityEngine; using System.Collections; #if UNITY_EDITOR using UnityEditor; // 这个文件在手机上没有,需要使用条件编译 #endif public class…
Unity编辑器 - 资源修改立即写入磁盘AssetDataBase.SaveAssets() 在编写编辑器时,如果需要修改Unity序列化资源(如Prefab,美术资源,ScriptableObject等类型),修改后应将该资源标记为已更改: EditorUtility.SetDirty(Object target) 但标记为已更改的资源Unity不会立即保存到磁盘,这时需要调用: AssetDataBase.SaveAssets() PS: 一般所有资源修改完后调用,调用后Unity会重新导…