Воскресенье, 19.11.2017, 19:09



Приветствую Вас Гость | RSS
[ Главная ] [ Уроки ] [ Регистрация ] [ Вход ]
Меню сайта

Категории каталога
Мои уроки [8]
Мои уроки
Уроки от berleksus [3]
Уроки от berleksus

Главная » Статьи » Мои уроки

Анимируем ворону (часть 2)
        Модель готова к самому интересному, к анимации. Давайте поднимем ее на нужную нам высоту, просто выделив ее вместе со всеми Dummy кроме основного, он должен остаться на месте, так как является точкой отсчета, и просто перетащим ее на нужную высоту. Я поднял птицу на 20 метров, это уровень 6 этажа. В игре, мы сможем регулировать высоту, так что особых проблем здесь нет.
        Начнем с анимации крыльев, так как потом нам потребуется клонировать модель и задать ей траекторию движения, анимировать крылья в движений не удастся. 
          Устанавливаем длину анимации в 250 кадров (нижняя планка меню – Time Configuration Animation – ставим 250 в поле End Time, жмем Re-scale time, далее опять меню, жмем ок). В нижней линейке анимации  последние показания должны смениться на 250. Больше нет смысла, так как будет сложно работать с ключами, затем мы просто скопируем ключи для увеличения продолжительности анимации.
      
        
 
       Auran заявляет о поддержке 1000 кадров анимации, честно говоря, больше не пробовал, да и не нужно, так как файл anim.kin при 1000 кадров может весить больше, чем сама модель с текстурами. Не увлекайтесь. Пожалейте ресурсы компьютера.
         Ну, что же, пожалуй начнем.
         Для удобства контроля над процессом перейдем на вид спереди (front), выберем в главном меню Select and rotate, далее внизу set key, бегунок должен окраситься в красный цвет. Далее выбираем один из Dummy крыла и жмем на ключ на нижней панели, тем самым установив первый и основной ключ анимации для данного Dummy на кадре 0.
  
        
 
 
         Первый ключ очень важен, он фиксирует положение Dummy, и в случае, если в дальнейшем вы будете вращать модель, он всегда поможет вам вернуться в исходное состояние. Дело в том, что обязательным условием для всех dummy на нулевом кадре является их положение относительно вращения оси координат. Dummy можно клонировать, двигать, но никак не вращать, даже малейшее вращение в любом направлении вызовет безумный сдвиг слинкованных объектов и придется все начать с начала (помните, я просил сохранить модель). Непосредственно перед анимацией лучше сделать еще одно сохранение в версии 2.

         Итак, начинаем махать крыльями. Возьмем за полный цикл маха крыла 5 кадров. Так как крыло сейчас у нас в положении условно 0, то переместим бегунок анимации на + два кадра. Далее, прокрутим Dummy, например, вверх на 45%, так как крыло слинковано, оно последует за Dummy. Сделаем этот кадр ключевым, нажав опять на ключ. Это будет верхнее положение крыла. Теперь установим нижнее. Для этого вновь сместим бегунок анимации, но теперь на 5 кадров вперед (7 кадр). Затем повернем dummy, но на сей раз вниз, градусов на 90 от текущего положения или 45 от положения «0». Нажмем ключ, зафиксировав нижнее положение анимации.

         Вот что должно быть:
 
 
        
  
         У нас три ключа анимации, этого достаточно. Теперь просто начнем копировать ключи, помня шаг маха крыла в 5 кадров и учитывая, что птица может парить, поэтому у нас будет период, когда крылья будут находиться в положении «0». Пусть будет такая схема: машем до 100 кадра, парим с 101 по 160, потом опять машем до 250, но на 250 кадре ставим ключ с 0 кадра для синхронизации двух блоков анимации (0-250 и 251-500) и общего цикла. Копировать ключи можно, выделяя их мышкой (можно группой) и, с нажатым shift-ом,  двигая мышь на нужное расстояние (как с клонированием объектов), но не забывайте про шаг маха, иначе крылья могут двигаться ассиметрично, чего нам не надо.
         Если все шло нормально, должно получиться вот так:
 
        
 

        0, 250, а также 100 и 160 кадры у нас клоны 0 кадра, того самого положения «0», остальные кадры просто чередуются с шагом в 5 кадров. Все то же самое проделываем со вторым крылом, в конце, убедитесь, что крылья работают симметрично. Просто подвигав рычажок анимации, либо нажав кнопку «play». Отожмите кнопу «set key», на всякий случай. Можете поменять виды проекции и посмотреть на то, что у нас получилось.

       Теперь удлиним анимацию до 500 кадров. Для этого просто произведем те же манипуляции с установкой длины анимации, как мы это делали выше. Выделим птицу целиком, у нас должны появиться ключи анимации, вот их то мы просто скопируем, так, чтобы 0 кадр стал 251. Все, теперь птичка машет крыльями все 500 кадров.

       Теперь можно склонировать птицу столько раз, сколько птиц нам нужно. Я сделаю пять. Выделяем целиком птицу, жмем shif и двигаем мышкой. Все dummy автоматически изменят свою нумерацию, при этом линки сохраняются. Разнесем птиц относительно первой по высоте и по горизонтальной составляющей. Получается вот такая стайка.
 
       

 

      Запустите бегунок анимации и посмотрите, как они чудно машут крыльями. Для достоверности, можно сдвинуть периоды махания крыльями у каждой птицы на разную величину, просто выделяя птицу и выделяя блоки ключей анимации, а затем двигая их мышкой на разное расстояние (просто без Shift-a).
        Все, с крыльями разобрались. Теперь перейдем к траектории полета. Этот этап достаточно сложный. Я еще не совсем освоил все тонкости контроллеров анимации. Но не будем пасовать перед трудностями. Экспериментируем.
        Особенность анимации в Trainz в том, что анимация должна быть зациклена в круг, иначе объекты будут появляться из ничего и в ничего же исчезать. Это иногда нужно, но не в нашем случае. Поэтому траектория полета будет представлять, по сути, окружность неправильной формы. Для назначения пути мы будем использовать контроллеры анимации. В нашем случае путем будет служить замкнутая линия с несколькими точками. Так как мы не можем даже на градус поворачивать Dummy в 0-ом кадре, началом пути будет служить прямая линия, направленная идеально параллельно телу птицы и Dummy.
        Рисуем такую линию ровно вдоль оси Y, желательно на виде сверху, произвольной длины. Далее поднимаем ее на уровень птицы. Должно быть так:
 
      
  
       Теперь выбираем Dummy b.r.ptica, нашей первой птицы, через которую сейчас проходит линия. Далее идем в секцию Motion, раскрываем меню Assign Controller, жмем на Position и далее на ставшую активной кнопочку со знаком вопроса, расположенную чуть выше.
   
      
 

       В открывшемся меню выбираем Path Constraint и жмем ОК. Далее, в появившемся слева меню жмем Add path, наводим курсор на нашу линию и жмем кнопку мыши. В окне появляется название нашей линии Line01.

       Далее в меню Path Parameters добавляем следующие галочки:
 
      
 

       Follow, чтобы птица следовала траектории линии, поворачиваясь все время по ходу движения, Constant Velocity – для того, чтобы движение было равномерным, независимо от расстояния между промежуточными точками (далее).

