AssetImporter.AddRemap
Declaration
public void AddRemap(AssetImporter.SourceAssetIdentifier identifier, Object externalObject);Параметры
| Параметр | Описание |
|---|---|
| идентификатор | Идентификатор субактива. |
| externalObject | Объект, который нужно сопоставить с внутренним объектом. Он может принадлежать другому префабу или ассету, но не тому ассету, который сейчас изменяется. |
Описание
Сопоставление субактива из импортированного ассета (например, файла FBX) с внешним ассетом того же типа.
Примените изменения путем записи метаданных и повторного импорта ассета. Экземпляры ассета автоматически используют сопоставленный объект после повторного импорта ассета.
Если тип внешнего ассета не совпадает с типом подассета или если ссылка равна null, экземпляры ассета продолжат использовать внутренний ассет без выдачи ошибки.
using UnityEngine; using UnityEditor;
public class Extractor { public static void ExtractFromAsset(Object subAsset, string destinationPath) { string assetPath = AssetDatabase.GetAssetPath(subAsset);
var clone = Object.Instantiate(subAsset); AssetDatabase.CreateAsset(clone, destinationPath);
var assetImporter = AssetImporter.GetAtPath(assetPath); assetImporter.AddRemap(new AssetImporter.SourceAssetIdentifier(subAsset), clone);
AssetDatabase.WriteImportSettingsIfDirty(assetPath); AssetDatabase.ImportAsset(assetPath, ImportAssetOptions.ForceUpdate); } }
Дополнительные ресурсы: ,AssetImporter.RemoveRemap,.