在 Unity 中使用资源文件夹

2023-11-26

我正在开发一个 HoloLens 项目,需要引用 .txt 文件。我将文件存储在 Unity 的“资源”文件夹中,并且它们工作得很好(通过 Unity 运行时):

string basePath = Application.dataPath;
string metadataPath = String.Format(@"\Resources\...\metadata.txt", list);

// If metadata exists, set title and introduction strings.
if (File.Exists(basePath + metadataPath))
{
      using (StreamReader sr = new StreamReader(new FileStream(basePath + metadataPath, FileMode.Open)))
    {
         ...
    }
}

但是,在构建 HoloLens 部署程序时,我可以运行代码,但它不起作用。没有显示任何资源,并且在检查 HoloLens Visual Studio 解决方案(通过选择 Unity 中的构建创建)时,我什至没有看到资源或资产文件夹。我想知道我是否做错了什么,或者是否有特殊的方法来处理这些资源。

还有图像和声音文件...

foreach (string str in im)
{
      spriteList.Add(Resources.Load<Sprite>(str));
}

字符串“str”有效;它与 Unity 配合得非常好。然而,再次强调,它在通过 HoloLens 运行时不会加载任何内容。


您无法使用以下命令读取资源目录StreamReader or the File班级。你必须使用Resources.Load.

1该路径相对于项目的 Assets 文件夹内的任何 Resources 文件夹。

2.Do not包括文件扩展名,例如.txt, .png, .mp3在路径参数中。

3.当您的文件夹中有另一个文件夹时,请使用正斜杠而不是反斜杠资源文件夹。反斜杠不起作用。

文本文件:

TextAsset txtAsset = (TextAsset)Resources.Load("textfile", typeof(TextAsset));
string tileFile = txtAsset.text;

支持的文本资源格式:

txt .html .htm .xml .bytes .json .csv .yaml .fnt

声音文件:

AudioClip audio = Resources.Load("soundFile", typeof(AudioClip)) as AudioClip;

图像文件:

Texture2D texture = Resources.Load("textureFile", typeof(Texture2D)) as Texture2D;

精灵 - 单:

图像与纹理类型 set to 精灵(2D 和 UI) and

图像与精灵模式 set to Single.

Sprite sprite = Resources.Load("spriteFile", typeof(Sprite)) as Sprite;

精灵 - 多个:

图像与纹理类型 set to 精灵(2D 和 UI) and

图像与精灵模式 set to Multiple.

Sprite[] sprite = Resources.LoadAll<Sprite>("spriteFile") as Sprite[];

视频文件(Unity >= 5.6):

VideoClip video = Resources.Load("videoFile", typeof(VideoClip)) as VideoClip;

游戏对象预制件:

GameObject prefab = Resources.Load("shipPrefab", typeof(GameObject)) as GameObject;

3D 网格(例如 FBX 文件)

Mesh model = Resources.Load("yourModelFileName", typeof(Mesh)) as Mesh;

3D 网格(来自 GameObject Prefab)

MeshFilter modelFromGameObject = Resources.Load("yourGameObject", typeof(MeshFilter)) as MeshFilter;
Mesh loadedMesh = modelFromGameObject.sharedMesh; //Or   design.mesh

3D 模型(作为游戏对象)

GameObject loadedObj = Resources.Load("yourGameObject") as GameObject;
//MeshFilter meshFilter = loadedObj.GetComponent<MeshFilter>();
//Mesh loadedMesh = meshFilter.sharedMesh;

GameObject object1 = Instantiate(loadedObj) as GameObject;

访问子文件夹中的文件:

例如,如果您有一个射击.mp3文件位于名为“的子文件夹中Sound” 被放置在资源文件夹中,您使用正斜杠:

AudioClip audio = Resources.Load("Sound/shoot", typeof(AudioClip)) as AudioClip;

异步加载:

