Guest3d.wohlnet.ru
некоммерческий проект, цель которого объединить профессионалов для обмена опытом и знаниями в области real-time рендеринга
guest3d
2.02: Виртуальная студия: Анимация

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

Графики (Envelopes)
В Quest3D, анимация обычно означает изменение значений в течение времени. Обычный канал Value может хранить только одно значение. Для хранения данных анимации используется канал Envelope.

Интерфейс канала Envelope выглядит как математический график. Работает он в той же манере. Горизонтальная ось представляет вход (обычно время), который может быть введен в Envelope с помощью подключения канала (Timer) Value к его дочернему входу. Вертикальная ось представляет выход. С помощью пар (X, Y) и интерполяции, любое входное значение может быть переведено в выходное.

Таймеры (Timers)
Каналы Timer Value и Timer Command позволяют с легкостью управлять анимацией. Примеры Timer Command - ‘Play’, ‘Stop’, ‘Rewind’ и ‘Play & Loop’. На изображении ниже, канал Timer Value привязан ко входу канала Envelope. Timer может быть воспроизведен с помощью канала Timer Command, показанного на том же изображении.

Timer может быть назван в окне настроек его канала. Вы можете создать так много таймеров в сцене, сколько вам нужно.

Каналы Timer Value автоматически настраиваются под скорость компьютера. В Quest3D, 25 кадров эквивалентно ровно 1 секунде.

Раздел Анимации (Animation Section) в Quest3D – место, где располагаются и анимируются все объекты.

Вывод Раздела Анимации (Animation Section):

1 Меню приложения Содержит стандартные функции, такие, как управление файлами, конфигурация и справка.
2 Панель инструментов Иконки для управления файлами, вид графа каналов и вид камеры.
3 Кнопки выбора разделов Кнопки для быстрого перехода между Разделами.
4 Кнопки Run / Run/Edit / Edit Управляют способом обработки ввода пользователя.
5 Закладка ‘Object' Отображает список всех объектов .
6 Закладка ‘Camera' Отображает список и настройки всех камер.
7 Закладка ‘Light' Отображает список и настройки всех источников освещения.
8 Панель фильтрации поиска Фильтрует объекты в списке .
9 Список Объектов Список всех объектов проекта.
10 Кнопки контроля над перемещением Перемещение, вращение и масштабирование объекта.
11 Поля ввода значений трансформации Поля значений для позиции, ориентации и размера.
12 Панель конфигурации Элементы управления, такие, как мировое масштабирование.
13 Окно Вида 3 D Анимации Отображает 3D сцену .
14 Панель Слайдера Времени Создание ключей и воспроизведение анимации в пределах Таймера.
15 Панель отчета Отладка и сообщения об ошибках.

Панель Слайдера Времени (Time Slider Bar) позволяет вам вставлять анимационные ключи и воспроизводить анимацию.

1 Начальный кадр
2 Текущий кадр
3 Конечный кадр
4 Список таймеров
5 Предыдущий ключ
6 Запись
7 Воспроизведение (и цикл)
8 Следующий ключ
9 Кнопка удаления ключа
10 Кнопка вставки ключа
11 Управление графиком

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

Урок
Этот урок описывает анимацию в Quest3D, основанную на времени. После его завершения вы должны получить понимание Графиков (Envelopes), Таймеров (Timers) и Команд Времени (Timer Commands).

