unity, 由scriptableObject创建.asset
由继承自scriptableObject的类X创建.asset文件。
假设类X的定义为:
[System.Serializable]
public class X : ScriptableObject {
public float m_a;
}
方法一:写代码创建。
#if UNITY_EDITOR
string path = "Assets/Resources/x.asset";
X scriptableObj = ScriptableObject.CreateInstance<X> ();
UnityEditor.AssetDatabase.CreateAsset (scriptableObj, path);
UnityEditor.AssetDatabase.SaveAssets ();
UnityEditor.AssetDatabase.Refresh();
#endif
(补充:对于如上创建出来的x.asset,加载写法是:
若用assetDatabase加载:
#if UNITY_EDITOR
UnityEditor.AssetDatabase.LoadAssetAtPath("Assets/Resources/x.asset");
#endif
若用Resource.Load加载:
Resources.Load("x");
)
方法二:通过菜单创建。
在类X前添加CreateAssetMenu属性,会自动在系统create菜单中添加对应的菜单项。
[CreateAssetMenu(fileName="x",menuName="(custom) X")]
[System.Serializable]
public class X : ScriptableObject {
public float m_a;
}

参考:
http://baba-s.hatenablog.com/entry/2015/06/13/000000
http://answers.unity3d.com/questions/1079664/how-do-i-use-the-createassetmenu-attribute.html
unity, 由scriptableObject创建.asset的更多相关文章
- 使用ScriptableObject创建.asset文件
.asset一般用来存储一些配置,比如SDK初始化的相关参数. using System.Collections.Generic; using UnityEngine; namespace XXX { ...
- Unity ScriptObject创建Asset文件
创建ScriptObject可以创建带序列化的资源,只保存数据不用绑定在游戏对象上.创建出来的本子资源可以通过资源加载到游戏里使用.这里介绍一下使用Resources加载. 创建好的asset文件也可 ...
- Unity资源Assetmport New Asset对话框
Unity资源Assetmport New Asset对话框 1.2.2 资源 开发游戏一定会使用很多东西,如网格.纹理.电影.动画.声音.音乐.文本等等.这些文件都被Unity称为资源(Asset ...
- Unity中一键创建常用文件夹
Unity中一键创建常用文件夹 说明 项目测试版本Unity5.3. 这个一个小工具:功能非常简单,就是一键给新建工程添加所有文件夹.到此结束. 但是具体咋操作呢? 与把大象装进冰箱一样,三步,下载代 ...
- Unity创建asset文件的扩展编辑器
using UnityEngine; using UnityEditor; using System.IO; public class CreateAsset : EditorWindow { pri ...
- unity中ScriptableObject在assetbundle中的加载
转载请标明出处:http://www.cnblogs.com/zblade/ 以前都是写一些个人的调研博客,从今天开始,也写一些个人在开发中遇到的一些可以分享的趟坑博客,为后续的开发人员提供一些绵薄之 ...
- Unity Editor 下创建Lua和Text文件
预览 在Project视图中,扩展右键菜单,右键 – Create - Text File 创建一个Text文件,或者Lua文件. 关键点 获取当前选择的路径,以Assets路径开头 var sele ...
- unity, 用脚本创建mesh
创建一个空gameObject,添加Mesh Filter和Mesh Renderer两个component,再添加一个脚本createMeshScript: using UnityEngine;us ...
- Unity中动态创建Mesh
什么是Mesh? Mesh是指的模型的网格,3D模型是由多边形拼接而成,而多边形实际上又是由多个三角形拼接而成的.即一个3D模型的表面其实是由多个彼此相连的三角面构成.三维空间中,构成这些三角形的点和 ...
随机推荐
- IOS开发之WIFI及IP相关
获取手机设备的IP信息: #import <ifaddrs.h> #import <arpa/inet.h> // Get IP Address - (NSString *)g ...
- JQuery_高级选择器
在很多特殊的元素上,比如父子关系的元素,兄弟关系的元素,特殊属性的元素等等. 在早期 CSS 的使用上,由于 IE6 等低版本浏览器不支持,所以这些高级选择器的使用也不具备普遍性,但随着 jQuery ...
- OpenGL的glTexImage2D()与gluBuild2DMipmaps()的使用方法及区别
OpenGL的glTexImage2D()与gluBuild2DMipmaps()的使用方法及区别 说明:两者的都是生成纹理,即:将载入的位图文件(*.bmp)转换成纹理贴图. 1.glTexImag ...
- zabbix3.0.4 部署之一 (简介)
官方网站:http://www.zabbix.com/ 下载地址:http://www.zabbix.com/download.php zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视 ...
- linux笔记:文件系统管理-分区、文件系统以及文件系统常用命令
linux分区类型: linux文件系统: df(查看文件系统容量和占用): du(统计文件或目录大小): 查询和自动挂载: 挂载命令格式: 挂载光盘: 卸载光盘: 挂载U盘:
- 【Jenkins】Windows下安装&访问jenkins
1. 下载jenkins.war包 下载地址:http://jenkins-ci.org/ 2. 之后在cmd里启动jenkins,命令如下: java -jar (放置war包路径,最好没有中文)j ...
- Eclipse中@author的修改
什么东西都可能会被忘掉,我这种记性不好的就更容易忘了.换了电脑后eclipse中的@author变了,于是找了下修改@author的方法:1. 在eclipse.ini中添加-vmargs-Duser ...
- Shell脚本的追踪与debug
[xd502djj@linux ~]#sh [-nvx] scripts.sh 参数: -n:不执行脚本,仅仅查询语法错误 -v:执行脚本前,先将脚本scripts的内容输出到屏幕上 -x:将使用到的 ...
- [转]深入理解Java 8 Lambda(类库篇——Streams API,Collectors和并行)
以下内容转自: 作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://zh.lucida.me/blog/java-8-lambdas-insideout-l ...
- 微软成立反网络犯罪中心,工作环境如美剧CSI情景
微软在总部大楼内设立新网络犯罪中心(Cybercrime Center),旨在针对全球恶意软件.僵尸网络以及其他互联网犯罪行为进行实时追踪并予以打击.微软将“网络犯罪中心”设置在雷德蒙德总部大楼,目的 ...