资源的加载和优化之编辑器模式下的资源加载

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/U3DJueQi/article/details/85090963

小常识:编辑器模式不是打包后的运行模式,而是在编辑器模式下运行的模式。在编辑器模式下,我们可以加载到硬盘、上的任意资源。而且我们可根据中实际的需要对编辑器进行扩展,但是一旦游戏发布后,大量在编辑器模式下的代码就不可以使用了。

资源分类:在编辑器模式下资源分为两类,类一:可识别资源,比如引擎可以识别的资源声音,动画,视频,Prefab,UI等资源;

类二:无法识别的资源,一般都是外部导入的资源,通常我们需要使用第三方工具进行解析,最终组织成为引擎可以识别的资源才能使用。

加载资源的标志性类:AssetDatabase

作用:专门用于读取工程内部的资源。

要求:需要保证所有的资源必须放在项目的Assets目录下,不然是无法读取的。

方法:使用AssetDatabase.LoadAssetAtPath(),可以读取任意的对象。

下面是一个加载一个预设体然后复制后放在一个父对象下。

 [MenuItem("Assets/Tools/LoadAsset", false, 2)]//编辑器扩展
    static void LoadAsset()
    {
        if (Selection.activeTransform)//现在层级面板中选择一个对象
        {
            GameObject gameObject = AssetDatabase.LoadAssetAtPath<GameObject>                    
            ("Assets/Prefabs/Test.prefab");
            if (gameObject != null)
            {
                GameObject go = GameObject.Instantiate(gameObject);
                go.transform.SetParent(Selection.activeTransform);
            }
            else
            {
                Debug.LogError("资源加载失败!!!");
            }     
        } 
    }

我们在层级面板中先选择一个对象,然后Assets>>>>>>Tools>>>>>LoadAsset 即可以运行该函数了。会在选择对象的下面创建一个对象哦。

猜你喜欢

转载自blog.csdn.net/U3DJueQi/article/details/85090963