//----create asset

//ref: http://wiki.unity3d.com/index.php?title=CreateScriptableObjectAsset

CmyScriptableObject asset = ScriptableObject.CreateInstance<CmyScriptableObject> ();
 
        AssetDatabase.CreateAsset (asset, path);

AssetDatabase.SaveAssets ();
        AssetDatabase.Refresh();
        EditorUtility.FocusProjectWindow ();
        Selection.activeObject = asset;

//注:CmyScriptableObject类型最好单独定义在CmyScriptableObject.cs文件里,以保证所生成的asset文件的Script成员为非空。

//----create a scriptable object and add it to an existing asset
                    CmyScriptableObject obj = ScriptableObject.CreateInstance<CmyScriptableObject> ();
                    AssetDatabase.AddObjectToAsset(obj,existingAsset);

// Reimport the asset after adding an object.
                    // Otherwise the change only shows up when saving the project
                    AssetDatabase.ImportAsset(AssetDatabase.GetAssetPath(obj));

Selection.activeObject = obj;

//----remove object in asset

//ref : http://answers.unity3d.com/questions/219465/how-can-i-remove-an-object-from-an-asset.html

UnityEngine.Object.DestroyImmediate(obj, true);

            //save

                          AssetDatabase.SaveAssets();

//----get subasset of certain class type

CmyScriptableObject obj = AssetDatabase.LoadAssetAtPath<CmyScriptableObject> (path);

//----get all objects(sub assets) from assets

//ref: http://answers.unity3d.com/questions/1066162/how-do-i-return-the-path-of-a-sub-asset-in-an-asse.html

//suppose asset have objects(sub assets) attached to it

UnityEngine.Object[] allassets = AssetDatabase.LoadAllAssetsAtPath(AssetDatabase.GetAssetPath(asset));
                    int assetCount=allassets.Length;
                    Debug.Log("assetCount:"+assetCount);
                    for(int i=0;i<assetCount;i++){
                        UnityEngine.Object _asset=allassets[i];
                        Debug.Log(_asset.name);
                    }

//----save asset

//if only want save the specified asset, use:

EditorUtility.SetDirty (asset);

//if want save all assets, use:

AssetDatabase.SaveAssets ();

//----rename asset

string errorMessage=AssetDatabase.RenameAsset(AssetDatabase.GetAssetPath(asset),"new name");
            if(errorMessage.Length==0){
                Debug.Log("rename asset succ");
            }else{
                Debug.Log("rename asset failed: "+errorMessage);
            }

//----rename subasset

CmyScriptableObject subAsset = AssetDatabase.LoadAssetAtPath<CmyScriptableObject> (AssetDatabase.GetAssetPath(asset));
        subAsset.name = "new name";

//----hide subasset in Assets folder

//ref: http://answers.unity3d.com/questions/210726/how-to-hide-files-in-project-directory.html

CmyScriptableObject subAsset = AssetDatabase.LoadAssetAtPath<CmyScriptableObject> (AssetDatabase.GetAssetPath(asset));
  subAsset.hideFlags = HideFlags.HideInHierarchy;

