YooAsset资源管理

这篇具有很好参考价值的文章主要介绍了YooAsset资源管理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

了解

阅读YooAsset文档,快速入门

测试环境

  1. Unity:Unity2021.3.6f1c1
  2. YooAsset:1.4.11

示例

准备加载资源

包名:Test Package
包内有一个Cube预制体和一个场景
启用Enable Addressable
YooAsset资源管理,# Unity资源管理系统,unity,游戏引擎文章来源地址https://www.toymoban.com/news/detail-734023.html

加载资源

using System;
using System.Collections;
using UnityEngine;
using YooAsset;
public class YooAssetTest : MonoBehaviour
{
    public EPlayMode playMode;//设置加载YooAsset模式
    string packageName;//包名
    ResourcePackage package;

    private void Awake()
    {
        packageName = "Test Package";//编辑器中创建的YooAsset包名

        YooAssets.Initialize();

        package = YooAssets.CreatePackage(packageName);

        YooAssets.SetDefaultPackage(package);

        StartCoroutine(InitializeYooAsset(playMode, () =>
        {
            //异步加载资源 加载Cube
            /* var handle = YooAssets.LoadAssetAsync<GameObject>("Cube");
             handle.Completed += (value) =>
             {
                 var prefab = value.AssetObject as GameObject;
                 Instantiate(prefab, Vector3.zero, Quaternion.identity);
             };*/

            //异步加载场景
            var handle = YooAssets.LoadSceneAsync("New Scene");
            handle.Completed += (value) =>
            {
                Debug.Log("加载新的场景");
            };
        }));
    }

    private IEnumerator InitializeYooAsset(EPlayMode playMode, Action callBack = null)
    {
        InitializationOperation initializationOperation = null;

        if (playMode == EPlayMode.EditorSimulateMode)//编辑器中运行 无需构建
        {
            var createParameters = new EditorSimulateModeParameters();
            createParameters.SimulateManifestFilePath = EditorSimulateModeHelper.SimulateBuild(packageName);
            initializationOperation = package.InitializeAsync(createParameters);
        }
        else if (playMode == EPlayMode.OfflinePlayMode)//离线模式 需要构建
        {
            var createParameters = new OfflinePlayModeParameters();
            initializationOperation = package.InitializeAsync(createParameters);
        }
        else
        {
            Debug.Log("暂无联机模式");
            yield break;
        }

        yield return initializationOperation;

        if (package.InitializeStatus == EOperationStatus.Succeed)
        {
            Debug.Log("包初始化成功");

            callBack?.Invoke();
        }
        else
        {
            Debug.LogWarning($"{initializationOperation.Error}");
        }
    }
}

到了这里,关于YooAsset资源管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity基础操作-包与资源管理

     不再像以前一样,会在Unity编辑器内置的浏览器中来打开Unity的网站 并在提示窗口中有给出来解释,是说为了提升编辑器的性能. 并提供了直接到浏览器中访问资源商店的访问链接(Search Online)       因Unity3D编辑器中文包始终未全部完成翻译,具体百度翻译的中英对照情况如下

    2024年02月13日
    浏览(35)
  • 【Unity程序技巧】 资源加载管理器

    👨‍💻个人主页 :@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏 :Unity基础实战 1.涉及知识点 2. 特点 方便加载资源,为资源加载提供了接口 3.脚本 加载测试 ⭐【Unityc#专题篇】之c#进阶篇】 ⭐【Unityc#专

    2024年02月07日
    浏览(33)
  • 27 KVM管理系统资源-管理虚拟CPU份额

    27 KVM管理系统资源-管理虚拟CPU份额 27.1 概述 虚拟化环境下,同一主机上的多个虚拟机竞争使用物理CPU。为了防止某些虚拟机占用过多的物理CPU资源,影响相同主机上其他虚拟机的性能,需要平衡虚拟机vCPU的调度,避免物理CPU的过度竞争。 CPU份额表示一个虚拟机竞争物理CP

    2024年02月06日
    浏览(28)
  • Unity Addressables资源管理 主设置面板

    Addressables资源管理总目录 位置1 位置2     这个是全局路径配置的选择 可以点击 Manager Profiles 打开路径配置面板 打包路径设置   Send Profiler Events  打开这个选项,才能在Event Viewer窗口看到资源的事件 Log Runtime Exceptions  记录运行时的异常日志   默认情况下Addressables只记录警告

    2024年02月13日
    浏览(37)
  • Unity 如何基于addressable来做资源管理

    一、什么是Addressable系统 Addressable系统是Unity 2018.3版本中推出的一种资源管理方案,它可以帮助我们更好地管理游戏中的资源。在以往的游戏开发中,我们通常使用Resources来进行资源加载,但是这种方式存在很多问题,比如加载速度慢、内存占用高等。Addressable系统可以解决这

    2024年02月16日
    浏览(25)
  • Unity AssetBundles资源管理和热更新

    项目中的做法,在项目中一般会把资源按照文件目录去划分资源,以文件路径的名字作为AB的名字,一般都是把资源的这些放到预处理中。 一般会分为几个类型,比如把单个文件夹下的每个资源进行打bundle,把单个文件夹下的所有资源打成bundle,还有自定义bundle名字的类型啥

    2024年01月21日
    浏览(34)
  • 开源人力资源管理系统OrangeHRM

    什么是 OrangeHRM ? OrangeHRM 是一个全面的人力资源管理( HRM ) 系统,它包含任何企业所需的所有基本功能。该软件旨在支持任何规模的团队,包括初创企业、中小企业以及大型跨国组织。 你也可以去官方的演示站点进行体验 网址:https://opensource-demo.orangehrmlive.com/web/index.php/au

    2024年02月14日
    浏览(40)
  • Unity Addressables资源管理 安装和使用本地加载

    Addressables资源管理总目录 1.安装 打开Unity内置的 PackagerManager窗口 搜索Add即可找到 安装版本为1.19.19 2.添加Group 点击 Group 菜单 打开窗口 点击 Create Addressables Settings 创建可寻址设置 Assets下会生成一个  AddressableAssetsData 文件夹 其中可以看见面板中的  Default Local Group  默认组 资

    2023年04月13日
    浏览(24)
  • 开源项目-erp企业资源管理系统(毕设)

    哈喽,大家好,今天给大家带来一个开源项目-erp企业资源管理系统,项目通过ssh+oracle技术实现。 系统主要有基础数据,人事管理,采购管理,销售管理,库存管理,权限管理模块 基础数据有商品类型,商品,供应商,客户,仓库管理功能    

    2024年02月15日
    浏览(43)
  • SaaS人力资源管理系统的Bug

    答案:23 讲解地址:74-最小生成树问题_哔哩哔哩_bilibili 答案:81 讲解地址:75-最短路径问题_哔哩哔哩_bilibili 真题 讲解地址:76-网络与最大流量问题_哔哩哔哩_bilibili 真题 讲解地址:76-网络与最大流量问题_哔哩哔哩_bilibili 真题 真题 真题 讲解地址:77-线性规划_哔哩哔哩_

    2024年02月09日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包