unity3d - 如何让 Unity 将输出 png 保存到相对路径而不是绝对路径?
问题描述
我希望我的游戏保存一个 png。使用这里的答案我可以做到这一点,但是如何/在哪里将它们保存到相对于游戏而不是特定于我的计算机的路径?
是否有类似于保存 PlayerPrefs 的路径,这样我不需要知道或指定它们的保存位置,但操作系统和 Unity 知道在哪里创建它们?
解决方案
您可以尝试使用 Unity 提供的内置路径字符串之一(查看下面的示例)并生成相对于其中一个位置的路径。
- 应用程序.dataPath
- Application.persistentDataPath
- Application.streamingAssetsPath
- Application.temporaryCachePath
使用示例
using System;
using System.IO;
using UnityEngine;
public class TestScript : MonoBehaviour
{
private void Start()
{
string path = GetTemporaryImagePath();
// Code to save an image at "path"
// ...
}
private string GetTemporaryImagePath()
{
return Path.Combine(Application.temporaryCachePath, $"{Guid.NewGuid()}.png");
}
}
推荐阅读
- javascript - If 语句检查表是否包含在 iframe 中
- codenameone - 嵌套在可滚动容器中的行为良好的自定义开关或滑块组件
- java - 令牌“模块”上的语法错误,需要接口
- php - 创建对象数组 PHP
- jquery - 在成功的 ajax 调用上加载某个类的所有表
- regex - 正则表达式替换大文件
- tfs - 统一构建代理与统一测试代理之间有什么区别吗?
- spring - Kafka 和 NonTrustedHeaders 上的 SCDF 中的消息转换
- javascript - Mongo Operations 饿死了
- r - 具有月份(整数)和年份(整数)的矩阵,我希望使用 R 以日期或 POSIX 格式提取它