IEnumerator loadFromResourcesFolder()
{
    //Request data to be loaded
    ResourceRequest loadAsync = Resources.LoadAsync("shipPrefab", typeof(GameObject));

    //Wait till we are done loading
    while (!loadAsync.isDone)
    {
        Debug.Log("Load Progress: " + loadAsync.progress);
        yield return null;
    }

    //Get the loaded data
    GameObject prefab = loadAsync.asset as GameObject;
}

To use: StartCoroutine(loadFromResourcesFolder());

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Unity 中使用资源文件夹 的相关文章

  • 如何使 Windows 窗体的关闭按钮不关闭窗体但使其不可见?

    该表单有一个 NotifyIcon 对象 当用户单击 关闭 按钮时 我希望表单不关闭而是变得不可见 然后 如果用户想再次查看该表单 可以双击系统托盘中的图标 如果用户想关闭表单 可以右键单击该图标并选择 关闭 有人可以告诉我如何使关闭按钮不
  • 是否可以强制 XMLWriter 将元素写入单引号中?

    这是我的代码 var ptFirstName tboxFirstName Text writer WriteAttributeString first ptFirstName 请注意 即使我使用 ptFirstName 也会以双引号结束 p
  • 获取按下的按钮的返回值

    我有一个在特定事件中弹出的表单 它从数组中提取按钮并将标签值设置为特定值 因此 如果您要按下或单击此按钮 该函数应返回标签值 我怎样才能做到这一点 我如何知道点击了哪个按钮 此时代码返回 DialogResult 但我想从函数返回 Tag
  • pthread_cond_timedwait() 和 pthread_cond_broadcast() 解释

    因此 我在堆栈溢出和其他资源上进行了大量搜索 但我无法理解有关上述函数的一些内容 具体来说 1 当pthread cond timedwait 因为定时器值用完而返回时 它如何自动重新获取互斥锁 互斥锁可能被锁定在其他地方 例如 在生产者
  • 实时服务器上的 woff 字体 MIME 类型错误

    我有一个 asp net MVC 4 网站 我在其中使用 woff 字体 在 VS IIS 上运行时一切正常 然而 当我将 pate 上传到 1and1 托管 实时服务器 时 我得到以下信息 网络错误 404 未找到 http www co
  • 为什么#pragma optimize("", off)

    我正在审查一个 C MFC 项目 在某些文件的开头有这样一行 pragma optimize off 我知道这会关闭所有以下功能的优化 但这样做的动机通常是什么 我专门使用它来在一组特定代码中获得更好的调试信息 并在优化的情况下编译应用程序
  • 指针问题(仅在发布版本中)

    不确定如何描述这一点 但我在这里 由于某种原因 当尝试创建我的游戏的发布版本进行测试时 它的敌人创建方面不起作用 Enemies e level1 3 e level1 0 Enemies sdlLib 500 2 3 128 250 32
  • 在 Visual Studio 2008 上设置预调试事件

    我想在 Visual Studio 中开始调试程序之前运行一个任务 我每次调试程序时都需要运行此任务 因此构建后事件还不够好 我查看了设置的 调试 选项卡 但没有这样的选项 有什么办法可以做到这一点吗 你唯一可以尝试的 IMO 就是尝试Co
  • Cython 和类的构造函数

    我对 Cython 使用默认构造函数有疑问 我的 C 类 Node 如下 Node h class Node public Node std cerr lt lt calling no arg constructor lt lt std e
  • 在 ASP.NET Core 3.1 中使用包含“System.Web.HttpContext”的旧项目

    我们有一些用 Net Framework编写的遗留项目 应该由由ASP NET Core3 1编写的API项目使用 问题是这些遗留项目正在使用 System Web HttpContext 您知道它不再存在于 net core 中 现在我们
  • vector 超出范围后不清除内存

    我遇到了以下问题 我不确定我是否错了或者它是一个非常奇怪的错误 我填充了一个巨大的字符串数组 并希望在某个点将其清除 这是一个最小的例子 include
  • 在数据库中搜索时忽略空文本框

    此代码能够搜索数据并将其加载到DataGridView基于搜索表单文本框中提供的值 如果我将任何文本框留空 则不会有搜索结果 因为 SQL 查询是用 AND 组合的 如何在搜索 从 SQL 查询或 C 代码 时忽略空文本框 private
  • 将自定义元数据添加到 jpeg 文件

    我正在开发一个图像处理项目 C 我需要在处理完成后将自定义元数据写入 jpeg 文件 我怎样才能做到这一点 有没有可用的图书馆可以做到这一点 如果您正在谈论 EXIF 元数据 您可能需要查看exiv2 http www exiv2 org
  • 如何衡量两个字符串之间的相似度? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 给定两个字符串text1 and text2 public SOMEUSABLERETURNTYPE Compare string t
  • clang 实例化后静态成员初始化

    这样的代码可以用 GCC 编译 但 clang 3 5 失败 include
  • 实体框架 4 DB 优先依赖注入?

    我更喜欢创建自己的数据库 设置索引 唯一约束等 使用 edmx 实体框架设计器 从数据库生成域模型是轻而易举的事 现在我有兴趣使用依赖注入来设置一些存储库 我查看了 StackOverflow 上的一些文章和帖子 似乎重点关注代码优先方法
  • 将 xml 反序列化为类,list<> 出现问题

    我有以下 XML
  • 插入记录后如何从SQL Server获取Identity值

    我在数据库中添加一条记录identity价值 我想在插入后获取身份值 我不想通过存储过程来做到这一点 这是我的代码 SQLString INSERT INTO myTable SQLString Cal1 Cal2 Cal3 Cal4 SQ
  • 使用按位运算符相乘

    我想知道如何使用按位运算符将一系列二进制位相乘 但是 我有兴趣这样做来查找二进制值的十进制小数值 这是我正在尝试做的一个例子 假设 1010010 我想使用每个单独的位 以便将其计算为 1 2 1 0 2 2 1 2 3 0 2 4 虽然我
  • 恢复上传文件控制

    我确实阅读了以下帖子 C 暂停 恢复上传 https stackoverflow com questions 1048330 pause resume upload in c 使用 HTTP 恢复上传 https stackoverflow

