This page has been translated automatically.
Основы UNIGINE
1. Введение
2. Виртуальные миры и работа с ними
3. Подготовка 3D моделей
4. Материалы
5. Камеры и освещение
6. Реализация логики приложения
8. Подготовка проекта к релизу
9. Физика
10. Основы оптимизации
11. ПРОЕКТ2: Шутер от первого лица
12. ПРОЕКТ3: Аркадная гонка по пересеченной местности от 3-го лица
13. ПРОЕКТ4: VR приложение с простым взаимодействием
Внимание! Эта версия документация УСТАРЕЛА, поскольку относится к более ранней версии SDK! Пожалуйста, переключитесь на самую актуальную документацию для последней версии SDK.
Внимание! Эта версия документации описывает устаревшую версию SDK, которая больше не поддерживается! Пожалуйста, обновитесь до последней версии SDK.

Анимирование с Tracker

Objects in a three-dimensional world are designed to move. And making them move can be done not only with user input or AI implementation, it can be done with animation. Surely, if you've played games, you've noticed small clips between game episodes, in which movement in the frame is performed according to a certain scenario, like in a movie, or stunning camera fly-throughs displaying shining cars before a race start. To add such dynamic gameplay elements or create in-game cinematic cut-scenes, UNIGINE has the Tracker tool that allows creating animations based on keyframes. It gives developers the ability to:Объекты в трехмерном мире созданы, чтобы двигаться. И заставить их двигаться можно не только при помощи пользовательского ввода или реализации AI, это можно сделать при помощи анимации. Наверняка, если вы играли в игры, то замечали небольшие ролики между эпизодами игры, в которых движение в кадре выполнялось по определенному сценарию, как в фильме, или красивые пролеты камер, показывающие сверкающие машины перед гонкой. Для добавления таких динамических элементов игрового процесса или создания внутриигровых кинематографических кат-сцен в UNIGINE используется инструмент Tracker, который позволяет создавать анимацию по ключевым кадрам. Это дает разработчикам возможность:

  • Easily create key frames for all nodes in the world, as well as animate movements, camera parameters, and all available render settings.Легко создавать ключевые кадры для любых нод в сцене, а также анимировать движения и параметры камер, равно как и все имеющиеся настройки рендеринга.
  • Set up day-night shift and weather conditions change.Визуализировать процесс смены времени суток и изменения погодных условий.
  • Switch between the cameras, the field of view on the fly and play sounds for creating professional cinematics.Переключаться между камерами, изменять угол обзора в режиме реального времени и воспроизводить музыку и звуковые эффекты для создания профессиональных видеороликов.
  • Animate interactive objects in the game, for example, lighting a torch, opening a door, or moving a platform.Анимировать интерактивные объекты в игре, например, зажигание факела, открывание дверей и перемещение платформ.
  • Apply post-processing effects such as DOF, Motion blur, SSR, etc. All these effects can be fine-tuned for each camera view.Применять эффекты постобработки, такие как глубина резкости, размытие в движении, SSR и многие другие. Все эти эффекты можно настраивать для каждого вида камеры.
  • And much more.И многое другое.

Moreover, the Tracker interface supports saving and loading of the created tracks, custom loop ranges, key cloning and snapping, as well as playback speed control. The tool window includes the following elements: track settings, track list, timeline panel and graphical representation of parameter changes.Более того, интерфейс Tracker поддерживает сохранение и загрузку созданных треков, настраиваемых диапазонов циклов, клонирование и привязку ключей, а также управление скоростью воспроизведения. Окно инструмента включает в себя следующие элементы: настройки трека, список треков, панель таймлайна и графическое представление изменения параметра.

Key Frame AnimationАнимация по ключевым кадрам#

Tracker animations consist of a number of tracks and each track indicates how a parameter changes over the specified time. The track can control some render effect or can be bound to a specific node in the world. If you need to animate multiple parameters of one node at the same time, simply create multiple tracks for it. For example, you can use tracks to create animations that:Анимации Tracker состоят из нескольких треков, каждый из которых описывает, изменение того или иного параметра с течением времени. Трек может управлять каким-то эффектом или параметром рендеринга, или может быть привязан к конкретной ноде в сцене. Если у ноды нужно одновременно анимировать несколько параметров, для нее просто создается несколько треков. Например, с помощью треков вы можете создавать анимации, которые:

  • Move nodes, toggle skinned animation, control emission of particles, etc.Перемещают ноды, переключают skinned-анимацию, управляют генерацией частиц и т.д.
  • Change any material settings and modify parameters for various configurable effects. For example, you can change the texture and material reflectivity to create the rain effect.Изменяют любые настройки материала и параметры различных настраиваемых эффектов. Например, можно изменить текстуру и отражающую способность материала, чтобы создать эффект дождя.
  • Change rendering settings: change the background color, apply post-process effects, control stereo and much more.Изменяют настройки рендеринга: меняют цвет фона, применяют эффекты постобработки, управляют стерео и многое другое.
  • Set up cameras.Настраивают камеры.

Key FramesКлючевые кадры#

A track is composed of key frames, which are snapshots of the parameter value at a certain time during the animation. Each key frame stores a time and the parameter change (new parameter value or enabled/disabled state). For example, for a node position track, a key frame specifies a new node position along one of the axes; for a node enable track, a key frame indicates whether node rendering is enabled or disabled.Трек состоит из ключевых кадров, представляющих собой зафиксированные в определенный момент анимации значения параметра. В каждом ключевом кадре хранится время и изменение параметра (новое значение параметра или состояние включено/выключено). Например, для трека изменения положения ноды ключевой кадр задает новую позицию ноды по одной из осей; для трека включения ноды ключ указывает, включен рендеринг ноды или отключен.

This key frame parameter value is set for the interval between the current key frame and the next key frame. Depending on the transition mode, the key frame values can be switched abruptly or smoothly interpolated:Это значение параметра, установленное в ключевом кадре, устанавливается для интервала между текущим ключевым кадром и следующим. В зависимости от режима перехода значения ключевых кадров могут переключаться резко или плавно интерполироваться:

  • Linear interpolation can be used, for example, for a node scaling track.Линейную интерполяцию можно использовать, например, для трека масштабирования нод.
  • Bezier interpolation will provide a smooth curve for a node position track.Интерполяция Безье обеспечит плавную кривую для трека положения ноды.

In the Tracker panel you can switch transition modes and set keyframe parameters (time and value).В панели Tracker можно переключать режимы перехода и устанавливать параметры ключевого кадра (момент времени и значение).

Constant mode (no transition). Key frame value remains constant up to the next key frame, where it abruptly changes.Constant mode (no transition). Key frame value remains constant up to the next key frame, where it abruptly changes.

Constant mode (no transition). Key frame value remains constant up to the next key frame, where it abruptly changes.

Constant mode (no transition). Key frame value remains constant up to the next key frame, where it abruptly changes.Постоянный режим (без перехода). Значение ключевого кадра остается постоянным до следующего ключевого кадра, где оно резко меняется.

Linear interpolation. Key frame value is linearly interpolated between neighboring key frames.Linear interpolation. Key frame value is linearly interpolated between neighboring key frames.

Linear interpolation. Key frame value is linearly interpolated between neighboring key frames.

Linear interpolation. Key frame value is linearly interpolated between neighboring key frames.Линейная интерполяция. Значение ключевого кадра линейно интерполируется между соседними ключевыми кадрами.

Smooth interpolation by Bezier spline. There are two control points available for each keyframe.Smooth interpolation by Bezier spline. There are two control points available for each keyframe.

Smooth interpolation by Bezier spline. There are two control points available for each keyframe.

Smooth interpolation by Bezier spline. There are two control points available for each keyframe.Плавная интерполяция сплайном Безье. Для каждого ключевого кадра доступны две контрольные точки.

Interpolation by Bezier triangle. The sharp transition between key frame values can be created. There are two control points available for each keyframe.Interpolation by Bezier triangle. The sharp transition between key frame values can be created. There are two control points available for each keyframe.

Interpolation by Bezier triangle. The sharp transition between key frame values can be created. There are two control points available for each keyframe.

Interpolation by Bezier triangle. The sharp transition between key frame values can be created. There are two control points available for each keyframe.Интерполяция треугольником Безье. Можно создать резкий переход между значениями ключевых кадров. Для каждого ключевого кадра доступны две контрольные точки.

Automatic interpolation by Bezier spline. No control points are available as the curve is smoothed automatically.Automatic interpolation by Bezier spline. No control points are available as the curve is smoothed automatically.

Automatic interpolation by Bezier spline. No control points are available as the curve is smoothed automatically.

Automatic interpolation by Bezier spline. No control points are available as the curve is smoothed automatically.Автоматическая интерполяция сплайном Безье. Контрольные точки недоступны, так как кривая сглаживается автоматически.

