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模型的表面其实是由多个彼此相连的三角面构成.三维空间中,构成这些三角形的点和 ...
随机推荐
- Google Volley框架源码走读
PS一句:最终还是选择CSDN来整理发表这几年的知识点,该文章平行迁移到CSDN.因为CSDN也支持MarkDown语法了,牛逼啊! [工匠若水 http://blog.csdn.net/yanb ...
- setColorFilter()滤镜
----------转载于:http://blog.sina.com.cn/s/blog_5da93c8f01012pkj.html 通过setColorFilter可以实现滤镜效果. 如: ...
- GPRS模块上电后复位会导致开机函数不正常的问题原因及解决方法
之前使用的开机函数 void Gprs_modem_start_up(){GPIO_SetBits(GPIOB,GPIO_Pin_0); //RESET 脚要置成高电平,防止重启do{ GPIO_Se ...
- 识别有效的IP地址和掩码并进行分类统
#include<iostream> #include<stdio.h> #include<string.h> using namespace std; int c ...
- Oracle 客户端连接服务器[转]
很多朋友在开发项目中并不是每个人用一个数据库,而是有单独的一台主机作为开发的数据库服务器,这样,就需要我们的开发人员去连接它. 首先是进入oracle的 Net Mananger:
- PostgreSQL 列出所有表名和数据库名
列出表名 直接 \d 不加参数 或 SELECT tablename FROM pg_tables WHERE tablename NOT LIKE 'pg%' ...
- windows下上传文件到VWware的centos
1.使用Xsell 连接到centos虚拟机,可以在虚拟机使用终端查看ip地址,命令:ifconfig -a 2.远程Linux系统上需要安装lrzsz工具包 Xsell命令:yum install ...
- LG1268树的重量
#include<bits/stdc++.h> using namespace std; #define N 35 #define INF 1e9 int dis[N][N],n,len, ...
- Angular - ng-repeat高级用法
ng-repeat高级用法: 遍历数组: <li ng-repeat="item in array">{{item}}</li> 遍历对象: k ...
- String与InputStream相互转换
1.String to InputStream String str = "String与InputStream相互转换"; InputStream in_nocode = ...