Unity .asset教程一之自定义资源.asset配置数据
的有关信息介绍如下:
Unity .asset教程一之自定义资源.asset配置数据。在游戏开发中,经常会用到一些配置文件保存一些数据,然后项目运行中读取这些配置文件中的数据在游戏中使用。如:配置血条:根据角色类型(人物、动物、怪物等)配置不同的血条,包括血条大小,血条名或血条预设,血条颜色等一些简单数据。如:配置子弹:子弹类型(真子弹、假子弹、追踪子弹等),子弹速度,伤害数值,子弹关联的特效等。诸如此类的配置很多种,可创建一个可序列化的类存储数据,或者创建 XML 、JSON 文件保存数据,创建 Excel 文件,创建 TXT 文件,皆可完成需求,灵活使用这些方法保存配置数据。在此介绍一下使用可序列化类保存配置,并且将可序列化类保存成Unity的自定义文件(.asset),然后配置自定义文件(.asset)。本节介绍一子弹为例自定义资源.asset配置数据的简单案例,具体如下图
.asset:
1)优点:可以保存数据类型多样(int、string、Vector3、GameObject、Transform、Texture等)如关联预设,关联图片等资源数据,而XML、TXT等只能保存(int、string、Vector3 等基本数据类型)。
2)缺点:如果配置数据中保存了(GameObject、Texture)等资源数据,当关联的资源被删除时,配置数据将丢失,需要重新将新的资源再次关联到配置数据上
ScriptableObject优点大概有三点:
1)把数据真正存储在了资源文件中,可以像其他资源那样管理它,例如退出运行也一样会保持修改
2)可以在项目之间很好的复用,不用再制作Prefab那样导入导出
3)在概念上有很好的fit,强迫症患者的福音
打开Unity,新建一个空工程,具体如下图
在工程中,新建一个文件夹“Scripts”,在“Scripts”文件夹下新建一个脚本“Bullet ”,具体如下图
选中“Bullet”脚本,双击脚本或者右键“Open C# Project”,打开脚本,具体如下图
在“Bullet”脚本上编辑代码,具体的代码和代码说明如下图
“Bullet”脚本具体内容如下:
脚本编译正确之后,回到Unity界面,在工程中再新建一个文件夹“Editor”,在“Editor”文件夹下新建一个脚本“CreateAsset ”,双击脚本或者右键“Open C# Project”,打开脚本具体如下图
在“CreateAsset”脚本上编写代码,具体的代码和代码说明如下图
“CreateAsset”脚本的具体内容如下:
usingUnityEngine;
usingSystem.Collections;
usingUnityEditor;
usingSystem.IO;
publicclassCreateAsset:Editor{
//在菜单栏创建功能项
[MenuItem("CreateAsset/Asset")]
staticvoidCreate()
{//实例化类BulletScriptableObjectbullet=ScriptableObject.CreateInstance
//如果实例化Bullet类为空,返回
if(!bullet)
{
Debug.LogWarning("Bulletnotfound");
return;
}
//自定义资源保存路径
stringpath=Application.dataPath+"/BulletAeeet";
//如果项目总不包含该路径,创建一个
if(!Directory.Exists(path))
{Directory.CreateDirectory(path);
}
//将类名Bullet转换为字符串
//拼接保存自定义资源(.asset)路径
path=string.Format("Assets/BulletAeeet/{0}.asset",(typeof(Bullet).ToString()));
//生成自定义资源到指定路径
AssetDatabase.CreateAsset(bullet,path);
}
}
脚本编译正确之后,回到Unity界面,在顶部菜单栏找到“CreateAsset”-“Asset”,点击“Asset”,具体如下图
点击“Asset”之后,工程中就会生成对应文件,具体如下图
到此,《Unity .asset教程一之自定义资源.asset配置数据》讲解结束,谢谢



