Prefab
Создание prefab
После редактирования узла в сцене перетащите его прямо из Node Tree в Assets:
И таким образом вы создаете prefab:
Сохранение prefab
После изменения объекта prefab в сцене щелкните Save на панели Properties, и вы сможете сохранить соответствующий prefab:
Отмена изменений prefab
После изменения объекта prefab в сцене щелкните Go Back на панели Properties, и вы сможете восстановить соответствующий prefab в состояние как в Assets:
Автоматическая синхронизация и ручная синхронизация
Вы можете выбрать Автоматическую синхронизацию или Ручную синхронизацию для каждого экземпляра prefab в сцене.
Если установлено значение Ручная синхронизация (Manual Sync), когда его исходный ресурс изменился, экземпляры prefab НЕ будут динамически обновляться, чтобы оставаться синхронизированными с исходным ресурсом. Обновление активируется только тогда, когда пользователи вручную делают откат изменений prefab.
Если установлено значение Автоматическая синхронизация (Auto Sync), экземпляры prefab будут динамически обновляться, чтобы оставаться синхронизированными с исходным ресурсом.
Иконка представляет текущий режим синхронизации для выбранного prefab, вы можете переключаться между двумя режимами, щелкая иконку:
Иконка выше показывает что текущий выбранный prefab использует режим ручной синхронизации, клик на иконке переключит в режим автоматической синхронизации:
Обратите внимание, чтобы движок был маленьким и быстрым, существуют ограничения автосинхронного экземпляра prefab:
- Чтобы облегчить настройку экземпляров prefab в сцене, свойства
name
,active
,position
илиrotation
корневого узла prefab не будут синхронизироваться автоматически. И дочерние узлы и компоненты должны синхронизироваться с исходным ресурсом, если произошли изменения, редактор спросит, хотите ли вы вернуть изменения или сохранить изменения обратно к исходному ресурсу. - Компонент в автосинхронном prefab не может ссылаться на внешний объект за пределами этого prefab, иначе редактор будет предупреждать.
- Компонент вне автосинхронизируемого prefab может ссылаться только на корневой узел prefab, но не на его компоненты или дочерние элементы, иначе редактор будет предупреждать.
Эти ограничения влияют только на операции в редакторе, время выполнения не будет затронуто.
Преобразование Prefab в обычный узел
После удаления prefab из панели Assets вы можете преобразовать соответствующий экземпляр prefab в сцене в обычный узел. Для этого выберите экземпляр prefab и нажмите меню Node Presets > Convert to Ordinary Node
.
Опции Prefab
В панели Assets выберите любой из ресурсов prefab, чтобы отредактировать следующие опции в панели Properties.
Опция «Оптимизация»
В v1.8.0 добавлена опция «Оптимизационная политика» для оптимизации времени создания выбранного prefab, которое необходимо для выполнения cc.instantiate
. Значения, которые могут быть установлены:
- Auto adjust (по умолчанию)
Когда этот параметр установлен, механизм автоматически настраивает политику оптимизации на основе количества экземпляров. Когда вы в первый раз создаете экземпляр, поведение такое же, как «Для создания отдельных экземпляров» (For single instance creation). «Для создания нескольких экземпляров» (For multiple instance creation) будет автоматически использоваться после нескольких созданий. - For single instance creation
Эта опция пропускает генерацию кода для этого prefab. - For multiple instance creation
Эта опция включает генерацию кода для этого prefab.
Если этот prefab требует повторного выполнения cc.instantiate
, выберите 'For multiple instance creation', в противном случае оставьте по умолчанию 'Auto adjust'.
В более старой версии движка оптимизация была исправлена для 'For multiple instance creation', и это отлично подходит для ситуаций, когда вам нужно создавать объекты повторно. Тем не менее, многие люди используют prefab в качестве инструмента для совместной работы с несколькими людьми или пошаговой загрузки. По сути, эти prefabs файлы создаются только один раз, что приводит к более медленному созданию узла. «Автоматическая настройка» ('Auto adjust') в новой версии является хорошим решением этой проблемы.
Опция 'Async Load Assets'
Значение по умолчанию false. Когда выбрано, использование Properties association, loadRes и т. д., при загрузке prefab ресурса будет задержка загрузки в зависимости от других ресурсов, чтобы повысить скорость загрузки некоторых веб-игр. Подробнее смотрите в разделе Изменение политики загрузки сцены.
Продолжайте читать про Spine.