Золотая середина между flash и 3d Max

14.05.2008, автор Stormit, рубрики: Flash игры, Анимация, Игровые баннеры

Еще один урок от ANIMEFISH.COM

Привет Всем!

Итак, продолжаем хитрить :)

Этот пост посвящен одной из важных хитростей в анимации - 2,5D.
Для тех кто не в “танке” 2,5D - это серединка между 2D и 3D :)
Интересно, а что значит серединка? Давайте рассмотрим.

Очень часто в анимации требуется использовать движение обьекта не в 2-х плоскостях, как это происходит в 2D, а в 3-х - как это должно происходить в 3D. Но, но! Мы же знаем, что наш всеми любимый Adobe Flash не умеет использовать элементы 3D графики…. А что же делать? Ведь так хочется (или требуется) иногда привнести такой элемент.

На помощь могут прийти 3 способа: 1 - мы прорисовываем покадрово все фазы, как это делают мультипликаторы… сложноватенько и долговатенько… 2 - мы рисуем то, что нам нужно в любом трехмерном пакете, а потом конвертим в последовательности кадров для флеш… Слишком большой объем файла получиться, а у нас каждый байт иногда на вес золота. Поэтому, поэтому выбираем метод 3 - ни 2D ни 3D - 2,5D.
Вся анимация - это обман. Да, это обман зрения. Задача аниматора - обмануть зрителя так, что бы тот не смог этого понять. Аниматоры - они как фокусники, - те же фокусы с обманом зрения. Иногда даже не замечаешь, как тебя обманул аниматор (хотя проффи часто видят то, чего не видит простой глаз). Итак, наша задача - обмануть зрителя так, что бы он думал, что видит объемный объект, на самом деле мы “дурим” :) - хитрим.

Итак - колесо, но не простое, а от телеги. Возможно кто-то из вас подобные вещи и делал, тут нет ничего сложного.

Рисуем колесо телеги (1), потом создаем movieClip, внутри которого делаем вращение нашему колесу (2) и сжимаем этот movieClip по горизонтали. О! У нас уже что-то получается похожее на колесо в объеме. Теперь сделаем копию этого клипа, поместим ее на слой и совершим над ней (копией) магический тинт. Теперь сдвигаем так, что бы…. ну в общем, сдвигаем на глазок так чтобы получилось как на рис (3). Следует учесть: если спицы колес делать тонкими - то и клипы нужно близко сдвигать, чтобы не было зазоров между затинтованным и оригинальным клипами (4). Так - теперь делаем сколько нужно колес и дорисовываем “телегу” и - поехали (5).

Дальше - дальше сложнее - нам нужна монетка? - без вопросов!
Принцип как и в предыдущем примере. Для начала нам нужно изображения 2-х сторон монетки (1). Теперь обман. Вращение мы будем выполнять относительно оси, проходящей через ребро монетки. Используем эффект сжатия (как в предыдущем примере). Сжатие у нас будет происходить во времени, а вот вращение мы не делаем - это будет позже. Итак, на (2) видно что нам нужно.

Еще один момент: все эти “обманы” основаны на природных явлениях. Уточнюсь - если мы смотрим на обьект, то мы можем его охарактеризовать такими параметрами, как освещенность, цвет, объем, прозрачность, размер, перспектива … ну и так далее. Так вот, чтобы лучше обмануть, нужно постараться обмануть с позиции как можно большего числа этих параметров. К чему это я - на нашу монетку падает свет (та черная ромашка в углу). А раз так, то одна сторона монетки та, которая повернута к источнику света - светлее, а противоположная темнее. Поэтому мы будем использовать brightnes and tint для наших сторон монетки. На (3) я показал всю развертку положений сторон монетки с учетом их освещенности.

Так - на (4) показан основной трюк - псевдо-объем. Если мы будем чередовать сужение одной стороны монетки и растяжение другой стороны, то можно создать тот самый псевдо-обьем. Красными линиями показаны положения, куда смещаются центры сторон при сужении и расширении - это необходимо для создания ребра монетки между гранями.

Дальше (5) - делаем ребро. Его мы делаем шейпом. В первом кадре мы не видим ребра, а в последнем мы его видим полностью, сторона у нас поворачивается и мы ее не видим. В исходном # файле # можно лучше увидеть, как все выглядит. Едем дальше (тема большая). Дальше, по желанию - “наносим насечки” на ребра - можно сделать разными способами, я делаю копию слоя с предыдущими шейпами, делаю этот слой маской, а под него маскирую горизонтальные полосы (6).
Все, собираем все вместе, получаем (7). Похоже? -Похоже. Ну и еще последнее, опять же по желанию. Если эту монетку крутить, то получим полный обман (8).
Скрипт вращения:

onClipEvent (load) {
	_rotation = int(Math.random() * 360);
	gotoAndPlay(int(Math.random() * _totalframes));
	rot = int((Math.random() * 12 + 2));
}
onClipEvent (enterFrame) {
	_rotation += rot;
}

Фуф, теперь, посложнее. Космический корабль! Псевдо трехмерный! (1) Клево? Тягаем за оранжевую штучку и корабль крутится!

