【Unity3D日常开发】Unity3D的Resources不同目录的加载分析

news/2024/5/17 15:35:14 标签: unity, 游戏引擎, 编辑器, c#, gitee

推荐阅读

  • CSDN主页
  • GitHub开源地址
  • Unity3D插件分享
  • 简书地址
  • 我的个人博客

大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。

一、前言

xdm,国庆节快乐呀,无聊学习一会,跟大家分享一点点知识。

Resources目录大家应该很熟悉了,这个是Unity3D的一个特殊文件夹,用来加载文件的。

构建项目时,会将Resources目录中的所有的资源和对象都合并到一个序列化文件中,该文件中包含元数据和索引信息,该索引包含一个序列化查找树,用于将给定对象的名称解析为其适当的文件GUID和本地ID。这么一说,跟AssetBundle也有点类似哦。

Resources的使用的话就很简单,将文件放到Resources文件夹内,然后使用Resourcesl.Load加载就行,比如:

void Start()
{
	Resources.Load("Test");
}

当然,加载也有很多要注意的点,比如反斜杠、文件类型、文件后缀名的,增加应用程序的启动时间和构建时间,无法增量更新等问题。

但是,今天咱们要讨论的是不同目录的Resources文件夹的加载。

二、不同目录下的Resources加载

2-1、开始之前解释一下

大家可能会问,Resources在其他目录还能加载呢,Resources放不同目录干嘛呢?

Resources文件夹在其他目录也是管用的,跟Editor文件夹类似,放到其他目录没事,只要是这个文件名就能加载。

②为啥要放不同的目录呢,因为对于一个项目如何有多个同事协同开发,如何都将文件放到根目录的Resources下不便于管理,因为不知道这个文件夹下的其他文件有没有用,都不敢删。

言归正传,那么不同目录下的Resources如何加载呢?

2-1、不同目录下的Resources加载

比如,两个同事,H和Z开发同一个项目,负责开发不同的场景,就各自在根目录下创建一个自己的文件夹,然后在文件夹下创建目录,比如:
在这里插入图片描述
在自己的文件夹的Scripts文件夹下,新建脚本ReLoadTest.cs双击打开脚本,编辑代码:

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

public class ReLoadTest : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        string info = Resources.Load<TextAsset>("loadZ").text;
        Debug.Log(info);
    }

    // Update is called once per frame
    void Update()
    {

    }
}

创建个loadZ.txt文件,随便键入点内容:
在这里插入图片描述
运行程序:
在这里插入图片描述
我还可以加载其他目录下的Resources文件夹内的内容(注意加载文件名):

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

public class ReLoadTest : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        string info = Resources.Load<TextAsset>("loadH").text;
        Debug.Log(info);
    }

    // Update is called once per frame
    void Update()
    {

    }
}

运行结果:
在这里插入图片描述

三、后记

如果觉得本篇文章有用别忘了点个关注,关注不迷路,持续分享更多Unity干货文章。


你的点赞就是对博主的支持,有问题记得留言:

博主主页有联系方式。

博主还有跟多宝藏文章等待你的发掘哦:

专栏方向简介
Unity3D开发小游戏小游戏开发教程分享一些使用Unity3D引擎开发的小游戏,分享一些制作小游戏的教程。
Unity3D从入门到进阶入门从自学Unity中获取灵感,总结从零开始学习Unity的路线,有C#和Unity的知识。
Unity3D之UGUIUGUIUnity的UI系统UGUI全解析,从UGUI的基础控件开始讲起,然后将UGUI的原理,UGUI的使用全面教学。
Unity3D之读取数据文件读取使用Unity3D读取txt文档、json文档、xml文档、csv文档、Excel文档。
Unity3D之数据集合数据集合数组集合:数组、List、字典、堆栈、链表等数据集合知识分享。
Unity3D之VR/AR(虚拟仿真)开发虚拟仿真总结博主工作常见的虚拟仿真需求进行案例讲解。
Unity3D之插件插件主要分享在Unity开发中用到的一些插件使用方法,插件介绍等
Unity3D之日常开发日常记录主要是博主日常开发中用到的,用到的方法技巧,开发思路,代码分享等
Unity3D之日常BUG日常记录记录在使用Unity3D编辑器开发项目过程中,遇到的BUG和坑,让后来人可以有些参考。

http://www.niftyadmin.cn/n/5062814.html

相关文章

Scala第十二章节

Scala第十二章节 1.读取数据 2.写入数据 3.案例&#xff1a;学生成绩表 scala总目录 文档资料下载

二、机器学习基础知识:Python数据处理基础

文章目录 1、基本数据类型1.1 数字类型&#xff08;Number&#xff09;1.2 字符串类型&#xff08;String&#xff09;1.3 列表类型&#xff08;List&#xff09;1.4 元组类型&#xff08;Tuple&#xff09;1.5 字典类型&#xff08;Dictionary&#xff09;1.6 集合类型&#x…

JavaScript:从入门到进阶的旅程

JavaScript是一种广泛使用的编程语言&#xff0c;为网页和应用程序提供了交互性和动态性。从初学者到资深开发者&#xff0c;JavaScript都是一项值得掌握的技能。在本文中&#xff0c;我们将探讨JavaScript的基础知识&#xff0c;以及一些进阶的概念和技巧。 一、JavaScript简…

react的组件

组件 组件是用来实现局部功能的代码和资源的集合&#xff08;html/css/js&#xff09;&#xff0c;用来复用代码。 react中分为函数式组件和类式组件。函数式组件就是一个函数&#xff0c;函数的返回值就是组件的视图内容。类式组件就是通过class关键字创建的类&#xff0c;类…

一个用java的get请求

java发送一个get请求&#xff0c;请求参数classyanfa&#xff0c;使用Authorization认证&#xff0c;在Request Header里填充Authorization&#xff1a; Bearer {token}进行请求认证&#xff0c;token为&#xff1a;sadagdagdgdgfagfd ,另外在Header里补充App标识&#xff0c;X…

XDM,10.1

XDM&#xff0c;今天是国庆&#xff0c;就没有其他啥事情&#xff0c;祝大家国庆节快乐&#xff0c;玩的开心。 这两天放假也有时间捣鼓自己的事情了&#xff0c;挺开心的&#xff0c;第一件事就是把自己的一个小开发板修好了&#xff0c;然后自己的小os也能跑了几个假的线程。…

大模型 Decoder 的生成策略

本文将介绍以下内容&#xff1a; IntroductionGreedy Searchbeam searchSamplingTop-K SamplingTop-p (nucleus) sampling总结 一、Introduction 1、简介 近年来&#xff0c;由于在数百万个网页数据上训练的大型基于 Transformer 的语言模型的兴起&#xff0c;开放式语言生…

Mac安装Ecplise产品报错:dose not contain the JNI_CreateJavaVM symbol

1. 絮絮叨叨 工作中需要借助Ecplise Memory Analyzer (MAT)分析dump文件&#xff0c;直接下载、安装、运行MAT报错 询问同事后&#xff0c;同事说可以先安装Ecplise&#xff0c;再以插件的形式安装MAT下载、安装好Eclipse&#xff0c;点击运行仍然报错&#xff0c;且错误信息一…