Adobe Premiere ▼
Maxon Cinema 4D ▼
DAZ Studio ▼
Поиск

Сажаем самолёт на взлётно-посадочную полосу

Урок добавлен 23.04.2023

К этому уроку прилагается 3D-сцена

В данном уроке мы с вами попробуем — грубо, в эскизном варианте — смоделировать нечто вроде посадки самолёта на взлётно-посадочную полосу. Исходные данные таковы: в нашем распоряжении уже имеется всё необходимое — макет местности с нарисованной на нём взлётно-посадочной полосой, макет самолёта, — нам же с вами необходимо лишь заставить всё это двигаться в нужной последовательности. Чтобы ещё больше упростить задачу, мы с вами будем исходить из того, что самолёт уже вышел на финишную прямую перед посадкой, и ему осталось только приземлиться. Задача усложняется лишь тем, что у нашего самолёта есть шасси, которое ему необходимо выпустить перед посадкой.

В нашем распоряжении уже есть макет местности и самолёта

Представим себе в общих чертах, из каких фаз у нас будет состоять посадка самолёта. По всей вероятности, приблизительно так:

— в первой фазе самолёт находится в воздухе;

— во второй фазе самолёт начинает снижение;

— в третьей фазе самолёт выпускает шасси;

— в четвёртой фазе самолёт касается своим шасси поверхности взлётно-посадочной полосы;

— в пятой и последней фазе самолёт неподвижно стоит на полностью выпущенном шасси в конце взлётно-посадочной полосы.

Для начала обозначим в сцене начальную и конечную позиции самолёта. Для этого перейдём в режим «Standart» (режим «Animation» нам понадобится позже для тонкой настройки), затем перейдём в начало анимации (или убедимся, что находимся в её начале).

Перейдём в режим «Standart» и убедимся, что мы в начале анимации

Теперь нам надо сохранить позицию самолёта. Ищем его наименование в менеджере объектов и выделяем его. Ниже, в окне свойств, появляются свойства выделенного нами объекта. Выбираем вкладку «Coord» («Координаты»). Далее ищем в панели анимации (это та, что под шкалой кадров анимации) маленький кружочек с изображением ключика, нажимаем его и видим, что рядом рядом с цифрами во вкладке координат самолёта появились красные кружочки. Это означает, что все координаты самолёта, а также коэффициенты масштаба и углы ориентации записаны. Записаны, разумеется, только для одного кадра — для самого первого.

Сохраняем первоначальное положение самолёта

Если сейчас запустить анимацию, то мы с вами обнаружим, что самолёт неподвижен. Это неудивительно: ведь мы с вами сохранили его позицию для первого кадра, и все остальные кадры, не имеющие иной информации о положении самолёта, попросту унаследовали его первоначальное положение. Продолжим: укажем самолёту его финальную позицию. Для этого сместим анимационный бегунок в самый конец анимации и передвинем самолёт в самый конец взлётно-посадочной полосы. Причём лучше всего передвинуть его параметрически — то есть не подцепить курсором мыши и передвинуть, а указать в поле по оси X число, отличное от начального: это позволит нам избежать случайного смещения самолёта по другим осям.

Меняем финальное положение самолёта

Сместив анимационный бегунок в конец сцены, мы с вами могли обратить внимание на то, что красные кружки рядом с параметрами стали полыми — это означает, что отмеченные красными кружками параметры имеют сохранённые значения, но не в выбранном нами кадре. А изменив значение X-координаты самолёта, мы с вами заметим, что кружок рядом с ним приобрёл оранжевый цвет: так обозначаются в Cinema 4D параметры, значение которых изменено по сравнению с сохранёнными для других кадров, но ещё не сохранено для текущего кадра. Другими словами, если сейчас прервать операцию по подбору финального положения самолёта и куда-нибудь передвинуть анимационный бегунок, то подобранное нами новое значение параметра X-координаты будет утеряно, а самолёт окажется в том же месте, в каком был в начале сцены (и останется в нём же в конце сцены). Чтобы этого не случилось, сохраняем новое значение параметра X-координаты самолёта. В принципе, мы могли бы снова нажать на кнопочку с изображением ключика в анимационной панели, но эта кнопочка сохраняет сразу все видимые во вкладке координат значения параметров, нам это не надо, и мы сохраним значение параметра иначе, индивидуально: наведём курсор мыши на символ X рядом с полем значения, щёлкнем правой клавишей мыши, в выпавшем из курсора меню выберем «Animation» и в следующем выпадающем меню выберем «Add Keyframe» («Добавить ключ»).

Сохраняем финальное значение X-координаты самолёта