При активации данных галочек, птица будет менять свое положение относительно первоначального, последним блоком Axis наша задача обязательно вернуть ее в исходное положения, иначе будут большие глюки (я уже говорил про вращения dummy на 0 кадре, помните?). Если с помощью настроек Axis вернуть птицу в исходное положение не удастся, просто поверните линию на 180 градусов вдоль оси Y, предварительно отключив ее из константы пути, нажав кнопочку Delete Path, далее повторите операцию занового.

Должно получиться.

       Ну вот, у нас теперь птица летает вдоль линии, при этом 0 и 500 ключ установились автоматически. Теперь надо удлинить траекторию, задав ей нужную форму и закольцевав ее. Для этого просто нарисуем линией неправильную окружность и соединим крайние точки с точками нашей линии, тем самым, закольцевав ее. Не забудьте поднять линии перед коннектом точек, так как по умолчанию она рисуется на уровне 0.

       Коннект, как вы наверное знаете, производится выделением двух нужных нам точек (которые нужно будет соединить) и нажатием кнопки weld.
 
      
 

       Желательно, крайние отрезки нашей второй линии, из которых мы сделали неправильную окружность, на последнем отрезке перед стыком с line01 сделать максимально прямыми и параллельными нашей линии, чтобы после коннекта не произошло смещение line01.

       Если вы все сделали правильно, у вас должна получиться линия в виде неправильной окружности, по которой будет двигаться наша птица. Нажмите кнопку play. И убедитесь, что за 500 кадров птица делает полный круг.
 
      
 
       Еще раз проверьте, на виде спереди (front), что все наши dummy первой птицы не повернулись, иначе могут быть проблемы.
 
      
 
       Траектория у нас получилась угловатая, давайте скруглим ее, установив атрибут точек как Bezier. Для этого выделим нашу линию, перейдем в меню Modify и на уровне Vertex, выделив точку, нажимаем правую кнопку мыши и выбираем  в появившемся окне данный атрибут.
 
      
 

       Производим данную операцию над всеми точками, кроме двух крайних с каждой стороны от птицы, во избежание проворачивания Dummy.

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

       Теперь сделаем операцию, которую нам нужно будет произвести далее со всеми птицами, а именно, устраним замедление полета птицы в 0 точке. Для этого нам нужно выделить центральный Dummy b.r.ptica. На линейке появятся ключи анимации, их будет два, первый и последний. Наведем курсор на первый и нажмем правую кнопку мыши, во всплывшем меню выберем самую верхнюю позицию.  Появится меню с двумя синусоидами, заменим их на равноускоренное движение вот так:
 
       
 
       Произведем те же действия с последним ключом. Напомню, это прийдется сделать это с каждой птицей. В принципе, добавив ключей, мы можем птицу заставить ускоряться и притормаживать на различных этапах траектории. Но в данном случае этого особо заметно не будет. Можете применить этот способ при создании каких-либо иных моделей.
       Все, можете смотреть  полученный результат. Первая птица готова. Теперь нужно заставить летать оставшихся. Для этого склонируем нашу траекторию четыре раза и разнесем приблизительно к нашим птицам, учитывая их сдвиги в положении относительно первой птицы.
       Далее, пойдем по отработанной схеме. А именно, выделяем центральный Dummy каждой птицы и применяем к ней контроллер анимации как описано выше и с теми же настройками. Не забудьте откорректировать ключи анимации на равно ускоренное движение. Кстати, у меня после закрытия файла и последующего открытия, настройки ключей анимации почему-то постоянно возвращаются в исходное положение. Поэтому делать эту операцию лучше непосредственно перед экспортом в игру.
       Все, теперь все наши птицы летают, но летают по одной и той же траектории, что не натурально. Последний штрих - просто придайте траектории каждой птицы уникальную форму, редактируя наши линии на уровне точек (не забудьте про точки, которые нельзя трогать).
       Финальный результат в максе:
 
      
 
       Экспорт, внедрение крика ворон в модель и config файл будет рассмотрен в следующем уроке.
  
  

           

Категория: Мои уроки | Добавил: Lana (19.06.2008)
Просмотров: 1762 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Логин:
Пароль:

Поиск

Друзья сайта




Статистика



Онлайн всего: 2
Гостей: 1
Пользователей: 1
Добрый

Copyright Neoklai&Lana © 2017