Unity资源加载

Unity资源加载

编辑器内加载AssetDatabase

加载

Material mat = AssetDatabase.LoadAssetAtPath(“资源位置”,typeof(Material))as Material;

修改

mat.color = Color.white;

卸载

Resources.UnloadAsset(mat);

创建资源

AssetDatabase.CreateAsset(mat,“创建后新的地址”);

修改并保存已有Asset

EditorUtility.SetDirty(mat);此资源已改动,告诉编译器需保存

AssetDatabase.SaveAssets();保存所有资源

运行时Resources

创建文件夹,不要创建两个,不然会出错

加载

GameObject 对象名 = Resources.Load<>(“文件位置,不需要后缀”);

Object.Instantiate(对象名);(实例化)

卸载

Resources.UnloadAsset(需要卸载的文件名);不仅是此资源,还有从此资源克隆出去的所有资源都会被卸载;

两种情况:

是不是gameObject,如果是则不能通过Resources.UnloadAsset卸载的,否则会报错

若是预制体则在编辑器下是没办法的

gameobject需要用Destroy();,两种情况:

直接加载:用DestroyImmediate(名字,true);不仅是此资源,还有从此资源克隆出去的所有资源都会被卸载;

克隆出来的gameobject可以用Destroy();卸载

Resources.UnloadUnusedAssets();会判断此资源是否被引用或使用,如果没有被使用则释放(官方推荐,不过卸载过程较漫长)

释放

Assetbundle自己管理资源,运行方式是将每一个Assets打成资源包的形式,可以做资源的更新

制作AssetBundleBuildPipeline.BuildAssetBundles

在编辑器下运行,因此将其放在Editor文件夹下

using Unityeditor;
public class Build
{
    [MenuItem("Publish/Buildle")]
   public static void BuildBundle()
   {
       BuildPipeline.B
       
   }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值