Объявление
public void AddRemap(AssetImporter.SourceAssetIdentifier identifier, Object externalObject);Параметры
identifier | Идентификатор субактива. |
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.