本网站(662p.com)打包出售,且带程序代码数据,662p.com域名,程序内核采用TP框架开发,需要联系扣扣:2360248666 /wx:lianweikj
精品域名一口价出售:1y1m.com(350元) ,6b7b.com(400元) , 5k5j.com(380元) , yayj.com(1800元), jiongzhun.com(1000元) , niuzen.com(2800元) , zennei.com(5000元)
需要联系扣扣:2360248666 /wx:lianweikj
Unity3D加载资源的四种方式
追忆似水年华 · 6868浏览 · 发布于2019-10-11 +关注

一、准备场景和预设和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
}


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

 

相关推荐

图形学基础 | 实现OBJ文件的载入

iamitnan · 1683浏览 · 2019-05-29 10:10:17
干货!麻将平胡算法

· 988浏览 · 2019-06-06 11:45:17
Java桌球小游戏

奔跑的男人 · 636浏览 · 2019-06-11 09:37:46
图形用户界面和游戏开发

qq2360248666 · 703浏览 · 2019-06-11 09:57:01
Three.js模型隐藏或显示

吴振华 · 553浏览 · 2019-06-14 10:18:27
Cocos工程命名规则整理(node部分)

吴振华 · 863浏览 · 2019-06-14 10:24:18
加载中

0评论

评论
分类专栏
小鸟云服务器
扫码进入手机网页