ТЕМА: Анимация
Сегодня пчела (или оса? :) ) оживёт! Ну или почти. В анимации я не специалист, да и не все фишки Блендера использую, а о некоторых вообще не знаю, но как мне кажется здесь главное практика.
Анимация будет скелетная — это такая техника, которая появилась ещё во времена первого Half-life, суть такова: в модели имеются кости (трансформации), которые могут иметь предков и потомков (организация иерархии). Каждой вершине модели задаётся кость( в современных играх на одну вершину могут влиять уже несколько костей, например, 4 ). После назначения вершина «подчиняется» трансформациям( перенос, поворот, размер ) кости именно на этом и построена костная анимация. (В различных играх\движках\фреймворках возможно это устроенно немного иначе, например, не вершина хранит кость, а кость хранит в себе список вершин ).
Начинаем мы с открытия файла с моделькой, удаляем всё лишнее и подстраиваем интерфейс под себя
Теперь создаём объект скелета, в рамках блендера он называется armature.
Потом идём в режим редактирования этого объекта. Тут нет вершин и полигонов, только кости. Выделяем одну единственную кость и дублируем или создаём новую. ( возможно меня будут ругать за то, что я не «соединяю» кости и они выглядят как вертикальные палки )
Именуем наши кости, это очень важный момент на самом деле. И задаём иерархию т.е. указываем костям их родителей ( линии соединяющие кости )
Тут видно, что все наши кости находятся по середине — это такие кости, которые не требуют симметрии (например, голова у пчелы то одна, зачем две кости :) )
Теперь создаём и позиционируем кости, которые будут симметричны. Обратите внимание на .L (left) в конце каждой такое кости — это очень важно.
Хвала Блендеру, что он умеет такое! Устанавливаем 3D-курсор в центр координат ( Shift+C ), устанавливаем центром преобразований этот курсор, копируем наши симметричные кости и применяем зеркальное отражение ( Ctrl+M иX ). Красота же! Но вот имена…
И вновь у Блендера есть фишка — «Отразить имена» (Flip Names)
Теперь слева (относительно объекта, а не вида) кости с .L, а справа — .R
Выделяем сначала объект, а потом арматуру (очень важен порядок) и создаём связь (Ctrl+P). Я предпочитаю вручную устанавливать каждой кости вершины, поэтому выбираю «With Empty Groups».
После этого к объекту будет добавлен модификатор, позволяющий арматуре (скелету) модифицировать вершины.
Ещё появится вот такой список групп вершин, очень важный момент — имя кости и имя группы должны совпадать (так Блендер понимает, какие вершины какой костью изменять )
Сейчас все группы пусты, а чтобы записать в них вершину нужно сделать вот такое:
выделить вершины, выделить группу к которой хотим привязать и нажимаем «assign»
Спустя какое-то время потраченное на привязку костей к вершинам можно проверить как всё привязалось, для этого нужно использовать Pose Mode (у арматуры). Можно крутить, перемещать кости и наша модель будет изменяться
Теперь будем записывать наши изменения костей, для этого я включаю Auto Key — автоматическая вставка ключевых кадров, после изменения кости. Путём преобразований ( по большей части поворотов ) создаю анимацию «ожидания». Все анимации будут не больше 50 кадров, поэтому устанавливаем конец временной линии на 50.
К сожалению не могу в деталях описать весь процесс анимирования — лучше смотреть видео, будет более понятно :)
Вот тут уже анимация атаки.
Это анимация полёта (или что-то вроде этого)
«Пчёлку жалко: ' ( »
Вот результаты анимации в виде gif. (по странным причинам скорость анимации в 2 раза ниже)
Что дальше?
Думаю рассказать больше о локациях, возможно, будут концепты, какие-то идеи организации этих локаций, в общем информация о игровом мире :)
Вы можете предлагать и свои темы, когда-нибудь до них доберусь )
Лучшие комментарии
Согласен по поводу темы, она обязательно будет. Скорее всего в формате рассуждения, нежели поэтапного «как написать движок с 0» ) Но постараюсь описать компоненты движка как следует, всё равно мне придётся его писать :)