如何从 TextureImporterFormat 到 TextureFormat?

How to go from TextureImporterFormat to TextureFormat?

这是一个特定于 Unity3d 的问题,但我想我应该在这里提问,因为我在 Unity 论坛上没有得到有用的反馈。

简而言之;我需要为任何 TextureImporterFormat.

获取相应的 TextureFormat

我正在写一篇AssetPostprocessor;我想在导入后更改纹理,然后压缩它们。

所以在 OnPostprocessTexture(Texture2D texture) 函数中我想以编辑器中定义的纹理格式压缩纹理(在 TextureImporter 中),就像我在这个函数中什么都不做一样.

然而,压缩函数(EditorUtility.CompressTexture())期望格式为TextureFormat类型,但我能得到的唯一格式是TextureImporterFormat.[=18=类型]

我如何从一个到另一个?

或者我怎样才能完全避免这个问题?

我现在是手动做的,真麻烦。特别是因为它根据 Unity 的版本而有所不同,这也意味着它可能会随着任何新的 Unity 更新而改变。 :(

我忘记了这个问题,有点晚了,但我想我还是应该回答一下。

原来我误解了我得到的结果。 此函数后自动进行压缩。

我做了一个测试,看看在使用 OnPostprocessTexture() 后纹理是否被压缩,我认为它们没有,但它们是。