Нетрудно заметить, что после сохранения финального значения X-координаты между начальной и конечной позицией самолёта появилась тонкая линия — это созданная компьютером траектория полёта. Пора скорректировать её по высоте. Перемещая анимационный бегунок, подберём кадр, в котором самолёт находится в начале взлётно-посадочной полосы — этот момент будет соответствовать фазе, в которой шасси самолёта касается поверхности полосы. Однако для того, чтобы правильно подобрать высоту самолёта в момент касания полосы колёсами шасси, нам с вами необходимо выпустить шасси. Ищем стойки шасси в менеджере объектов. Однако прежде чем мы «выпустим» шасси, нам следует запомнить их первоначальное положение. Какой кадр выбрать в качестве начального? Первый кадр анимации нам не подходит: ведь если сохранить положение стоек в первом кадре, то в каждом следующем кадре Cinema 4D начнёт рассчитывать интерполяцию между положением сложенных стоек в первом кадре и выпущенных в следующем ключевом кадре, а значит, стойки шасси начнут движение в первом же кадре анимации. Поэтому примерно прикинем, в каком кадре стойки начнут движение, перемещаемся в этот кадр, по очереди выделяем каждую из двух стоек и и во вкладке «Coord» появившегося ниже окна свойств сохраняем ключи для значений параметров, обозначенных символом «P».

Сохраняем первоначальные значения углов поворота шасси самолёта

Убеждаемся, что шасси сложено

Теперь «выпустим» шасси, но уже в кадре, где самолёт находится в начале полосы. Перемещая анимационный бегунок, ищем подходящий кадр и указываем углы поворота стоек, соответствующие выпущенному шасси. Убедившись, что стойки полностью выпущены, приступаем к подбору высоты самолёта в момент касания полосы. При этом для пущего правдоподобия учитываем, что колёса шасси касаются полосы не в тот же момент, когда стойки только что заняли своё «посадочное» положение, а чуть позже. В реальной жизни, естественно, временной интервал между этими двумя событиями значительно больше — пилоту следует убедиться, что в процессе выпуска шасси не возникло никаких технических неполадок, — но мы с вами не станем заострять на этом внимание зрителя.

Шасси выпущено в посадочное положение

Кстати, вы, должно быть, уже заметили, что речь идёт об анимации двух стоек шасси, тогда как в кадре их четыре — две сзади и две спереди, симметрично расположенные относительно фюзеляжа самолёта. Именно в слове «симметрично» и кроется разгадка: какой смысл анимировать четыре стойки, если можно анимировать всего две? Обе являются подобъектами объектов типа «Symmetry» («симметрия»), и любая трансформация стоек приводит к зеркальной трансформации их клонов с другой стороны фюзеляжа.

Напоследок проверим с вами ещё один немаловажный набор характеристик анимации: это кривые трасформации движения. Скорость движения нашего самолёта, как мы помним, непостоянна: на протяжении отрезка между началом анимации и касанием полосы самолёт движется с постоянной скоростью, затем после касания его скорость начинает снижаться и к концу анимации должна снизиться до нуля. Линейный график движения самолёта привёл бы к тому, что самолёт весь путь, включая посадку, проделал бы без изменения скорости и затем резко остановился бы в конце анимации, что выглядело бы неестественно. К счастью, нас с вами выручает одно крайне полезное свойство Cinema 4D: любому движению программа по умолчанию присваивает синусоидальную форму, с плавными началом и окончанием трансформации. Однако поскольку по оси X мы с вами указали для самолёта всего две ключевые точки, то согласно интерполяционному расчёту, произведённому программой, снижение скорости самолёта началось уже в первом кадре анимации. Это неверно, и мы с вами этот поправим. Для начала переключимся в режим «Animation».

Переключаемся в режим анимации

Как мы видим, в нижней части окна появился список всех объектов, для которых в нашей трёхмерной сцене задана какая-либо анимация. Теперь переключим отображением анимационных параметров с ключей на анимационные кривые.

Переключаемся в режим отображения кривых трансформации движения

Если в этом окне удалить какой-либо из объектов, он не будет удалён из трёхмерной сцены, однако утратит все свои анимационные характеристики. Удалять мы с вами ничего не будем, а всего лишь проинспектируем кривую трансформации скорости самолёта по оси X и убедимся, что самолёт начал терять скорость ещё в начале анимации — для этого выделим параметр «Position X» группы «Position» объекта «Plane».

Судя по кривой, скорость самолёта начинает снижаться в начале сцены

В данном случае самый простой способ исправить кривую трансформации скорости самолёта — это выделить курсором мыши левую точку кривой, затем подцепить курсором чёрную метку так называемого «уса», который появился при выделении нами точки кривой, и протянуть «ус» вдоль кривой.

Скорость самолёта начинает снижаться во второй части сцены

Наслаждаемся результатом: