Cinema 4D Cinema 4D Visualize, Broadcast, Studio Advanced Render Физическое небо Облако
Функция доступна в CINEMA 4D Visualize, Studio
Облако

Общие Координаты Объект

Координаты

П [XYZ m]

Здесь вы найдёте позицию объекта по отношению к мировой системе координат или системы, расположенной выше по иерархии, если ваш объект расположен в такой иерархии (смотрите раздел Менеджер координат).

М [XYZ ]

Здесь вы найдёте масштаб объекта по отношению к мировой системе координат или системы расположенной выше по иерархии, если ваш объект расположен в такой иерархии (смотрите раздел Менеджер координат).

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

В [HPB °]

Здесь вы найдёте угол объекта по отношению к мировой системе координат или системы расположенной выше по иерархии, если ваш объект расположен в такой иерархии (смотрите раздел Менеджер координат).

Система

Это меню выбора является интересным, прежде всего для аниматоров среди вас. Оно поможем вам максимально понизить негативный эффект, возникающий при вращении.

Обратите внимание на предоставленное ниже изображение и актуальную проблематику этой темы:

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

Естественно возникает вопрос, а каким образом мы можем использовать параметр Система для максимального снижения при создании такого рода эффектов? Для этого вам необходимо ДО процесса анимации посмотреть на оси суставов и определить, вокруг какой из осей суставов происходит минимальное вращение при создании анимации. В нашем случае, это ось Х имеющая маркировку и расположенная слева. Для параметра Система вы производите сейчас выбор одного из режимов, для которого ось Х расположена на второй позиции. При создании повторной анимации, вы получите движение по аналогии с изображением, расположенным справа внизу. Минимальное движение эффекта мы можем при этом ещё различить, но конечный результат выглядит значительно лучше по сравнению с начальным.

Дополнительное и вспомогательное средство при назначении последовательности, предоставляет для нас установка Вращение бандажа. Установите эту установку активной и используйте инструмент Функция вращения:

Слева параметр Система с режимом HPB, справа с режимом XYZ.

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

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

Ещё несколько замечаний для проблематики негативного эффекта, возникающего при вращении объектов (и их анимации).

Риск создания этого эффекта возникает в том случае, если вы в зависимости от параметра Система производите изменение среднего значения В.Р на участке 90° (и соответственно 270°):

Оптимальное значение этого параметра должно всегда составлять или находиться в пределах, незначительно удалённых от него.

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

 Кватернион

Вращение кватерниона

На заметку:
До Cinema 4D R18 был лишь тег Кватернион (его можно встретить лишь при загрузке старых сцен и уже не возможно создать новый), функции которого теперь внедрены в программу в качестве свойств объекта.

Общие сведения

Вы, наверное, уже слышали выражение «Складывание рамок», например, когда речь шла об анимации персонажей или, что ещё хуже, вы уже сами столкнулись с этим эффектом!

Складывание рамок возникает, если значение величины угла P = +/- 90°, так как в этом случае Крен и Тангаж, то есть H и B имеют одинаковое воздействие. В результате, одно из направлений теряется и даже при невысоких значениях вращения возникают большие скачки угловых значений величин.

Функционал Кватерниона, который влияет исключительно на анимацию вращения, предлагает помощь!

Обычно Cinema 4D использует «Угол Эйлера» для проведения расчёта вращения объектов в 3D пространстве.

Составляющие компоненты угла Эйлера рассчитываются при этом независимо друг от друга, например среднее значение из HPB (0,0,0) и HPB (60,60,60) было бы HPB (30,30,30).

То, что панорамирование от 0,0,0 через 30,30,30 и до 60,60,60 не является кротчайшим расстоянием, можно проверить самому в окне редактора.

В данном случае искомой величиной является вычисление, которое предоставляет наиболее короткий путь от A до B, и это именно то, что пользователь начал бы делать в данном случае вручную.

Именно эти условия и выполняет тег Кватернион. Например, тег Кватернион проходит от 0,0,0 до 60,60,60 через 35.104 °,22.83 °,35.104 °!

Посредством этого тег Кватернион не создаёт дополнительного размаха, то есть: позволяет избежать складывания рамок.

Естественно у вас возникает вопрос, почему же не присвоить ВСЕМ объектам анимацию основанную на кватернионе. Всё легко и просто — там, где преимущества, там иногда скрываются и недостатки — и именно так выглядит при этом с интерполяцией тега Кватернион. До тех пор пока изменения вращения находятся в диапазоне до 180°, тег Кватернион будет прекрасно работать, но кроме этого у вас возникнут однозначно проблемы, так как уже было упомянуто ранее, тег Кватернион ищет всегда кротчайший путь.

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

Пример