Remove selected key frames.Удалить выбранные ключевые кадры.
Snapping mode for key frames. When a key frame is dragged along the track line, this mode pulls a keyframe into alignment with other key frames (on the same or other tracks). It can also be enabled by holding ALT.Режим привязки ключевых кадров. Когда ключевой кадр перетаскивается вдоль линии трека, в этом режиме ключевой кадр выравнивается с другими ключевыми кадрами (на той же или других треках). Его также можно включить, удерживая ALT.

PracticeПрактика#

Now let's try to create a track for animating the camera movement (so called fly-through) in our interior scene, for this purpose let's open the scene in the editor.А теперь давайте попробуем создать трек для анимации движения камеры (пролета, как еще говорят) в нашей интерьерной сцене, для этого откроем ее в редакторе.

To open the Tracker tool, choose Tools → Tracker from the main menu.Чтобы открыть инструмент Tracker, выберите в главном меню Tools → Tracker.

To create a track with key frames to animate a parameter (rendering setting, node or material parameter, etc.):Чтобы создать трек с ключевыми кадрами для анимации параметра (настройка рендеринга, параметр ноды или материала и т.д.):

  1. Add a track that will animate the movement of our camera: Click . This will open the Add Parameter window.Чтобы добавить трек, который будет анимировать движение нашей камеры Нажмите . После чего откроется окно Add Parameter.
  2. Select a parameter from the list, in our case it will be node → position.Select a parameter from the list, in our case it will be node → position.

    Select a parameter from the list, in our case it will be node → position.

    Select a parameter from the list, in our case it will be node → position.Выберите параметр в списке, у нас это будет node → position.

  3. Since the track animates the movement of the camera (Player) node, you must bind it to a specific node in the Select Node window that opens. Select the camera node and click Ok.Since the track animates the movement of the camera (Player) node, you must bind it to a specific node in the Select Node window that opens. Select the camera node and click Ok.

    Since the track animates the movement of the camera (Player) node, you must bind it to a specific node in the Select Node window that opens. Select the camera node and click Ok.

    Since the track animates the movement of the camera (Player) node, you must bind it to a specific node in the Select Node window that opens. Select the camera node and click Ok.Поскольку трек анимирует движение ноды camera (Player), то в открывшемся окне Select Node нужно привязать его к конкретной ноде. Выберите ноду camera и нажмите Ok.

  4. The track is added, now let's do the same for the node → rotation parameter (we will change the camera rotation as well).Трек добавлен, теперь то же самое сделаем для параметра node → rotation (будем менять еще и поворот нашей камеры).
  5. Now let's set the duration of our clip, click on the panel at the bottom to open the settings.Now let's set the duration of our clip, click on the panel at the bottom to open the settings.

    Now let's set the duration of our clip, click on the panel at the bottom to open the settings.

    Now let's set the duration of our clip, click on the panel at the bottom to open the settings.Теперь зададим длительность нашего ролика, щелкните на панели внизу, чтобы открыть настройки.

  6. In this window we will specify the beginning (0) and the end (12) of our clip – it will last 12 seconds. By the way, the third parameter (Unit Time) is used as a scaling multiplier, using it alone you can make the clip play faster or slower.В этом окне укажем начало (0) и конец (12) нашего ролика – он будет длиться 12 секунд. Кстати, третий параметр (Unit Time) используется как масштабирующий множитель, с помощью него одного можно сделать воспроизведение ролика быстрее или медленнее.

Now everything is ready to start working with key frames directly. You can set time and parameter values manually in the Time and Value fields in the panel — by double-clicking to add a key frame and using the buttons on the timeline, but we'll make it easier. By default in the Editor, the display is automatically bound to the Tracker (i.e. if you move the current time slider on the timeline, the corresponding node or parameter will change according to the track). In this case, the node the position of which is controlled by the track can't be moved anywhere (it will always return to the track point). So first of all, let's disable binding to the track by clicking the E icons next to the camera.rotation and camera.position tracks.Теперь все готово, чтобы начинать непосредственно работу с ключевыми кадрами. Можно устанавливать значения времени и параметра вручную в поля Time и Value на панели, по двойному щелчку добавляя ключевой кадр и пользуясь кнопками на таймлайне, но мы сделаем проще. По умолчанию в Редакторе автоматически устанавливается привязка отображения к Tracker (т.е. если перемещать ползунок текущего времени на таймлайне, то соответствующая нода или параметр будет изменяться в соответствии с треком). В этом случае вы просто не сможете никуда переместить ноду, положение которой управляется треком (она будет все время возвращаться в точку трека). Поэтому для начала отключим привязку к треку, щелкните значки E рядом с треками camera.rotation и camera.position.

