C# 如何从字节数组生成精灵?

C# 如何从字节数组生成精灵?,c#,firebase,unity3d,firebase-storage,C#,Firebase,Unity3d,Firebase Storage,我有一个Unity游戏,玩家在游戏开始后从数据库中获取自己的清单。 我得到了存储在Firebase存储中的物品的图片,我可以下载它们。 然而,我不知道如何从下载得到的字节[](fileContents)制作精灵。 (稍后我会将这些精灵加载到玩家的目录中) 我得到了以下C#脚本: private void getPlayerInventory() { FirebaseDatabase.DefaultInstance.GetReference(“用户”).Child(auth.CurrentUser

我有一个Unity游戏,玩家在游戏开始后从数据库中获取自己的清单。 我得到了存储在Firebase存储中的物品的图片,我可以下载它们。 然而,我不知道如何从下载得到的字节[](fileContents)制作精灵。 (稍后我会将这些精灵加载到玩家的目录中)

我得到了以下C#脚本:

private void getPlayerInventory()
{
FirebaseDatabase.DefaultInstance.GetReference(“用户”).Child(auth.CurrentUser.UserId)
.Child(“库存”).GetValueAsync().ContinueWith(任务=>
{
if(task.IsFaulted)
{
打印(“无法获取库存的快照”);
} 
else if(任务已完成)
{
快照=任务。结果;
if(snapshot.HasChildren)
{
foreach(snapshot.Children中的当前变量)
{
字符串currentName=current.Value.ToString();
打印(currentName.ToLower()+“.png”);
const long maxAllowedSize=10*1024*1024;
storageReference.Child(currentName.ToLower()+“.png”)
.GetByteAsync(maxAllowedSize)
.ContinueWith((任务)=>
{
如果(任务出错| |任务取消)
{
Debug.Log(任务\异常.ToString());
} 
其他的
{
字节[]文件内容=任务结果;
Log(“下载完毕!”);
}
});
}
}
}
});
}

我相信您正在寻找

您的完整代码如下所示:

var tex = new Texture(1,1); // note that the size is overridden
tex.LoadImage(task_.Result);
var sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), new Vector2(tex.width/2, tex.height/2));
如果这是您的最终目标,您也可以在运行时使用。完成
tex.LoadImage
块后,您应该能够计算出
Texture2D.packtexture


--Patrick

您是否尝试过将其提取到本地文件?我不希望将其提取到本地文件,因为对于玩家来说,整个方法都是不可见的。
var tex = new Texture(1,1); // note that the size is overridden
tex.LoadImage(task_.Result);
var sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), new Vector2(tex.width/2, tex.height/2));