Переназначить сборку в Unity

#unity3d

#unity3d

Вопрос:

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

введите описание изображения здесь

Комментарии:

1. Возможно, отредактировав файл сцены с помощью текстового редактора и переназначив новый идентификатор сборного. Но я не уверен, что это хорошая идея. Вместо этого вы можете использовать пользовательский инструмент редактирования для изучения иерархии и создания сборных элементов для каждого игрового объекта, переименования его и копирования позиции преобразования, если требуется. Это небольшая работа, но полезно заставить Unity работать за вас над такой скучной задачей, как эта.

2. В хранилище есть ресурс, я думаю, это поиск и замена. Вы можете попробовать это.

Ответ №1:

Если они сделаны из одного и того же сборного элемента, что вы можете сделать: перетащите один объект из иерархии в «Проект», как если бы вы создавали новый сборный элемент из существующего «отсутствующего» сборного элемента.

Это гарантирует, что у них будет новый родительский сборный элемент — с тем же идентификатором GUID, что и ранее.

Одним из недостатков было бы то, что он возвращает имена всех сборных элементов в сцене, в которой вы находитесь в данный момент, к новому имени сборных элементов.

ПРИМЕЧАНИЕ: Это не сработало бы, если бы вы закрыли сцену или Unity.

Редактировать:

Вы также можете изменить сцену вручную, присвоив m_PrefabInstance: {fileID: 665558973} один и тот же идентификатор всем вашим игровым объектам. Игровые объекты с отсутствующим сборным элементом имели бы fileID: 0 .

Возможно, вам нужно сделать это для всех компонентов (GameObject, Transform, Components и т. Д.). Убедитесь, что у вас есть резервная копия, прежде чем пытаться это сделать.