5.Group窗口Label标签的作用

5.资源加载基础-Label标签的作用


5.1 知识点

我们会经常使用指定资源加载的方式加载资源吗?

  • 并不会经常使用,要根据实际情况
  • 我们学了加载指定资源
  • 但是这种模式我们必须在脚本中声明各种标识类来指定加载的资源,不够灵活,做一些小项目没问题
  • 但是在实际商业项目开发中,很多时候加载什么资源都是根据配置文件决定的,往往都是动态加载
  • 所以我们需要学习根据名字或标签去加载对应的资源,这样我们就可以读表进行加载

添加标签

Group窗口的Label栏点击ManagerLabel按钮,弹出标签窗口

在弹出标签的标签窗口添加移除标签

可以修改标签了,一个资源可以多选标签

标签的作用

  • 首先需要强调
    • 我们之后学习动态加载资源时
    • 是可以通过名(自定义名字)和标签来加载资源的
  • 举例说明 1
    • 游戏装备中有一顶帽子:Hat
    • 但是它可以有不同的品质,比如:红、绿、白、蓝
    • 我们可以为这个帽子添加多个材质球资源(或者贴图资源)
    • 这些图都可以叫做:Hat_Mat(或者Hat_Tex)
    • 他们可以同名,我们可以通过标签Label来区分他们
    • 他们的Label可以是:Red、Green、White、Blue
  • 举例说明 2
    • 游戏中我们经常根据设备好坏来选择不同质量的图片或者模型
    • 比如:高清、标清、超清
    • 不同标准下的资源会有所不同,比如模型面数更低、贴图质量更低
    • 但是在不同标准下,这些模型的命名应该是同样的
    • 比如角色1,在高清、标清、超清下它的资源名都是角色1
    • 它的Label可以是:HD、SD、FHD
  • 举例说明 3
    • 游戏中我们经常在逢年过节时更换游戏中模型和UI的显示
    • 比如:中秋节、春节、圣诞节
    • 不同节日时角色或者UI等等资源看起来是不同的
    • 但是在不同节日下,这些资源的命名应该都是同样的规范
    • 比如登录面板,在中秋节、春节、圣诞节时它的资源名都是 登录面板
    • 它的Label可以是:MidAutumn、Spring、Christmas
  • 总结
    • 相同作用的不同资源(模型、贴图、材质、UI等等)
    • 我们可以让他们的资源名相同
    • 通过标签Label区分他们来加载使用

通过标签相关特性约束标识类对象

  • 意味着assetReference只能关联标签为”SD”, “HD”, “FHD”的资源
[AssetReferenceUILabelRestriction("SD", "HD", "FHD")]
public AssetReference assetReference;

总结

  • 相同作用的不同资源
  • 我们可以让他们的资源名相同
  • 通过标签Label区分他们来用途
  • 用于之后的动态加载
  • 利用名字和标签可以单独动态加载某个资源
  • 也可以利用它们共同决定加载哪个资源

5.2 知识点代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AddressableAssets;

public class Lesson05_资源加载基础_Label标签的作用 : MonoBehaviour
{
    // 意味着assetReference只能关联标签为"SD", "HD", "FHD"的资源
    [AssetReferenceUILabelRestriction("SD", "HD", "FHD")]
    public AssetReference assetReference;

    void Start()
    {
        #region 知识点一 我们会经常使用指定资源加载的方式加载资源吗?

        //并不会经常使用,要根据实际情况

        //我们上节课学了加载指定资源
        //但是这种模式我们必须在脚本中声明各种标识类来指定加载的资源,不够灵活,做一些小项目没问题
        //但是在实际商业项目开发中,很多时候加载什么资源都是根据配置文件决定的,往往都是动态加载
        //所以我们需要学习根据名字或标签去加载对应的资源,这样我们就可以读表进行加载

        #endregion

        #region 知识点二 添加标签

        #endregion

        #region 知识点三 标签的作用

        //首先需要强调
        //我们之后学习动态加载资源时
        //是可以通过名(自定义名字)和标签来加载资源的

        //举例说明 1
        //游戏装备中有一顶帽子:Hat
        //但是它可以有不同的品质,比如:红、绿、白、蓝
        //那么我们可以为这个帽子添加多个材质球资源(或者贴图资源)
        //这些图都可以叫做:Hat_Mat(或者Hat_Tex)
        //他们可以同名,我们可以通过标签Label来区分他们
        //他们的Label可以是:Red、Green、White、Blue

        //举例说明 2
        //游戏中我们经常根据设备好坏来选择不同质量的图片或者模型
        //比如:高清、标清、超清
        //不同标准下的资源会有所不同,比如模型面数更低、贴图质量更低
        //但是在不同标准下,这些模型的命名应该是同样的
        //比如角色1,在高清、标清、超清下它的资源名都是角色1
        //它的Label可以是:HD、SD、FHD

        //举例说明 3
        //游戏中我们经常在逢年过节时更换游戏中模型和UI的显示
        //比如:中秋节、春节、圣诞节
        //不同节日时角色或者UI等等资源看起来是不同的
        //但是在不同节日下,这些资源的命名应该都是同样的规范
        //比如登录面板,在中秋节、春节、圣诞节时它的资源名都是 登录面板
        //它的Label可以是:MidAutumn、Spring、Christmas

        //总结:相同作用的不同资源(模型、贴图、材质、UI等等)
        //我们可以让他们的资源名相同
        //通过标签Label区分他们来加载使用

        #endregion

        #region 知识点四 通过标签相关特性约束标识类对象

        //特性[AssetReferenceUILabelRestriction()]

        #endregion

        #region 知识点五 总结

        //相同作用的不同资源
        //我们可以让他们的资源名相同
        //通过标签Label区分他们来用途
        //用于之后的动态加载

        //利用名字和标签可以单独动态加载某个资源
        //也可以利用它们共同决定加载哪个资源

        #endregion
    }
}

5.3 练习题

自己添加一些资源,并为他们添加一些标签,比如添加,SD、HD、FHD相关标签等



转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com

×

喜欢就点赞,疼爱就打赏