Создание 3D анимации. Учебное пособие

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

Давайте добавим трехмерную анимацию в модель простейшей системы массового обслуживания. Пусть в нашей модели клиенты банковского отделения подходят к банкомату для выполнения операций с наличностью.

Шаг 1. Создание модели

При создании модели мы воспользуемся одним из предлагаемых шаблонов моделей, в нашем случае - шаблоном дискретно-событийной модели. 

 Создайте новую модель

  1. Щелкните мышью по кнопке панели инструментов Создать . В появившемся окне Мастера создания моделей задайте любое имя модели и перейдите на вторую страницу, где установите флажок Использовать шаблон модели и выберите Дискретно-событийное моделирование в расположенном ниже списке. 

  2. На следующей странице Мастера установите флажок Добавить анимацию и закончите создание модели, щелкнув мышью по кнопке Готово.

Вы можете запустить модель и проверить ее работоспособность. 

 Запустите модель

  1. Запустите модель, щелкнув правой кнопкой мыши по эксперименту Simulation в дереве модели в панели Проекты и выбрав Запустить из контекстного меню. 
  2. В дальнейшем по нажатию на кнопку панели инструментов Запустить (или по нажатию F5) будет запускаться тот эксперимент, который запускался Вами в последний раз.

Вы увидите, что у модели есть простейшая анимация - условно нарисованный банкомат и ведущая к нему очередь клиентов.

Итак, Мастер создания модели создал нужную нам модель, и мы можем сконцентрироваться именно на создании трехмерной анимации.

Шаг 2. Добавление 3D окна

Первым делом нам будет нужно добавить на диаграмму активного объекта 3D окно. 

3D окно используется для задания на диаграмме класса активного объекта области, в которой во время запуска модели будет отображаться трехмерная анимация этого объекта. 

 Добавьте 3D окно
  1. Вначале переместите существующие фигуры анимации чуть выше, чтобы освободить на диаграмме место под окно трехмерной анимации:
  1. Теперь перетащите элемент 3D Окно  из палитры 3D на диаграмму активного объекта. Вы увидите в графическом редакторе закрашенную черным область. 
  1. Перейдите на страницу Основные панели Свойства и выберите Ограничена по Z: выше 0 из выпадающего списка Тип навигации. Тем самым, мы разрешаем осуществлять навигацию по сцене только выше плоскости Z=0, запрещая такие повороты камеры, при котором она будет направлена снизу, как бы "сквозь пол".
  2. Давайте изменим и цвет фона трехмерной сцены (отображаемого во время работы модели). Для этого перейдите на страницу Сцена свойств 3D окна и смените Цвет фона, например, на черный. 

На диаграмме одного объекта может присутствовать сразу несколько окон трехмерной анимации, каждое из которых может показывать какой-то конкретный участок общей трехмерной сцены. Свойства на странице Сцена (Цвет фона и Цвет сетки) задаются не для данного конкретного 3D окна, а для общей для всех окон данного активного объекта сцены трехмерной анимации. 

Шаг 3. Рисование фигур для трехмерной анимации

Для начале давайте сделаем так, чтобы мы увидели на сцене трехмерной анимации - аналог имеющейся анимации, созданной Мастером создания моделей.

Для этого нам не понадобится заново рисовать анимацию с помощью других фигур - мы просто включим у существующих фигур режим отображения на трехмерной сцене.

Если у Вас есть уже готовые модели с двумерной анимацией, Вам нужно будет использовать именно этот подход  - не рисовать заново фигуры для создания аналогичной трехмерной анимации, а просто выбрать опцию Отображать на 3D сцене у тех фигур, трехмерные аналоги которых Вы хотите увидеть на трехмерной анимации.

 Добавление на сцену трехмерной анимации существующих фигур анимации
  1. На сцене трехмерной анимации отображаются те фигуры, у которых будет выбрана опция Отображать на 3D сцене. Поэтому нам будет нужно эту опцию у ломаной линии и овала. 

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

  1. Перейдите на страницу Основные панели Свойства - Вы увидите, что в панели отображаются общие свойства для всех выделенных фигур. Установите флажок Отображать на 3D сцене - тем самым Вы сразу измените значение свойства у обеих фигур.

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

Шаг 4. Добавление фигуры клиента

Теперь нам нужно нарисовать трехмерное изображение клиента. 

В случае с изображением человека мы воспользуемся стандартной трехмерной фигурой, поставляемой вместе с AnyLogic. Набор таких готовых к использованию изображений Вы можете найти в палитре 3D объекты. Эта палитра содержит трехмерные фигуры объектов, которые наиболее часто используются пользователями AnyLogic при создании моделей.

 Создайте анимацию клиента

  1. Перетащите элемент Человек из палитры 3D объекты на диаграмму класса: 

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

  1. Теперь нужно будет указать источнику заявок, что для анимации должна использоваться именно только что добавленная  фигура. Выделите в графическом редакторе объект source и введите имя фигуры (person) в его свойстве Фигура анимации заявки.

