Unity3d在运行时保存纹理3D

Unity3d在运行时保存纹理3D,unity3d,save,assets,Unity3d,Save,Assets,我正在寻找一种在运行时将我的texture3D保存在Unity应用程序中的方法。在我的程序中,我导入多个PNG并将它们组合到一个纹理3D中。为了更快地保存和加载它,我想保存和加载这个纹理3D,而不是每次重新开始导入图像。在我使用AssetDatabase之前,它工作得很好。但我当然想建立我的程序并遇到问题。我没有找到任何方法来避免AssetDatabase,所有的帖子都只建议使用它。当它不能在运行时使用时,它有什么帮助?如何保存您的资产和游戏状态 向@derHugo致以最诚挚的问候 答案是,运行

我正在寻找一种在运行时将我的texture3D保存在Unity应用程序中的方法。在我的程序中,我导入多个PNG并将它们组合到一个纹理3D中。为了更快地保存和加载它,我想保存和加载这个纹理3D,而不是每次重新开始导入图像。在我使用AssetDatabase之前,它工作得很好。但我当然想建立我的程序并遇到问题。我没有找到任何方法来避免AssetDatabase,所有的帖子都只建议使用它。当它不能在运行时使用时,它有什么帮助?如何保存您的资产和游戏状态

向@derHugo致以最诚挚的问候

答案是,运行时要保存的任何内容都必须转换为byte[]数组,并使用
File.writealBytes(字符串路径,byte[]字节)保存->

此外,还可以从texture3D中提取3D数据,并将其编码和解码到可保存和读取的byte[]数组中


我没有使用EncodeToJpg,我只需要按高度顺序读取图像并对其颜色值进行排序。

Texture3D没有本机格式。这就是为什么它们“只能从脚本创建”。您只能通过例如
EncodeToJpg
创建实际图像文件,并在运行时将检索到的
byte[]
写入文件。但我可以使用texture3D创建资产,至少使用UnityEdit类和AssetDatabase。现在是否有在运行时创建和保存资产的变通方法?