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

PrefabUtility

класс в UnityEditor

Описание

Вспомогательный класс для любых операций, связанных с Prefab.

// Create a folder (right click in the Assets directory, click Create>New Folder) // and name it “Editor” if one doesn’t exist already. Place this script in that folder.

// This script creates a new menu item Examples>Create Prefab in the main menu. // Use it to create Prefab(s) from the selected GameObject(s). // It will be placed in the root Assets folder.

using UnityEngine; using UnityEditor;

public class Example { // Creates a new menu item 'Examples > Create Prefab' in the main menu. [MenuItem("Examples/Create Prefab")] static void CreatePrefab() { // Keep track of the currently selected GameObject(s) GameObject[] objectArray = Selection.gameObjects;

// Loop through every GameObject in the array above foreach (GameObject gameObject in objectArray) { // Set the path as within the Assets folder, // and name it as the GameObject's name with the .Prefab format string localPath = "Assets/" + gameObject.name + ".prefab";

// Make sure the file name is unique, in case an existing Prefab has the same name. localPath = AssetDatabase.GenerateUniqueAssetPath(localPath);

// Create the new Prefab. PrefabUtility.SaveAsPrefabAssetAndConnect(gameObject, localPath, InteractionMode.UserAction); } }

// Disable the menu item if no selection is in place. [MenuItem("Examples/Create Prefab", true)] static bool ValidateCreatePrefab() { return Selection.activeGameObject != null && !EditorUtility.IsPersistent(Selection.activeGameObject); } }

Статические Свойства

prefabInstanceUpdated Вызывается после обновления экземпляров Prefab в сцене.

Статические Методы

ApplyAddedComponent Применяет добавленный компонент к сборному активу по указанному пути актива.
ApplyAddedGameObject Применяет добавленный GameObject к Prefab Asset по указанному пути к активу.
ApplyObjectOverride Применяет все переопределенные свойства компонента экземпляра Prefab или GameObject к Prefab Asset по заданному пути актива.
ApplyPrefabInstance Применяет все переопределения экземпляра Prefab к его Prefab Asset.
ApplyPropertyOverride Применяет одно переопределенное свойство в экземпляре Prefab к Prefab Asset по заданному пути ресурса.
ApplyRemovedComponent Удаляет компонент из Prefab Asset, на котором находится компонент.
GetAddedComponents Возвращает список объектов PrefabUtility.AddedComponent, которые содержат информацию о переопределениях добавленных компонентов в экземпляре Prefab.
GetAddedGameObjects Возвращает список объектов PrefabUtility.AddedGameObject, которые содержат информацию о добавленных игровых объектах в экземпляре Prefab.
GetCorrespondingObjectFromOriginalSource Возвращает исходный объект для данного объекта.
GetCorrespondingObjectFromSource Возвращает соответствующий объект ресурса источника или null, если он не может быть найден.
GetCorrespondingObjectFromSourceAtPath Возвращает соответствующий объект заданного объекта из заданного пути Prefab Asset.
GetIconForGameObject Возвращает значок для данного GameObject.
GetNearestPrefabInstanceRoot Возвращает GameObject, который является корнем ближайшего экземпляра Prefab, частью которого является объект.
GetObjectOverrides Возвращает список объектов с информацией о переопределениях объектов в экземпляре Prefab.
GetOutermostPrefabInstanceRoot Возвращает GameObject, который является корнем самого внешнего экземпляра Prefab, частью которого является объект.
GetPrefabAssetPathOfNearestInstanceRoot Возвращает путь ресурса ближайшего корня экземпляра Prefab, частью которого является указанный объект.
GetPrefabAssetType Значение перечисления, указывающее тип Prefab Asset, например, Regular Prefab, Model Prefab и Prefab Variant.
GetPrefabInstanceHandle Эта функция предоставит вам объект PrefabInstance для самого внешнего экземпляра Prefab, частью которого является предоставленный объект.
GetPrefabInstanceStatus Значение Enum со статусом о том, правильно ли подключен экземпляр Prefab к своему активу.
GetPropertyModifications Извлечь все изменения, примененные к экземпляру префаба, по сравнению с родительским префабом.
GetRemovedComponents Возвращает список объектов с информацией об удаленных переопределениях компонентов в экземпляре Prefab.
HasPrefabInstanceAnyOverrides Возвращает значение true, если данный экземпляр Prefab имеет какие-либо переопределения.
InstantiateAttachedAsset Создайте экземпляр актива, на который ссылается префаб, и используйте его в экземпляре префаба.
InstantiatePrefab Создает экземпляр данного префаба в заданной сцене.
IsAddedComponentOverride Добавлен ли этот компонент в экземпляр Prefab в качестве переопределения?
IsAddedGameObjectOverride Добавлен ли этот GameObject в качестве дочернего элемента к экземпляру Prefab в качестве переопределения?
IsAnyPrefabInstanceRoot Является ли GameObject корнем любого экземпляра Prefab?
IsDefaultOverride Возвращает значение true, если данное изменение считается переопределением по умолчанию.
IsDisconnectedFromPrefabAsset Возвращает значение true, если данный объект является частью экземпляра, в котором объект PrefabInstance отсутствует, но данный объект имеет допустимый соответствующий объект.
IsOutermostPrefabInstanceRoot Является ли GameObject корнем экземпляра Prefab, исключая вложенные Prefab?
IsPartOfAnyPrefab Возвращает значение true, если данный объект является частью любого типа Prefab.
IsPartOfImmutablePrefab Является ли этот объект частью префаба, который нельзя редактировать?
IsPartOfModelPrefab Возвращает значение true, если данный объект является частью актива сборной модели или экземпляра сборной модели.
IsPartOfNonAssetPrefabInstance Возвращает значение true, если данный объект является частью экземпляра Prefab, а не частью актива.
IsPartOfPrefabAsset Возвращает значение true, если данный объект является частью Prefab Asset.
IsPartOfPrefabInstance Возвращает значение true, если данный объект является частью экземпляра Prefab.
IsPartOfPrefabThatCanBeAppliedTo Является ли этот объект частью префаба, к которому нельзя применить?
IsPartOfRegularPrefab Возвращает значение true, если данный объект является частью обычного экземпляра Prefab или Prefab Asset.
IsPartOfVariantPrefab Возвращает значение true, если данный объект является частью Prefab Variant Asset или Prefab Variant экземпляра.
IsPrefabAssetMissing Возвращает значение true, если данный объект является частью экземпляра Prefab, но исходный актив отсутствует.
LoadPrefabContents Загружает префаб-ассет по заданному пути в изолированную сцену и возвращает корневой игровой объект префаба.
LoadPrefabContentsIntoPreviewScene Загружает префаб-ассет по заданному пути в заданную сцену предварительного просмотра и возвращает корневой игровой объект префаба.
RecordPrefabInstancePropertyModifications Вызывает запись изменений, внесенных в экземпляр Prefab.
RevertAddedComponent Удаляет этот добавленный компонент из экземпляра Prefab.
RevertAddedGameObject Удаляет этот добавленный GameObject из экземпляра Prefab.
RevertObjectOverride Отменяет все переопределенные свойства экземпляра Prefab или GameObject.
RevertPrefabInstance Отменяет все переопределения экземпляра Prefab.
RevertPropertyOverride Отменить переопределение одного свойства в экземпляре Prefab.
RevertRemovedComponent Добавляет этот удаленный компонент обратно в экземпляр Prefab.
SaveAsPrefabAsset Используйте эту функцию для создания Prefab Asset по указанному пути от данного GameObject, включая любые дочерние элементы в сцене без изменения входных объектов.
SaveAsPrefabAssetAndConnect Используйте эту функцию, чтобы создать префаб-ассет по заданному пути от данного игрового объекта, включая любые дочерние элементы в сцене, и в то же время сделать данный игровой объект экземпляром нового префаба.
SavePrefabAsset Используйте эту функцию, чтобы сохранить версию существующего Prefab Asset, которая существует в памяти, обратно на диск.
SetPropertyModifications Назначает все модификации, которые применяются к экземпляру префаба по сравнению с родительским префабом.
UnloadPrefabContents Освобождает содержимое из префаба, ранее загруженного с помощью LoadPrefabContents из памяти.
UnpackPrefabInstance Распаковывает данный экземпляр Prefab, чтобы он был заменен содержимым Prefab Asset с сохранением всех значений переопределения.
UnpackPrefabInstanceAndReturnNewOutermostRoots Эта функция распаковывает данный экземпляр Prefab, используя поведение, указанное в unpackMode.

Делегаты

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