Then do the following:Далее выполните следующие действия:

  1. Switch to the camera view in the viewport and, controlling the camera, set it to the first position and rotate it as you want. Then move the timeline slider to the point in time when you want the camera to occupy the set position (say 0.5 seconds from the start).Switch to the camera view in the viewport and, controlling the camera, set it to the first position and rotate it as you want. Then move the timeline slider to the point in time when you want the camera to occupy the set position (say 0.5 seconds from the start).

    Switch to the camera view in the viewport and, controlling the camera, set it to the first position and rotate it as you want. Then move the timeline slider to the point in time when you want the camera to occupy the set position (say 0.5 seconds from the start).

    Switch to the camera view in the viewport and, controlling the camera, set it to the first position and rotate it as you want. Then move the timeline slider to the point in time when you want the camera to occupy the set position (say 0.5 seconds from the start).Переключитесь во вьюпорте на вид камеры camera и, управляя камерой, установите ее в первое положение и поверните, как захотите. Затем переместите ползунок таймлайна на момент времени, когда хотите, чтобы камера занимала выбранное положение (допустим 0.5 секунды от начала).

  2. Now that the position and rotation for the first frame are set, select the camera.position track by clicking on its title and click the button. Tracker will automatically create a key frame for the moment specified on the timeline and record the current camera position in it. Now select the track for camera rotation (camera.rotation) and click the button again to also record the current rotation for the same point in time. The first keypoint is ready! You just need to make a smooth transition.Теперь, когда положение и поворот для первого кадра выставлены, выделите трек camera.position, щелкнув по его заголовку и нажмите кнопку . Tracker автоматически создаст ключевой кадр для момента, указанного на таймлайне и запишет в него текущее положение камеры. Теперь выберите трек для поворота камеры (camera.rotation) и снова нажмите кнопку , чтобы также записать текущий поворот для этого же момента времени. Вот – первая ключевая точка готова! Нужно только сделать плавный переход.
  3. To make a smooth transition, select all points of the key frame and click the button on the top panel of Tracker.Чтобы сделать плавный переход, выделите все точки ключевого кадра и нажмите кнопку на верхней панели Tracker.
  4. Repeat the same for other points by moving and rotating the camera, sliding the current moment slider on the timeline and pressing the button for each track.Повторите алгоритм для остальных точек, последовательно перемещая и поворачивая камеру, сдвигая ползунок текущего момента на таймлайне и нажимая кнопку для каждого из треков.
  5. When all points are placed, you can play the track using the buttons on the panel below (once or repeatedly).When all points are placed, you can play the track using the buttons on the panel below (once or repeatedly).

    When all points are placed, you can play the track using the buttons on the panel below (once or repeatedly).

    When all points are placed, you can play the track using the buttons on the panel below (once or repeatedly).Когда все точки расставлены, можно включить проигрывание трека на панели внизу (однократно или циклически).

During playback, you can switch to the Editor Camera view in the viewport and see how the camera node moves along the trajectory. Here you can also move the manipulators placed at key points to change the trajectory in real time.Во время воспроизведения можно переключиться во вьюпорте на вид от камеры Редактора (Editor Camera) и посмотреть, как перемещается по траектории наша камера camera. Здесь же можно перемещать манипуляторы, расставленные по ключевым точкам, меняя траекторию в режиме реального времени.

The last thing left to do is to save our track, so that it can be used further (for example, to play the fly-through from code, as in cutscenes).Последнее, что осталось сделать – это сохранить наш трек, чтобы его можно было использовать дальше (например проигрывать пролет из кода, как в катсценах).

To save the track to a *.track file, click Save and in the dialog box that opens, specify the name of the track file — let's call it camera_animation.track and save it to the data/tracks folder.Чтобы сохранить трек в файл *.track, нажмите Save и в открывшемся диалоговом окне укажите имя файла трека, назовем его camera_animation.track и сохраним в папку data/tracks.

If there are several tracks in the current list (as we have for rotation and movement), they will all be saved to a single *.track file.Если в текущем списке несколько треков (как у нас для поворота и перемещения), то все они будут сохранены в один файл *.track.

To load a previously saved track, click Load and select the track file in the dialog box that opens.Чтобы загрузить ранее сохраненный трек, нажмите Load и выберите файл трека в открывшемся диалоговом окне.

You can also use Tracker to mix several animations stored in different files into one and make complex video scenes.При помощи Tracker также можно смешивать несколько анимаций, хранящихся в разных файлах в одну и делать сколь угодно сложные видеосцены.

Последнее обновление: 04.04.2024
Build: ()