网站/小程序/APP个性化定制开发,二开,改版等服务,加扣:8582-36016

一、准备场景和预设和AB包资源

①新建一个Cube然后创建一个材质球,然后将其做成预设,如下所示:


②编写打包预设为AB包的脚本(注意:该脚本需要放置在Editor这个特定的目录文件夹下)

/***
*Title:"三维可视化" 项目
*主题:打AB包
*Description:
*功能:XXX
*Date:2019
*Version:0.1版本
*Author:Coffee
*Modify Recoder:
*/
 
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
 
namespace SimpleUIFrame
{
public class BuildAssetBundle
{
        [MenuItem("Tools/打AB包")]
        public static void BuildAB()
        {
            BuildPipeline.BuildAssetBundles(Application.streamingAssetsPath,
            BuildAssetBundleOptions.ChunkBasedCompression,BuildTarget.StandaloneWindows64);
            AssetDatabase.Refresh();
            Debug.Log("打包完成");
        }
}
}


③打AB包,首先创建一个“StreamingAssets”文件夹,然后选择给需要打包的物体添加AssetBundle标签,最后点击顶部的Tools-->打AB包稍等一下即可打出AB包,如下所示:


二、开始编写四种加载资源的脚本

/***
*Title:"三维可视化" 项目
*主题:资源加载的四种方法
*Description:
*功能:XXX
*Date:2019
*Version:0.1版本
*Author:Coffee
*Modify Recoder:
*/
 
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
namespace TestFunction
{
public class AssetLoadMethods : MonoBehaviour
{
        //加载的预设物体
        public GameObject _LoadObj_Pre;         
 
void Start()
{
 //1、资源加载的第一种方式,直接在面板拖拽,通常不使用
 if (_LoadObj_Pre!=null)
            {
 //实例化预设物体
 GameObject obj = Instantiate(_LoadObj_Pre);
 //修改加载物体的名称
 obj.name = "第一种拖拽资源加载方式";
 }
 
 //2、资源加载的第二种方式,使用Resources.Load加载资源
 //(注意预设需要放置在Resources目录下面,这个目录有限制,
 //最大只能加载2G的资源内容,一般不建议使用)
 GameObject loadObj = Instantiate(Resources.Load("Prefabs/cube"))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加载资源(编辑器框架开发使用)
 GameObject DBobj =Instantiate(UnityEditor.AssetDatabase.LoadAssetAtPath<GameObject>("Assets/GameData/Prefabs/cube.prefab"));
  DBobj.name = "第四种DB资源加载方式";
        }
 
 
 
    }
    //Class_end
}


三、将该脚本添加到物体上,然后指定对应的预设,运行即可

 

评论 0

暂无评论
0
0
0
立即
投稿
发表
评论
返回
顶部