随机推荐

  • Android 将值从 Activity 传递到适配器

    我想将变量从活动传递到适配器 我的适配器看起来像这样 public SampleAdapter Activity context ArrayList
  • PhoneGap:修改 config.xml 以将属性添加到 Info.plist ion iOS

    对于我的应用程序 我需要向 iOS 的 Info plist 文件添加一些设置 我认为最好的方法是将这些设置添加到我的 config xml 文件中 我正在使用 PhoneGap 当我将以下内容添加到 config xml 文件并运行时 c
  • Android ExpandableListActivity 和 SimpleCursorTreeAdapter?

    我正在为 Android 编写一个简单的应用程序 我有两张桌子 一张名为 grous 另一张名为 group items 我想使用可扩展列表来显示两个表中的数据 最好的方法是什么 是否可以使用SimpleCursorAdapter来映射数据
  • 如何更改ms图表中X轴标签的方向

    您好 我正在 winforms 应用程序中使用 Ms 图表控件来根据日期显示值 我需要将 x 轴标签值 日期 方向水平更改为垂直 我搜索了很多属性 但没有找到任何解决方案 任何人都可以帮助我解决这个问题 非常感谢 据我了解您的问题 您询问如
  • 在运行时编写和实现新的 Java 类文件

    是否有可能以某种方式将新的 Java 类 导入 到正在运行的程序中并使用它 我可以让程序创建一个 java 类型的新文件 然后将其包含在项目文件中并引用它 而无需重新启动程序吗 以下是我的意思的一个例子 import java io pub
  • 如何将 cin 用于数组

    当我运行这段代码时 include
  • “staticmethod”对象不可调用

    我有这个代码 class A object staticmethod def open return 123 staticmethod def proccess return 456 switch 1 open 2 proccess obj
  • 安装 OpenCV 3.0 以及用于 python 的额外模块(sift、surf...)

    我尝试使用额外的软件包 sift surf 为 python 安装 很多次 OpenCV 3 0 但我总是失败 我真的陷入困境 我在主环境中尝试 然后在虚拟环境中尝试 这是我所做的 cd git git clone https github
  • Phonegap - Xcode 中的 Javascript 调试

    我正在开发一个基于phonegap 的项目 我想使用一些调试工具 以便能够将一些变量等调试到 XCode 控制台等中 现在 我发现 为了做到这一点 我需要调用函数 console log 然而 问题是 当在模拟器中运行应用程序时 XCode
  • 如何安装模块化升压?

    因为我需要测试 Boost 的一些实验性功能 所以我想从 Modular Boost 存储库安装 Boost 我按照以下说明进行操作https svn boost org trac boost wiki TryModBoostb2 命令失败
  • 具有动态 QName 的 XSLT 调用模板?

    我已经到处寻找解决我的问题的方法 但我只是有更多问题 考虑以下 XML
  • Android:返回上一个活动而不调用 finish()

    我有一个带有很多活动的 Android 应用程序 就像一本书 其中每一页都是一个新活动 用户可以在每个活动中进行更改 例如用不同颜色的标记突出显示某些文本等 只要应用程序保持活动状态 我就记住这些信息 并且我不想 不需要记住任何当它不是时这
  • 私有云和公有云有什么区别?

    私有云和公有云有什么区别 请定义两者并给出用法示例 公共云通过 Web 应用程序 Web 服务 通常通过 Internet 连接 作为服务提供 私有云和内部云部署在防火墙内部 由用户组织管理 还有另一种类型的云 即混合云 对于大多数企业来说
  • 何时在 Objective-C 中使用关联对象

    最近了解了objective c中的关联对象以及如何实现它们 根据我的理解 如果您只希望对象的单个实例具有某个属性 那么它们会很有帮助 我想不出 Objective C 中关联对象的任何特定用例 意味着我无法使用其他方法来完成的用例 有谁有
  • 使用 Pyinstaller 创建 .exe 错误:未找到程序集 amd64_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none

    首先我要提到的是 我在 Windows 7 上通过 Anaconda 发行版使用 Python 2 7 6 跑步时pyinstaller onefile MyScripy py我只收到一个错误 即标题中提到的错误 并且创建了 exe 运行
  • 将复选框样式设置为切换按钮

    在我的网站上 用户可以发布文章并使用一些预设标签相应地标记它们 这些标签采用复选框的形式 下面的例子
  • 读PDF时,TJ运算符奇怪的编码

    我目前正在尝试从 PDF 文档中提取文本 但我在使用 Tj 运算符时遇到了一些奇怪的情况 通常我处理过这样的情况 Tc SOME TEXT TJ 现在我遇到这样一个案例 Tm 1 828 5 1 841 2 1 828 2 1 828 4
  • 有没有办法在 JavaScript 中反转 Intl.NumberFormat 的格式

    The Intl NumberFormat see Mozilla 的文档 在 Javascript 中提供了一种将数字格式化为当前语言环境版本的好方法 如下所示 new Intl NumberFormat format 3400 retu
  • emberjs处理401未授权

    我正在构建一个 ember js 应用程序 并且挂在身份验证上 json Rest 后端是rails 每个请求都使用会话 cookie 进行身份验证 warden 当用户第一次导航到应用程序根时 Rails 会重定向到登录页面 一旦会话被授
  • 在 Unity 中使用资源文件夹

    我正在开发一个 HoloLens 项目 需要引用 txt 文件 我将文件存储在 Unity 的 资源 文件夹中 并且它们工作得很好 通过 Unity 运行时 string basePath Application dataPath stri