ソースコード
using System.Text.RegularExpressions; using UnityEditor; using UnityEditor.Presets; using UnityEngine; public sealed class Example : AssetPostprocessor { private static readonly Regex GLOB_REPLACE_PATTERN = new Regex( @"^glob:""(.*)""" ); private void OnPostprocessTexture( Texture2D texture ) { var textureImporter = ( TextureImporter ) assetImporter; var presetType = new PresetType( textureImporter ); var defaultPresets = Preset.GetDefaultPresetsForType( presetType ); foreach ( var defaultPreset in defaultPresets ) { var filter = defaultPreset.filter; filter = GLOB_REPLACE_PATTERN.Replace( filter, "$1" ); filter = Regex .Escape( filter ) .Replace( @"\*", ".*" ) .Replace( @"\?", "." ) ; var isMatch = Regex.IsMatch( assetPath, filter ); if ( !isMatch ) continue; defaultPreset.preset.ApplyTo( textureImporter ); } } }