Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

PrefabUtility.UnpackPrefabInstance

Объявление

public static void UnpackPrefabInstance(GameObject instanceRoot, PrefabUnpackMode unpackMode, InteractionMode action);

Параметры

instanceRoot Корень экземпляра Prefab для распаковки.
unpackMode Нужно ли распаковывать самый внешний корень или распаковывать полностью.
action Режим взаимодействия, используемый для этого действия.

Описание

Распаковывает данный экземпляр Prefab, чтобы он был заменен содержимым Prefab Asset, сохраняя при этом все значения переопределения.

Данный объект должен быть корнем экземпляра Prefab.

Содержимое Prefab Asset — это объекты, которые вы видите, когда открываете их в Prefab Mode. Распаковка с PrefabUnpackMode OutermostRoot заменит экземпляр Prefab этим содержимым. Распаковка с PrefabUnpackMode, равным Completely, также распаковывает все экземпляры Prefab, которые являются частью распакованного содержимого, так что конечным результатом являются не что иное, как обычные GameObjects, а не экземпляры Prefab.

Содержимое обычного префаба или префаба модели всегда имеет в корне обычный игровой объект, поэтому распаковка одного из них оставит обычный игровой объект в корне, где раньше был экземпляр префаба.

Содержимое варианта префаба содержит экземпляр базового префаба в корне, поэтому при распаковке варианта префаба с параметром PrefabUnpackMode, равным OutermostRoot, экземпляр базового префаба останется там, где раньше находился экземпляр варианта префаба.

При распаковке возникает исключение ArgumentException, если данный объект не является корнем экземпляра Prefab или является частью Prefab Asset. Сюда не входит содержимое Prefab, открытое в Prefab Mode.

InteractionMode определяет, должно ли действие быть отменено.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3