Теперь нужно это все разъяснить. Принцип у нас тот же, что и с монеткой - рисуем корпус корабля (вид сверху), создаем клип, в котором вращаем наш корпус (вправо и влево), а затем сжимаем этот клип по вертикали. Вот - теперь у нас получился
вращающийся корпус (2). Дальше уже мелочи - добавляем на корпус элементы (3). Сверху накладываем башню (обычная обрезанная окружность). На (4) сделаем “затылок” на башне. Чего делаем - делаем копию нашей башни, она будет маской и под эту маску ложим вращение другой окружности, результат - затылок нашей башни.
Замечание! Все нужно выполнять в одной линейке со сжатым по вертикали клипом, содержащим вращение корпуса. Это важно!

В ходе анимации вы будете “подгонять” элементы, чтобы не было щелей и.т.п. Кстати, не бойтесь (в разумных пределах) создавать разные “заплаточки” для щелочек - главное закрыть, замазать так, чтобы глаз зрителя не заметил, а все остальное мелочи :) В данном случае важен не процесс, а результат!

Так, теперь на (5) добавляем элементы корпуса, так же само - подстраиваем их под вращение корпуса - где нужно используем твин,где нужно - просто сдвигаем, сжимаем, не боимся. И после каждой процедуры просматривайте хотя бы по линейке - как выглядит результат. Не обязательно компилировать файл - просто подвигайте ползунком - вам будет видно, где у вас что-то не так, а где все тип-топ (6). Добавляем “фетиш” - пушечку и выхлопы сопел. Все - получаем картинку (7)!

Ну и напоследок - достаточно сложный пример (вряд ли я тут объясню весь процесс создания сей конструкции) - башня боевого танка по мотивам фильма “Звездные войны”. Что нужно, чтобы сделать подобное? Знание основ геометрии, наблюдательность, и хитрости предыдущих примеров.

Финал, все, пальцы болят уже от “многа букаф”. Поэтому: хитрости объяснили, исходный файл есть, 4 примера привели, напрягайте свою фантазию или воображение, вспоминайте геометрию, природоведение и - вперед!

Если есть вопросы - мы с радостью ответим на них!

Интересно на 26%

(20) Хитрых на тему «Золотая середина между flash и 3d Max»

  1. PiXeL

    Потрясно!Особенно с последним примером,а насчет монетки,незнаю слишком реалистично что ли..

  2. PiXeL

    кстати лучше бы насчет человека объяснил там реально намного сложнее,а то приходится рисовать все вручную

  3. Santer

    Отличный урок.
    Кстати с 3d во флеше становиться лучше (и не только с 3d ;)).
    Буквально вчера вышел Flash Player 10 beta http://www.insideria.com/2008/05/adobe-announces-flash-player-1.html

  4. Stormit

    Ух ты, я впечатлился!
    Даже не знаю чего теперь желать во флэше

  5. [CPR]-AL.exe

    Да чего там… десятый плеер (пререлиз) уже можно скачать - он держит хардверную акселерацию графики и почти все флешки, тормозившие ранее идут гораздо быстрее.

    http://labs.adobe.com/technologies/flashplayer10/ - тут можно скачать и поставить.

  6. [CPR]-AL.exe

    Упс, невнимательно посмотрел ссылку по предыдущему комменту :)

  7. ded pb|xto

    Понятно, Хитри -cтирай пост - никому не нужно 2.5D, уже есть полноценное 3D

  8. Stormit

    Да пока это 3D войдет в массы и все обзаведутся полноценным 10-м плеером пройдет не один месяц. А за это время аниматоры подучатся использовать новые фичи ;)

  9. Fushigi

    Все супер. Ребята это анимация, а не программное построение моделей с 3д движком…Разные уровни, разные задачи, разные результаты

  10. Роза

    Хороший стиль у автора и способ выражения идей. Стала замечать, что у меня некоторые проблемы с пересказом и речью. И вот, какая мысль. Может завести дневник и делиться с народом мыслями? Искренне благодарна создателю блога за направление меня в эту сторону.

  11. Борис

    Категорически так нельзя обращаться со своими посетителями. Все так невозможно увлекательно, что уже не первый час читаю ваш сайт и не занимаюсь работой. Шеф убьет.

  12. asdc

    Прочел посмотрел ах***л реально круто мен пиши книгу

  13. vadim

    Уважаемый Stormit!
    Как бы мне получить исходный файл вращения монетки.
    Очень буду благодарен!

  14. Alex

    Зачем эти хитрости??? Полноценное 3д уже давно доступно на флеше!!!
    http://www.alternativaplatform.com/ru/alternativa3d/

  15. Дмитрий

    Отличные примеры! Спасибо вам за отличное изложение действительно полезных нестандартных вопросов! Очень нравится визуальная сторона и творческий подход к технической реализации.

  16. Jazzcat

    Impressive…. Most impressive….

  17. vadumag

    спасибо.огромное..я видел подобное и на другом сайте,но тут всё понятнее и нагляднее !!

  18. WithGod

    Классно никогда не догадался бы что на флеше так просто делать а то я мучался перерсовкой на каждый кадр СПАСИБО за таких людей как вы!!!

  19. Limon

    Блин :( у меня с кораблем не выходит :( корпус крутится не првильно

  20. Limon

    я просто не вьехал в предыдушем примере было просто сжатие,а тут корпус крутится как-то… обьясните нубу пожалуйста :(

Оставить комментарий