[PICO VR]Unity如何往PICO VR眼镜里写持久化数据txt/json文本

前言

最近在用PICO VR做用户实验,需要将用户实验的数据记录到PICO头盔的存储空间里,记录一下整个过程

流程

1.开启写入权限

首先开启写入权限:Unity->Edit->Player->安卓小机器人->Other Settings->Configuration->Write Permission 改成 External(SDCard)

2.代码实现

如果是写入TXT数据:

c 复制代码
using System.IO;
using TMPro;
using UnityEngine;

public class test : MonoBehaviour
{
    // 文件路径定义
    private string filePath;
    void Start()
    {
        // 获取VR设备外部存储的路径
        filePath = Path.Combine(Application.persistentDataPath, "output.txt");
        // 检查文件是否存在,如果不存在则创建并写入信息
        if (!File.Exists(filePath))
        {
            File.WriteAllText(filePath, "这是初始写入的数据。\n");
        }
        else
        {
            File.AppendAllText(filePath, "追加写入的信息。\n");
        }

        Debug.Log("文件路径: " + filePath);
    }
}

之后将该脚本挂载在任意物体上,然后build进头盔中,点击运行,txt文件便自动写入到头盔存储空间的/Android/data/com.你的Unity项目名/files文件夹下。将头盔连接到电脑后,可以看到PICO设备存储空间下出现了该文本,文本txt中内容为"这是初始写入的数据。":

如果是写入json文件,也是同理:

c 复制代码
写入数据:

string filePath = Path.Combine(Application.persistentDataPath,"output.json");
string dataAsJson = JsonUtility.ToJson(你的数据, true);
byte[] jsonBytes = Encoding.UTF8.GetBytes(dataAsJson);
File.WriteAllBytes(filePath,jsonBytes);

读取数据:

string filePath = Path.Combine(Application.persistentDataPath,"output.json");
if(File.Exists(filePath))
{
	byte[] jsonBytes = File.ReadAllBytes(filePath);
	string dataAsJson = Encoding.UTF8.GetString(jsonBytes);
	你的数据 = JsonUtility.FromJson<数据格式>(dataAsJson);
}
相关推荐
寂寞的船17 小时前
【Unity知识速递】第8期 IL2CPP 托管堆内存碎片与原生堆交互机制深度解析
unity·游戏引擎·交互
寂寞的船1 天前
【Unity知识速递】第5期 Unity 6.2 深度解析:AI Assistant 登场,World Space UI 与 Sentis 全面升级
人工智能·ui·unity
寂寞的船2 天前
【Unity知识速递】第4期 MCP for Unity:用 AI 自然语言控制编辑器
人工智能·unity·编辑器
淡海水2 天前
09-04-内存-Unity原生对象生命周期
unity·c#·游戏引擎·gc
寂寞的船2 天前
【Unity知识速递】第6期 URP性能优化完全指南:从内存到GPU的三维调优
unity·性能优化·编辑器
Hello_Pyhx2 天前
NWinfo 导出 Windows 硬件信息:从 JSON 报告到缺项排查
windows·json
寂寞的船2 天前
【Unity Bug挑战】第10期 SerializeReference 内存泄漏之谜
unity·c#·游戏引擎·bug
程序员大阳2 天前
副队长JavaScript教程(66)-本地存储实战:待办事项网页的开发
javascript·json·实战·待办事项·本地存储·案例
视觉小萌新3 天前
AI Class 3 · Chapter 2-3:函数、异常、文件读写+JSON / JSONL 读写(小白版)
人工智能·python·json
tealcwu4 天前
【Unity基础】为什么游戏需要物理按键映射?从 Unity Input Manager 到跨引擎输入设计
java·游戏·unity