在android设备中定位图像的文件路径



对不起,我对unity和c#非常陌生。

我正在尝试读取图像并将其作为纹理应用。

当我在电脑上用图像尝试时,代码是有效的,然而,当我在android设备(手机和AR眼镜(上尝试时,我无法正确指定文件路径。我如何正确指定android设备的文件路径,或者有没有办法获得这些文件路径?

非常感谢您提前提供的帮助!:(

void Start()
{
thisTexture = new Texture2D(100, 100);

//string path = "C:/Users/kenny/Desktop/5th March/im.png";   //this works
string path = "file:///storage/emulated/0/im2.png";         // this doesnt work
bytes = File.ReadAllBytes(path);
thisTexture.LoadImage(bytes);
GetComponent<Renderer>().material.mainTexture = thisTexture;
}

对于移动设备来说,从普通路径获取文件并不是那么简单。

其中一种方法是使用Resources文件夹。在根文件夹(资产(中,创建一个名为资源的新文件夹。把你的照片放在那里。

然后你可以做这样的事情:

// path without file extension!
var texture = Resources.Load<Texture2D>("path/to/texture");

您可以在此处获得此功能的更多参考资料:https://forum.unity.com/threads/how-to-load-a-image-from-the-resources-folder-to-a-texture2d.101542/

或者,您可以使用StreamingAssets文件夹,但这是另一回事。

最新更新