从资源Unity读取外部文件

时间:2019-02-06 14:51:02

标签: unity3d

我正在VR中使用Unity开发一个应用程序,我需要读取一个文件名,该文件名将插入用户,并在应用程序中上载,以及其他2-3个用户始终可以选择的选项。我曾考虑过要在其中放置数据的初始菜单,但这对于VR解决方案并不实用。因此,我曾考虑过创建一个“设置”文件,在该文件中,用户在启动应用程序之前会插入选项,名称和文件的加载路径,以从中加载数据。但是我不知道如何读取Unity项目资源之外的文件。另外,如何创建此文件设置,以使其在构建项目后始终位于同一位置,并且在EXE文件夹中可见?有人知道如何帮助我吗?或者也许给我一些有关如何进行的建议?提前致谢。

1 个答案:

答案 0 :(得分:0)

欢迎来到堆栈!

我想您正在创建基于桌面的游戏?对于您的情况,我建议使用StreamingAsset folder存储配置文件。制作游戏时,它将放置在<BuildFolder>/<GameName>_Data/StreamingAssets中。

对于加载文件,您可以使用C#的许多不同System.IO类中的任何一个,以文本形式读取文件内容的简单方法可能是这样的:

      var path = Application.dataPath + "/StreamingAssets/settings.txt";
      using (StreamReader reader = new StreamReader(path))
      {
        try
        {
          var fileContent = reader.ReadToEnd();
          /* do something with the content here */
        }
        catch (System.Exception e)
        {
          Debug.Log(e);
        }
      }

针对您的情况的另一种方法(我认为更加用户友好)是使用类似FileBrowser的资产,该资产允许用户以无键盘方式选择文件。我不知道它是否可以在VR中使用。