0

我正在从事一个涉及从 StreamingAssets 读取内容的项目。

它在统一引擎和 Oculus Rift 中完美运行,但在将 apk 导出到 Oculus Quest/Go 时不会发生流式传输(不会加载测验)。

有人遇到过通过 Quest/Go 应用程序访问 StreamingAssets 的问题吗?你解决了吗?

我测试的东西:阅读承诺:外部力量内部我通过android studio(空)检查了logcat。

主要功能是:

private string getPath()
{
#if UNITY_EDITOR
        return Application.streamingAssetsPath;
#elif UNITY_ANDROID
        return Application.persistentDataPath;
#elif UNITY_STANDALONE_WIN
        return Application.streamingAssetsPath;
#else  
        return "";
#endif
    }

private string[] loadExternal_Question(int qIndex)
    {
        Debug.Log("External File: " + getPath() + "/Quiz/Q" + qIndex + ".txt");

        string[] q_Data = File.ReadAllLines(getPath() + "/Quiz/Q" + qIndex + ".txt");

        QuestionTitle_LB.text = q_Data[0].Replace("//n", "\n");
        Answer_1.text = q_Data[1].Replace("//n", "\n");
        Answer_2.text = q_Data[2].Replace("//n", "\n");
        Answer_3.text = q_Data[3].Replace("//n", "\n");
        Answer_4.text = q_Data[4].Replace("//n", "\n");
        CurrentQ = int.Parse(q_Data[5]);

        FeedBack_LB.text = q_Data[6].Replace("//n", "\n");
        return q_Data;
    }

我注意到该问题可能是由于信息位于流资产中这一事实引起的。但是我如何统一定义一个 persistentDataPath 以便它可以从那里读取?或者,用于 Quest/Go 的 Android 应用程序可以从 StreamingAssets 中读取吗?

4

1 回答 1

0

StreaminAssets 的内容被压缩在 APK 中。你如何访问它?如果你想打开一个文本文件,你可以这样做:

    string json;
#if UNITY_EDITOR || !UNITY_ANDROID
    json = File.ReadAllText(StreamingJsonPath);
#else
    // streamingAssets are compressed in android (not readable with File).
    WWW reader = new WWW (StreamingJsonPath);
    while (!reader.isDone) {}
    json = reader.text;
#endif
于 2019-09-23T14:03:38.027 回答