赞
踩
必须在assets目录下editor目录里子目录里
脚本
using UnityEngine;
using UnityEditor;
public class BuildAssetBundle : MonoBehaviour
{
[MenuItem("Tools/打AB包")]
public static void BuildAB()
{
BuildPipeline.BuildAssetBundles(Application.streamingAssetsPath,
BuildAssetBundleOptions.ChunkBasedCompression, BuildTarget.StandaloneWindows64);
AssetDatabase.Refresh();
Debug.LogError("打包完成");
}
}
using System.Collections; using System.Collections.Generic; using UnityEngine; namespace TestFunction { public class LoadFour : MonoBehaviour { //加载的预设物体 public GameObject _pre; void Start() { //1、资源加载的第一种方式,将预支暴露在面板中,拖拽赋值,通常不用 if (_pre != null) { //实例化预设物体 GameObject obj = Instantiate(_pre); //修改加载物体的名称 obj.name = "拖拽资源加载方式"; } //2、资源加载的第二种方式,用Resources.Load加载资源 //预设需要放置在Resources目录下面, //最大只能加载2G的资源内容,一般不建议使用 Prefabs(Resources下的目录)/Cylinder(加载预支名称) GameObject loadObj = Instantiate(Resources.Load("Prefabs/Cylinder")) as GameObject; loadObj.name = "Resources加载方式"; //3、资源加载的第三种方式,使用AssetBundle加载的方式加载(常用方式) AssetBundle assetBundleObj = AssetBundle.LoadFromFile(Application.streamingAssetsPath + "/cube"); GameObject abObj = Instantiate(assetBundleObj.LoadAsset<GameObject>("cube")); abObj.name = "AB资源加载方式"; //4、资源加载的第四种方式,使用AssetDatabase.LoadAssetAtPath加载资源(编辑器框架开发使用) "Assets/Load/资源名称"资源放置位置+名称 不需要打包 加载任意位置资源预制 GameObject DBobj = Instantiate(UnityEditor.AssetDatabase.LoadAssetAtPath<GameObject>("Assets/Load/bg_anchor_foodhome01.prefab")); DBobj.name = "DB资源加载方式"; } } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。