Guest3d.wohlnet.ru некоммерческий проект, цель которого объединить профессионалов для обмена опытом и знаниями в области real-time рендеринга |
Опубликовано ovod в 07.07.2008 в 15: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