Стандартные фигуры презентации AnyLogic (прямоугольник, овал, линия, ломаная и т.д.) обычно используются для того, чтобы нарисовать объекты невысокого уровня сложности, например, коробки, дороги, стены помещений. Если же Вам понадобится нарисовать какой-то сложный трехмерный объект (отсутствующий в палитре стандартных изображений), то в этом случае Вы можете добавить его на диаграмму презентации AnyLogic с помощью элемента 3D фигура3D Фигура позволяет импортировать в Ваши модели изображения трехмерных фигур, созданные в сторонних пакетах для работы с трехмерной графикой. 

Шаг 5. Добавление камеры

Теперь нужно будет добавить на диаграмму камеру. С помощью камеры мы сможем указать, какой именно участок сцены трехмерной анимации мы хотим видеть в 3D окне при запуске модели.

 Добавьте камеру

  1. Перетащите элемент Камера  из закладки 3D панели Палитра в указанное на рисунке место диаграммы. Направьте камеру на те фигуры, которые Вы хотите увидеть в окне трехмерной анимации.

  1. Если Вы захотите повернуть камеру в плоскости XY, то Вам будет нужно выделить ее и перетащить конец ее стрелки в нужном Вам направлении вдоль окружности.

Камера может перемещаться по ходу выполнения модели. Вы можете сделать так, что в окне 3D анимации всегда отображалась картинка, попадающая в объектив движущейся камеры. Эта возможность может быть полезна в том случае, если вы хотите постоянно иметь в поле зрения объект, который может двигаться по ходу выполнения модели.

Теперь Вы можете выбрать эту камеру в качестве камеры окна трехмерной анимации.

 Выберите камеру в качестве камеры 3D анимации

  1. Выделите 3D окно в графическом редакторе и выберите имя камеры (camera) в свойстве окна Камера

Шаг 6. Запуск трехмерной анимации и позиционирование камеры

Мы создали простейшую трехмерную анимацию и готовы к тому, чтобы запустить модель и посмотреть на результат нашей работы.

 Запустите модель и опробуйте навигацию по сцене трехмерной анимации

  1. Запустите модель. В 3D окне Вы увидите трехмерную анимацию модели.


Обратите внимание, что одновременно отображаются и трехмерная, и привычная (двумерная) анимация. Включив у фигур режим отображения на трехмерной сцене, Вы не удалили эти фигуры из обычной презентации, а получили сразу два альтернативных представления Вашей модели.

  1. Попробуйте "подвигаться" по трехмерной сцене с помощью описанных ниже команд навигации:

Чтобы

Выполните следующие действия

Переместить сцену 1.  Нажмите левую кнопку мыши в области 3D окна и держите ее нажатой.
2.  Передвиньте мышь в направлении перемещения.
Повернуть сцену 1.  Нажмите клавишу Alt и держите ее нажатой. 
2.  Нажмите левую кнопку мыши в области 3D окна и держите ее нажатой. 
3.  Передвиньте мышь в направлении вращения.
Приблизить/отдалить сцену 1.  Покрутите колесо мыши от/на себя в области 3D окна.

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

Выполните точную настройку начального расположения камеры

  1. Запустите модель.

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

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

Шаг 7. Рисование трехмерного изображения банкомата

Для начала давайте спрячем овал и ломаную, поскольку на нашей анимации они выглядят ненатурально. Обе эти фигуры используются в качестве фигур, в которых объекты queue и delay отображают находящиеся в них заявки. Поэтому эти фигуры должны остаться в модели. Но мы можем сделать их невидимыми в режиме работы модели.  

 Скройте вспомогательные фигуры с анимации

  1. Выделите в графическом редакторе овал.
  2. Перейдите на страницу Динамические панели Свойства и введите false в поле Видимость.
  3. Повторите то же самое для ломаной.

Теперь давайте нарисуем сам банкомат. 

 Добавьте на анимацию трехмерное изображение банкомата

  1. Вы можете не рисовать банкомат самостоятельно, а использовать готовое изображение банкомата. Просто перетащите элемент Банкомат из палитры 3D Объекты на диаграмму, справа от круга, задающего местоположение обслуживаемого клиента:
  1. Запустите модель - Вы увидите, что фигура банкомата будет повернута к клиентам торцом. Нам же нужно, чтобы она была повернута к ним таблом. Поверните фигуру в графическом редакторе в плоскости XY на 90 градусов по часовой стрелке. Для этого выделите фигуру щелчком и перетащите мышью появившийся чуть в стороне от фигуры небольшой круглый указатель, как показано на рисунке.
  1. Ну вот и все. Запустите модель - Вы увидите полноценную трехмерную анимацию Вашей модели, созданную за считанные минуты!


См. также

 3D анимация