Импорт иерархии
PlayCanvas поддерживает импорт моделей с их сетками в виде иерархии сущностей в сцене. Это позволяет редактировать различные сетки непосредственно в редакторе. Можно добавлять компоненты, присоединять другие сущности, перемещать/вращать/масштабировать сущности в иерархии и т.д.
Как включить
Откройте "Настройки проекта"
Прокрутите вниз до "Asset Tasks" и включите "Import Hierarchy":
Импорт моделей
Полное руководство по импорту вашей первой модели и анимации можно найти здесь.
В качестве обзора, когда вы перетаскиваете файл модели в "Assets Panel":
При импорте будут созданы следующие ассеты:
Тип ассета | Описание |
---|---|
Materials | Материалы, используемые импортированной моделью, сопоставлены с экземпляром сетки. |
Textures | Встроенные текстуры в файле модели (если есть). Они автоматически будут сопоставлены с соответствующими материалами. |
Template | Шаблон хранит иерархию сцены модели. Создайте экземпляр шаблона, чтобы добавить модель в сцену. |
Container | GLB, который хранит все сетки модели. |
Render | Render ассеты ссылаются на сетку в активе контейнера и используются Render Component для отображения сетки в сцене. Они также могут быть использованы с Collision Component в качестве сетки для физики. |
Обновление моделей
Поскольку иерархия создается в виде шаблона, при обновлении модели это может повлиять на экземпляры шаблона в сценах.
Добавленные компоненты к сущностям в шаблоне будут сохранены во время обновления, если только экземпляр сетки, который представляет сущность, больше не существует в обновленной модели.
Исключение составляют случаи, когда к сущности в шаблоне добавляется компонент скрипта, и экземпляр сетки, который он представляет, больше не является частью обновленной модели, он будет перемещен под корневую сущность в шаблоне, чтобы не было потери данных. Все сущности, которые были под ним до обновления, также будут сохранены.
Редактор определяет, что является новым или удаленным экземпляром сетки, следующим образом:
- Если при обновлении имя экземпляра сетки и имя его родительского экземпляра сетки совпадают с существующим экземпляром сетки и его родителем, они считаются одним и тем же экземпляром сетки в иерархии и обновляются.
- Если при обновлении имя экземпляра сетки отсутствует, считается, что это новый экземпляр сетки, и в шаблон добавляется новая сущность.
- Если при обновлении существующая сущность шаблона не имеет соответствующего экземпляра сетки с учетом приведенных выше правил, считается, что этот экземпляр сетки был удален, и сущность будет удалена из шаблона. За исключением упомянутого выше случая, если к нему был добавлен компонент скрипта в шаблоне, такие сущности сохраняются на корневом уровне. Если компоненты скрипта не были добавлены, они удаляются из шаблона.