unity, asset operations的更多相关文章

  1. [Unity Asset]AssetBundle系列——游戏资源打包

    转载:http://www.cnblogs.com/sifenkesi/p/3557231.html 将本地资源打包,然后放到资源服务器上供游戏客户端下载或更新.服务器上包含以下资源列表:(1)游戏内 ...

  2. Unity的Asset Store商店下载文件路径

    如果之前在Asset Store商店下载过资源包,结果下次用的时候找不到了,不用急,其实Unity把它自动保到下面这个目录了,最后一个文件夹名与版本号有关,找到前面的即可. C:\Users\Admi ...

  3. Unity资源商店 Asset store下载文件夹的位置

    Win10 C:\Users\用户名\AppData\Roaming\Unity\Asset Store-5.x\ Mac OS X ~/Library/Unity/Asset Store

  4. unity文件解析以及版本控制

    刚开始使用unity做开发时,拿到一个范例工程先上传SVN,之后再自己做一些修改后,发现有非常多文件都有变化,这才知道有很多本地生成的文件,是不用上传的,但是不知道哪些才是需要共用的.之后又困扰于修改 ...

  5. Unity将来时:IL2CPP是什么?

    作者:小玉链接:https://zhuanlan.zhihu.com/p/19972689来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. Unity3D 想必大家都不陌 ...

  6. HoloLens开发手记 - Unity development overview 使用Unity开发概述

    Unity Technical Preview for HoloLens最新发行版为:Beta 24,发布于 09/07/2016 开始使用Unity开发HoloLens应用之前,确保你已经安装好了必 ...

  7. 【教程】Asset Server(联合开发)

    Unity Asset Server下载 https://unity3d.com/cn/unity/team-license http://tieba.baidu.com/p/2419391804 W ...

  8. unity3d asset store下载的代码所在位置

    Asset Store下载了官方的示例,却找不到了,又不想重新下载 PC:C:\Users\PCNAME\AppData\Roaming\Unity\Asset StoreMAC:"~/Li ...

  9. unity3d中asset store 的资源下载到本地的目录位置

    来源:http://blog.csdn.net/fzhlee/article/details/8613688 C:/Users/[当前用户]/AppData/Roaming/Unity/Asset S ...

随机推荐

  1. Source Insight常用快捷键及注释快捷键设置

    转:http://blog.csdn.net/tlaff/article/details/6536610 在使用SI过程中,我根据自己的使用习惯修改了它的默认快捷键,并且在配置文件中添加了一些人性化功 ...

  2. 用指令来构建IIS7

    工作上要部署iis7+net4.0环境,发现30多台机子都没有用装有IIS7镜像来安装,都必须自己手动. 作为程序猿,真要一台台装的话,就真对不起自己的职业.于是想到用bat来执行任务,找到了安装II ...

  3. 数学图形(2.6)Satellit curve

    这曲线有点像鼓,绕在球上两头是开口的. #http://www.mathcurve.com/courbes3d/satellite/satellite.shtml vertices = t = to ...

  4. JavaScript中的单引号和双引号解决

    在使用JavaScript显示消息或者传递字符数据的时候,经常会碰到数据中夹杂单引号(')或者双引号("),这种语句往往会造成JavaScript报错.对此一般采用/'或者/"的解 ...

  5. 用CSS hack技术解决浏览器兼容性问题

    什么是CSS Hack? 不同的浏览器对CSS的解析结果是不同的,因此会导致相同的CSS输出的页面效果不同,这就需要CSS Hack来解决浏览器局部的兼容性问题.而这个针对不同的浏览器写不同的CSS ...

  6. JAVA反射使用手记

    本篇文章为在工作中使用JAVA反射的经验总结,也可以说是一些小技巧,以后学会新的小技巧,会不断更新.本文不准备讨论JAVA反射的机制,网上有很多,大家随便google一下就可以了. 在开始之前,我先定 ...

  7. java中 HashMap和Hashtable,list、set和map 的区别

    摘自: http://blog.chinaunix.net/uid-7374279-id-2057584.html HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Ma ...

  8. RS请求错误之RSV-BBP-0028

    环境:Version  Cognos10.2 单机 非集群 运行报表的时候经常遇到: 错误信息为: The secondary request failed. The requested sessio ...

  9. Win下执行Swing程序的BAT文件 和 Linux下执行Swing程序的SH文件

    BAT文件: @echo off set CLASSPATH_BAK=%CLASSPATH% set classpath=%CLASSPATH%;.\lib\commons-codec-1.3.jar ...

  10. DOSbox汇编集成环境下的具体设置

    alt+enter能够全屏幕,假设认为游戏执行速度不合适,能够改动 cycles=3000 适当调整大小. .执行 DOSBox,会打开两个 DOS 窗体.我们仅仅需在例如以下窗体中键入 mount ...