Необходимая сцена Quest3D:
..\Tutorials\2.2 – Animation\Animation.cgr
Необходимые шаблоны:
Animation \ Timer Value (x2)
Animation \ Timer Commands \ Play & Loop
Animation \ Timer Commands \ Stop
Шаг за шагом:

  • Откройте сцену ‘Animation.cgr’. Она содержит простую сцену и две сферы.
  • Перетяните канал Timer Value в Граф Каналов (Channel Graph). Подсоедините его к каналу ‘Red Sphere Timer Value’.
  • Перейдите в Раздел Анимации (Animation Section), нажав на кнопку.
  • Нажмите на кнопку Play. Обратите внимание, что красная сфера теперь перемещается. Анимация зациклена. Нажмите кнопку Stop. Обратите внимание, что анимация замерла в текущем кадре.
  • Перейдите в Раздел Каналов (Channels Section).
  • Перетяните еще один канал Timer Value в Граф Каналов (Channel Graph). Подсоедините его ко всем 9 каналам Envelope перемещения (motion) объекта ‘Blue Sphere’.

  • Дважды щелкните на канале Timer Value, чтобы открыть окно настроек. Из выпадающего списка выберите ‘New..’. Во всплывающем окне введите имя ‘Blue Sphere’ и нажмите OK.
  • Перейдите в Раздел Анимации (Animation Section).
  • Нажмите на объект ‘Blue Sphere’ в списке в левой части экрана, чтобы выбрать его.
  • Панель Слайдера Времени (Time Slider Bar) на данный момент отображает стандартный таймер ‘Default’. Из списка таймеров Timer List, выберите ‘Blue Sphere’.
  • Нажмите кнопку Play. Обратите внимание, что синяя сфера теперь перемещается, а красная – напротив, не движется (так как она анимирована с помощью другого таймера, в данном случае, ‘Default’).
  • Нажмите кнопку Stop.
  • В боксе ‘End Frame’, смените значение на ‘250’. Обратите внимание на то, что панель слайдера времени растянулась, чтобы отобразить все кадры от ‘0’ до ‘250’.
  • Перетяните слайдер времени на ‘150’, и нажмите кнопку ‘Insert keyframe’ . Подтвердите всплывающее окно, нажав ‘OK’. Обратите внимание, что ключ анимации был добавлен на Панель.
  • Переместите синюю сферу, изменив одно или более координатных значений в символьных полях Transform. Они находятся в нижнем левом углу экрана, под кнопкой ‘Move’.

  • Убедитесь, что Gizmo включен, нажав кнопку в левом нижнем углу экрана.
  • Переместите синюю сферу, потянув за одну из осей Gizmo.

  • Переместите слайдер времени на кадр ‘0’ и нажмите кнопку ‘Insert keyframe’. Во всплывающем окне введите ‘250’, подтвердите, нажав ‘OK’. Текущее расположение объекта (позиция, ориентация, масштаб) в кадре ‘0’ скопированы в кадр ‘250’. Теперь анимация зациклена правильно.
  • Нажмите ‘Play’, чтобы проверить новую, более длинную анимацию, созданную вами. Когда закончите, нажмите ‘Stop’.
  • При необходимости внесите коррективы, которые считаете нужным.
  • Перейдите в Раздел Каналов (Channels Section).
  • Найдите канал ‘Env X’ channel, который является частью вектора позиции объекта ‘Blue Sphere’. Дважды щелкните на канал ‘Env X’, чтобы открыть окно настроек.
  • Нажмите на один из ключей анимации, чтобы выбрать его, и перетяните его вверх или вниз, чтобы изменить его значение.
  • Перетяните ключи анимации влево и вправо с помощью правой клавиши мыши. Это изменит позицию ключей по горизонтальной оси (время).
  • В боксе ‘Vert. Value (out)’ введите значение для экстренной точности.
  • Нажмите ‘OK’, чтобы подтвердить ваши изменения и закройте окно редактора графика Envelope.
  • Перейдите в Раздел Анимации (Animation Section).
  • Нажмите ‘Play’, чтобы проследить изменения в анимации. Когда будете готовы, нажмите ‘Stop’.
  • Перейдите в Раздел Каналов (Channels Section).
  • Перетащите шаблон Play & Loop в Граф Каналов (Channel Graph). Подсоедините его к каналу ‘Play Animation’..
  • Дважды щелкните по каналу ‘Play & Loop’, чтобы открыть окно его свойств. Выберите ‘Blue Sphere’ и нажмите ‘OK’ для подтверждения.
  • Перетяните шаблон Stop в Граф Каналов (Channel Graph). Присоедините его к каналу ‘Stop Animation’.
  • Дважды щелкните по каналу ‘Stop’, чтобы открыть окно его свойств. Выберите ‘Blue Sphere’ и нажмите ‘OK’.
  • Перейдите в Раздел Анимации (Animation Section).
  • Переключитесь в Режим Запуска (Run Mode), нажав на кнопку.
  • Нажмите пробел. Анимация начнет проигрываться и будет цикличной.
  • Нажмите клавишу escape. Анимация будет остановлена.

Законченная сцена:
..\Tutorials\2.2 – Animation\Animation – Complete.cgr

Если у вас есть материалы, или вы хотите дополнить существующие, если вы хотите писать новости относящиеся к технологиям реалтайм рендеринга, или имеете полезные файлы, вы можете стать резидентом guest3d.wohlnet.ru. Для этого нужно написать письмо в свободной форме на den@wohlnet.ru, с указанием вашей мотивации. Кроме того, каждый резидент получает возможность создать свою страницу, ссылка на которую будет прикреплена к каждому опубликованному вами материалу.
вход