14 Февраль 2009

псевдо 3d анимация персонажей

здравствуйте, сегодня я расскажу вам о псевдо-3d анимации персонажей на примере нашей игры.

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

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

2. персонаж был проанализирован и разбит на составляющие, как вы видите на втором слайде флешки. планировалось заанимировать цыплёнка так, чтобы не использовать покадровую анимацию, а для причёски и глаз использовать исключительно motion tween, чтобы потом с лёгкостью заменять их.

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

4. далее я сделала анимацию каждой части тела цыплёнка вокруг оси x с добавлением масок.
т.к это не реальная 3д анимация, а псевдо, то мы первым делом определяем ключевые позиции поворота цыплёнка. в нашем случае их 4: основное положение, когда цыплёнок смотрит на нас и ещё 3 с шагом 90 градусов. наброски этих положений вы видите на соответствующем слайде.

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

ниже представлен скриншот таймлайна данного символа (по клику увеличивается)

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

6. итак, анимация в одном направлении сделана. теперь сделаем обычную motion анимацию нашего мучика с вращающимся цыплёнком относительно центра мувиклипа с параметром rotate (вторая позиция в 5-м слайде, если не совсем понятно выразилась).
в результате совмещения этих двух анимация у нас получается полноценная имитация 3D анимации.

7. естественно в игре все повороты вправо и влево делаются программно, а также первая анимация (поворот вокруг себя) замедляется и ускоряется тоже программно.
по всем нюансам программирования этих персонажей вы можете проконсультироваться у сантёра, который собственно их и программировал.

а для того, чтобы вам легче было во всем разобраться, выкладываю исходник этого дела:

скачать

кстати если у вас есть аккаунт на facebook, приглашаю присоединиться к этой игре. там теперь есть таблицы рекордов, а в скором времени появится генератор аватарок-цыплят :)

This entry was posted on Суббота, Февраль 14, 2009 at 19:32 and is filed under animation, games, lesson, исходники. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

There are currently 9 responses to “псевдо 3d анимация персонажей”

Why not let us know what you think by adding your own comment! Your opinion is as valid as anyone elses, so come on... let us know what you think.

  1. 1 On Февраль 14, 2009, dedpbIxto said:

    За забором обрыв или пропасть? :) И что вас так всех прет от термина псевдо3D ? Ну ведь все равно мониторы у нас плоские и отображают двумерную картинку. Цыплено у тебя слишком резко останавливается вверху – а должен быть изинг 100%, а потом -100% (когда падает). И Мне кажется не хватает кадров на воздухе из пшыкалки – слишком быстро и резко пропадает воздух. Ну и небо – оно меня не радует ни как – от него устает глаз! :) ))

  2. 2 On Февраль 15, 2009, Iga said:

    Очень круто, спасибо!

  3. 3 On Февраль 16, 2009, stalex said:

    Мило, но можно было добавить попу-таз между лапками и шаром, и вращать по х еще и попу-таз (типа как клюв только с чуть более сложной маской), тогда бы не был цыпа слишком круглым, и тогда было б живое тридэ, и глаза плоские, жаль, если б они на краю выпирали из-за шарика было б красивее… нужно было прическу разделить на бантик и чупчик, а глаза разделить на реснички, белки и зрачки… можт проапдейтите игрушку до версии 2.0?:) сэньк!

  4. 4 On Февраль 16, 2009, Psih said:

    Прикольно :)
    Тут можно детально все рассмотреть и придраться, но в игре все замечательно.

  5. 5 On Февраль 28, 2009, wyveren said:

    очень наглядно) Браво. Мне нравится.

  6. 6 On Март 15, 2009, dinaris said:

    очень красиво!
    мне понравилось……..

  7. 7 On Ноябрь 30, 2009, ksan said:

    Я писал у себя в блоге, как псевдо-3D сделать программным путем (http://ksanster.com/2009/09/08/quasi_3d_ball/)
    Но цыплята, конечно, прикольнее бильярдных шаров )

  8. 8 On Ноябрь 30, 2009, Lerika said:

    @ksan: а шарик отличный то получился. Очень реалистично.

  9. 9 On Декабрь 15, 2009, Inc said:

    Вот эта блог-статейка показалась мне интересной
    http://suntsev.com/?p=33
    точнее возник один вопрос, хотелось бы услышать ваше мнение. Неужели это тоже псевдо-3d? я имею ввиду «осваивается легкое низкополигональное 3d». выглядит так, что объекты похоже действительно не плоские картинки с тенями… как реализовать нечто подобное во флеше, 3d max и дальнейшее впихивание во флеш? или все-таки 2d? или нет? или как? ))))

Leave a Reply