Unity在编辑器中通过代码更改Tag
2017-07-27 19:23
661 查看
在Unity的编辑器中,当我们有较多的Tag需要手动输入时,我们可以通过代码来简化此过程,同时也可以通过代码将我们的工程导入其他项目时来检查需要的Tag是否存在。同时,在AssetBundle导出的过程中,虽然模型中的Tag会被保留,但是其保存的仅仅是Tag列表中的一个顺序,而非真正的根据名称保存的。这就需要当我们在不同的项目中进行Bundle的导入导出时重点检查的部分,否则容易出现意想不到的结果。
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; public class CheckTags : MonoBehaviour { private static string[] tags = new string[] { "***" "***" "***" "***" "***" "***" "***" "***"}; [MenuItem("TagController/CheckTags")] public static void CheckTag() { // Open tag manager SerializedObject tagManager = new SerializedObject(AssetDatabase.LoadAllAssetsAtPath("ProjectSettings/TagManager.asset")[0]); // Tags Property SerializedProperty tagsProp = tagManager.FindProperty("tags"); //Debug.Log("TagsPorp Size:" + tagsProp.arraySize); tagsProp.ClearArray(); tagManager.ApplyModifiedProperties(); //Debug.Log("TagsPorp Size:" + tagsProp.arraySize); for (int i = 0; i < tags.Length; i++) { // Insert new array element tagsProp.InsertArrayElementAtIndex(i); SerializedProperty sp = tagsProp.GetArrayElementAtIndex(i); // Set array element to tagName sp.stringValue = tags[i]; tagManager.ApplyModifiedProperties(); } } }
相关文章推荐
- unity 安卓热更新代码的最新方法: 通过Mono加载新的重新编译的dll
- Unity更改渲染层级代码
- 【Unity】通过AnimatorController更改其中某个动画片断的速度
- 【代码挖掘】创建unity工程常用目录的editor编辑器
- eclipse+cdt 代码编译通过 正常运行 编辑器却报错
- git是一种分布式代码管理工具,git通过树的形式记录文件的更改历史,比如: base'<--base<--A<--A' ^ | --- B<--B' 小米工程师常常需要寻找两个分支最近的分割点,即base.假设git 树是多叉树,请实现一个算法,计算git树上任意两点的最近分割点。 (假设git树节点数为n,用邻接矩阵的形式表示git树:字符串数组matrix包含n个字符串,每个字符串由字符'0
- unity 中更换 脚本编辑器 / 更改字体
- 整合Unity游戏引擎和 Visual Studio Code 代码编辑器 第二弹
- Unity-UGUI——通过代码给UI元素添加对应事件
- Unity编辑器定制:更改系统默认鼠标图标
- 加载设计器时遇到一个或多个错误。这些错误在下面列出。一些错误可通过重新生成项目来修复,而另一些错误则需要更改代码。
- Unity通过代码修改Standard shader的rendering mode
- Unity生成Tag枚举代码
- 代码更改Unity设置中的ICON
- Unity 在mac好用的代码编辑器--riderRS
- 在用unity开发中代码编辑器的选择
- 在 Mac 下配置 Visual Studio Code 为 Unity 代码编辑器
- 使用代码动态添加、删除view,通过tag寻找控件
- Unity 通过代码获取从面板传入的mono脚本,并添加为GameObject的脚本组件
- [Unity编辑器]通过拖拽获取文件路径