PlayerSettings.Android.textureCompressionFormats
Declaration
public static TextureCompressionFormat[] textureCompressionFormats;Описание
Форматы сжатия текстуры.
Если вы установили несколько форматов сжатия текстуры, вы можете использовать Сжатие текстуры Для использования этой функции необходимо также создать приложение в виде пакета приложений Android (файл aab) или экспортировать проект Gradle для пакета приложений Android. В этом случае Unity создает пакет приложений Android или проект Gradle с пакетами ресурсов, которые включают текстуры, сжатые с помощью форматов сжатия текстур, указанных в этом свойстве. Android рассматривает первый формат сжатия текстур как «по умолчанию».
Если вы задаёте только один целевой формат сжатия текстур либо собираете приложение как apk или экспортируете проект Gradle для apk, Android сжимает текстуры только первым (или единственным) форматом. В этом случае целевой формат сжатия текстур можно переопределить с помощью EditorUserBuildSettings.androidBuildSubtarget свойства.
Вы не можете добавить TextureCompressionFormat.BPTC или TextureCompressionFormat.Unknown опции для форматов сжатия текстуры для Android, также нельзя назначить нулевое значение или пустую массив.
using UnityEngine; using UnityEditor; using UnityEditor.Build;
public class TextureCompressionFormatsSample : MonoBehaviour { [MenuItem("Build/Texture Compression Formats Sample")] public static void BuildAndroidTextureCompressionSample() { PlayerSettings.SetScriptingBackend(NamedBuildTarget.Android, ScriptingImplementation.IL2CPP); PlayerSettings.Android.targetArchitectures = AndroidArchitecture.ARM64;
// Set textureCompressionFormats to ETC2 and ASTC texture formats PlayerSettings.Android.textureCompressionFormats = new[] { TextureCompressionFormat.ETC2, TextureCompressionFormat.ASTC }; // Configure an Android App Bundle build EditorUserBuildSettings.buildAppBundle = true;
// Configure build Player options BuildPlayerOptions buildOptions = new BuildPlayerOptions(); buildOptions.scenes = new[] { "Assets/Scenes/SampleScene.unity" }; buildOptions.locationPathName = "Build/TextureCompressionAndroidBuild.aab"; buildOptions.target = BuildTarget.Android; buildOptions.targetGroup = BuildTargetGroup.Android; BuildPipeline.BuildPlayer(buildOptions); // Log each configured texture compression format foreach (TextureCompressionFormat format in PlayerSettings.Android.textureCompressionFormats) { Debug.Log($"Configured Texture Compression Format: {format}"); } } }