Давайте рассмотрим следующий пример:


  1. Объект должен быть повёрнут вокруг оси больше чем на 180°.
  2. Для этого вы установили бы один ключевой кадр для начального положения, затем переместили бы бегунок шкалы анимации до той точки, где вращение должно прекратиться, после этого взять объект по испытанному методу, установить соответствующее вращение и следующий ключевой кадр.
    Как уже было сказано ранее, это не играет роли, применили ли вы функцию Кватернион или нет, для обоих состояний — начального и конечного ничего не изменяется. Оба вида интерполяции при этом применяют различные способы для достижения цели.
  3. Рассмотрим сначала старую методику программы Cinema 4D, вращение посредством угла Эйлера:
    Вы повернули объект используя ключевые кадры (например, B, от Bank, крён) на 220°, то есть наш объект поворачивается с точки зрения камеры на 220° по часовой стрелке.
  4. Ну а теперь по отношению к тегу Кватернион. Как ранее было сказано, этот метод интерполяции выбирает всегда кротчайший путь к цели! Короткий путь в данном случае, не вращение (с точки зрения смотрящего) по часовой стрелке на 220°, а наоборот абсолютно противоположное направление на 140°.

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

Обратите внимание, что интерполяция кватерниона влияет лишь на локальные треки вращения и не влияет на существующие фиксированные координаты (смотрите также Зафиксировать всё).

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

Существуют следующие отличия к анимации Эйлера:

Когда нужно применять анимацию кватерниона и когда нет?

Примените анимацию кватерниона:

НЕ применяйте анимацию кватерниона :

 Фиксация трансформации

Зафиксировать всё

Прежде всего, вам понадобится эта функция, в основном, для анимации.

В трёхмерном мире процесс фиксации или так называемого «обнуления» (иногда это также называется «двойная трансформация» или на английском «Zero out»). Это вполне понятно, так как локальные координаты объекта (позиция, масштаб, вращение) будут установлены на 0 (позиция и вращение) или 1 (масштаб). Впоследствии мы обсудим с вами только позицию и вращение. При этом позиция объекта или его положение в пространстве не изменяются.

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

Процесс фиксации вы можете себе представить следующим образом: внутренним алгоритмом программы и невидимо для вас будет добавлен Ноль объект, имеющий локальные координаты актуального объекта. Эти координаты будут копированы впоследствии в группу «Фиксация трансформации» и будут производить воздействие своеобразного смещения для нулевых координат. Кроме этого, всё что изменяется в основных координатах, будет совместно просчитано со значениями фиксированных координат.

Естественный вопрос, а для чего это нужно? Начнём с этого примера:

В этой сцене существуют два объекта: «Рука 2» является подобъектом объекта «Рука 1» и имеет показанные локальные координаты. Отображённые в окне Менеджера атрибутов координаты всегда являются локальными (относятся к системе координат расположенного выше по иерархии объекта).

Теперь вы намерены анимировать объект «Рука 2». Он должен вращаться вокруг своей оси Х на 45°. Обычно вы вращаете, объект за его бандаж вращения и производите создаёте ключи в различных кадрах:

Что при этом произойдёт, вы видите на среднем изображении: несмотря на создание вращения только вокруг одной оси, изменяются при этом все три компонента угла. Это происходит из-за того, что расположенная выше по иерархии система координат («Рука 1») повёрнута по отношению к локальной системе осей. Это неудобно, но часто мы просто не можем избежать этого. Имеющиеся в таймлайне три F-кривые также не облегчают ситуацию. К этому добавляется побочный эффект анимации (см. Вращение кватерниона), который приводит к непрямому вращению руки.

Все эти недостатки просто исчезнут, если до процесса анимации вы произведёте фиксацию координат. Посредством этого значения позиции, вращения и размера будут копированы в соответствующие и расположенные ниже поля, имеющие аналогичные названия. Начальные значения в данном случае устанавливаются на 0 и 1 соответственно.

От этого появляются следующие преимущества:

При использовании функции Зафиксировать всё вы производите фиксацию всех без исключения координат (позиция, масштаб, вращение), и кроме этого, все основные координаты будут установлены на 0.

На заметку:
Имеется отдельная команда (главное меню > Инструменты > Координаты > Зафиксировать координаты), которая выполняет аналогичный процесс для всех выделенных объектов.

Снять фиксацию для всех

Основные координаты при этом будут совместно просчитаны с фиксированными координатами. После этого все фиксированные координаты будут установлены на 0.

На заметку:
Имеется отдельная команда (Основное меню: Инструменты / Координаты / Расфиксировать координаты), котрая выполняет аналогичный процесс для всех выделенных объектов.

П [XYZ m]
М [XYZ ]
В [HPB °]

Это зафиксированные координаты, которые перенимаються при фиксации вышестоящей иерархии.

На заметку:
Значения фиксированных координат Вы можете также найти в XPresso, в меню входных и выходных портов, «Координаты / Фиксация трансформации». После фиксации этих координат, они могут быть изменены в любое время. При этом основные координаты сохранят значение 0.

Фиксировать П
Фиксировать М
Фиксировать В

Эти кнопки позволят Вам зафиксировать одну из этих трёх основных координат:

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