我有一个文件是手动创建的。我应该把它放在哪个文件夹中,这样我才能在构建中读取它?
例如,编辑器中的Application.dataPath
从资产文件夹中读取文件,但是如果我把它放在那里,如果我按Application.dataPath +文件夹名搜索它,代码会在构建中找到它吗?
发布于 2022-09-11 16:14:37
如果文件是在编辑时修改的,而不是在构建的游戏版本中修改的,那么只需将该文件放在您的资产目录中,就像您处理其他资产(包括纹理、模型、脚本等)一样。
具有.JSON扩展名的文件将自动导入为TextAssets.(该链接中列出的其他各种扩展也是如此,包括.txt、.bytes、.csv、.xml.)这使您可以使用引擎的本机引用特性从文件中加载数据,而无需编写自己的文件IO代码或硬编码任何特定路径。
在需要使用JSON数据的脚本中,只需创建一个类型为public
或[SerializeField]
的TextAsset
变量。这将给您在检查器中的一个槽,您可以在其中拖动这个JSON文件以供引用。
这样做,联合的构建过程和加载系统将能够看到引用该文件的位置,并确保在加载引用该文件的场景或预置文件时将其加载到内存中--因此您不需要担心在自己的代码中读取阻塞或异步文件。这还意味着,如果您有这些JSON文件,而且有些已经过时/不需要/不再引用,那么引擎就可以检测到这些文件,并将其删除,这样它们就不会在构建中添加膨胀或泄漏任何开发秘密。
TextAsset
s还与团结可寻址资产系统合作,如果您需要动态加载它或从在线托管的资产包中流它。
然后,您可以使用myJsonTextAsset.text
获取文件中的JSON文本,并使用您选择的JsonUtility或其他库来解析它。
https://gamedev.stackexchange.com/questions/202480
复制相似问题