AssetDatabase.GetCachedIcon
Declaration
public static Texture GetCachedIcon(string path);Параметры
| Параметр | Описание |
|---|---|
| путь | Путь к ресурсу. |
Возвращаемое значение
Текстура Значок общего типа для нетекстурных ассетов и небольшой миниатюрный изображение с правильными пропорциями для текстур, или null, если ассет не имеет значка.
Описание
Получает кэшированный значок для ассета в указанном пути, без загрузки ассета. Это значок, отображаемый в списке представления окна Project.
Значок разрешается из базы данных ассетов и отражает различия между ассетами (пользовательские значки MonoScript, открытые/закрытые папки, тип префаб, значки, назначенные импортером). Для текстур он возвращает небольшой миниатюрный изображение с правильными пропорциями, созданный во время импорта (правильный даже для обычных карт), а не необработанную текстуру. Это более эффективно, чем AssetPreview.GetAssetPreview и всегда доступно, но это поиск значка, а не живой рендеринг. Для ассетов без текстуры, таких как материалы или модели, он возвращает общий тип значка, а не рендированный предварительный просмотр.
using System.Collections.Generic; using UnityEditor; using UnityEngine;
public class AssetDatabaseExamples : MonoBehaviour { [MenuItem("AssetDatabase/Get Cached Icon Example")] public static void GetCachedIconExample() { var textureList = new List<Texture>(); //Get asset icons and put them in a list foreach (var guid in AssetDatabase.FindAssets("", new []{"Assets"})) { var path = AssetDatabase.GUIDToAssetPath(guid); textureList.Add(AssetDatabase.GetCachedIcon(path)); }
//Set Material textures to the asset icons var textureNo = 0; for (var i = 0; i < 10; i++) { var path = $"Assets/Materials/GroundMaterial{i}.mat"; var asset = (Material)AssetDatabase.LoadMainAssetAtPath(path); if (textureNo >= textureList.Count) textureNo = 0; asset.mainTexture = textureList[textureNo++]; } } }