我尝试从url下载图像以保存到我的app mobile中,当我尝试进行文件写入时,由于在场景结束时写入文件,并且在结束时写入文件,所以没有发生一段时间。场景中,我将thats字节转换为立方体贴图的方法不起作用。 我真的需要你的帮助。
我尝试从url下载图像,然后保存在我的手机上,然后转换为cubemap以在实时应用程序上使用。
我以这种方式从服务器下载图像:
public IEnumerator Get(string url)
{
using (UnityWebRequest www = UnityWebRequest.Get(url))
{
www.SendWebRequest();
if (www.isNetworkError || www.isHttpError)
{
Debug.Log(www.error);
}
else
{
if (www.isDone)
{
string jsonResult = System.Text.Encoding.UTF8.GetString(www.downloadHandler.data);
playerList = JsonUtility.FromJson<Player>(jsonResult);
Debug.Log(jsonResult);
yield return true;
}
}
}
}
播放器列出我的Pojo并从中获取值字节,方法是:
path = Application.dataPath + "/Materials/img/Img360/" + "img360.png";
PlayerPrefs.SetString(path, playerList.img360);
System.IO.File.WriteAllBytes(path, playerList.img360);
但是从未发生过,因为执行不等待opcion使用的字节...
然后将下一个代码转换为cubemap,但是由于图像文件不在路径中,因为没有等待写入文件,因此从未发生。
这种图像到立方体贴图的转换在android和ios上不起作用,你知道吗?我该怎么做正确的方法?
var textures = Selection.GetFiltered(typeof(Texture),SelectionMode.Assets).Cast<Texture>();
foreach (var tex in textures)
{
string path1 = AssetDatabase.GetAssetPath(tex);
TextureImporter importer = (TextureImporter)TextureImporter.GetAtPath(path);
if (tex.dimension != UnityEngine.Rendering.TextureDimension.Cube)
{
importer.textureShape = TextureImporterShape.TextureCube;
importer.generateCubemap = TextureImporterGenerateCubemap.Spheremap;
importer.SaveAndReimport();
}
}
感谢您的关注
我期望立方体贴图,但是我不能,因为永远不会完成写入文件,仅当处理完成时,图像文件才会写入路径中,但是从未发生过转换为立方体贴图