
Доклад по анимации на Devgamm 2013 в Киеве
1
Привет всем, DevGamm закончился и появилось видео докладов.
Хочу обсудить свой доклад с теми кому интересна тема 2д анимации в играх.
Возможно есть (или возникнут) вопросы по теме доклада.
В этот раз время докладов было уменьшено до 30 минут, и у меня не получилось уложиться в 30 минут доклад + вопросы.
Если есть дополнения или замечания по этой теме — давайте обсудим тут (чтоб не размывать по соцсетям)
Читать дальше →
Хочу обсудить свой доклад с теми кому интересна тема 2д анимации в играх.
Возможно есть (или возникнут) вопросы по теме доклада.
В этот раз время докладов было уменьшено до 30 минут, и у меня не получилось уложиться в 30 минут доклад + вопросы.
Если есть дополнения или замечания по этой теме — давайте обсудим тут (чтоб не размывать по соцсетям)
Читать дальше →

GAF — Generic Animation Format
За много лет Flash зарекомендовал себя как удобный и гибкий инструмент для создания всевозможных игр и приложений. Многие профессионалы выбрали эту программу и накопили немалый опыт анимации персонажей и визуальных эффектов. Сегодня я рад сообщить о появлении нового удивительного инструмента, который открывает новые горизонты для 2D анимаций, созданных в программе Adobe Flash.
GAF позволяет конвертировать Flash-анимации в открытый кроссплатформенный формат и воспроизводить их на множестве различных платформ, включая Starling!

Для ознакомления даю сразу две ссылки:
– собственно сайт сервиса
– и пост на сайте Gamua, где вы сможете почитать краткий обзор и посмотреть демо.
GAF позволяет конвертировать Flash-анимации в открытый кроссплатформенный формат и воспроизводить их на множестве различных платформ, включая Starling!

Для ознакомления даю сразу две ссылки:
– собственно сайт сервиса
– и пост на сайте Gamua, где вы сможете почитать краткий обзор и посмотреть демо.

Авторские уроки по анимации во Flash, Let's begin!!!...
Доброго времени суток! Я бы хотел поделится с вами своей толикой знаний о анимации и создании арта. Видео будут выкладываться по мере создания, все существующие на данный момент можно посмотреть у меня на канале www.youtube.com/user/completemaniacanim?feature=watch. А пока до встречи! Надеюсь вам будет интересно)

Моя первая игра для айфона. Первый мой не флеш проект!
Приветствую тебя мой любезный читатель. Расскажу я тебе сегодня о том как в наше не простое время рисую графику я для гаджетов яблочных — iphone и ipad которые. И анимацию также делаю я.
История моего переключения неожиданного с флеш графики на айфон довольно простая. Написал мне человек и спросил смогу ли я нарисовать графику для его игры в жанре стратегия не прямого управления. Я посмотрел на концепт игры и согласился. Так как сам очень люблю такие стратегии, сразу вспомнил сетлерс, маджести… И начали мы думать и гадать, как же будет выглядеть игра.
Читать дальше →
История моего переключения неожиданного с флеш графики на айфон довольно простая. Написал мне человек и спросил смогу ли я нарисовать графику для его игры в жанре стратегия не прямого управления. Я посмотрел на концепт игры и согласился. Так как сам очень люблю такие стратегии, сразу вспомнил сетлерс, маджести… И начали мы думать и гадать, как же будет выглядеть игра.
Читать дальше →

Раскадровка

Привет, друзья!
Возможно те, кто играли в мою игру Q — compressing the heart, помнят момент с часами на паучьих лапах. Я очень люблю этот момент в игре. И я хочу поделиться кадрами из него. Возможно, начинающим и не только аниматорам — будет полезно. Я, конечно, сам еще учусь и в моей анимации еще полно огрехов, но я хочу поделиться небольшим опытом.
Читать дальше →

Update: Растеризация MovieClip в последовательность BitmapData
Пост для тех, кто использует метод, описанный мной в Растеризация MovieClip в последовательность BitmapData — я его обновил.
Советую заглянуть туда и обновить код у себя в играх, ибо будет вам ускорение.
Суть в следующем: getColorBoundsRect оказался излишне медленным, когда он работает на большой битмапе (спасибо Эду Рыжову, который это заметил). То-есть, когда черновая битмапа становится, скажем 1024 на 1024, из-за какой-то большой картинки, а последующие картинки рендерятся маленькие, то сильно теряется время. Но без getColorBoundsRect обойтись нельзя, если вы используете маски. Я попробовал просто каждый раз пересоздавать черновую битмапу и оказалось, что выделение памяти настолько быстро, что общее время теперь не сильно отличается от времени без использования getColorBoundsRect вообще. На моем текущем проекте старый вариант занимал 2400ms, новый 700ms, без использования черновой битмапы и getColorBoundsRect 685ms. Обновил код и инструкцию.
Советую заглянуть туда и обновить код у себя в играх, ибо будет вам ускорение.
Суть в следующем: getColorBoundsRect оказался излишне медленным, когда он работает на большой битмапе (спасибо Эду Рыжову, который это заметил). То-есть, когда черновая битмапа становится, скажем 1024 на 1024, из-за какой-то большой картинки, а последующие картинки рендерятся маленькие, то сильно теряется время. Но без getColorBoundsRect обойтись нельзя, если вы используете маски. Я попробовал просто каждый раз пересоздавать черновую битмапу и оказалось, что выделение памяти настолько быстро, что общее время теперь не сильно отличается от времени без использования getColorBoundsRect вообще. На моем текущем проекте старый вариант занимал 2400ms, новый 700ms, без использования черновой битмапы и getColorBoundsRect 685ms. Обновил код и инструкцию.

Персонажная анимация в играх
По материалам конференции FPUG33 (Луганск) и CasualConnect 2010 ( Киев)

Растеризация MovieClip в последовательность BitmapData
Есть известный прием для оптимизации скорости отрисовки векторной анимации на экране, а именно: перегонка мувиклипа в последовательность битмапдат.
Последние дни обнаружилось, что реализация этого приема вызывает некоторые одинаковые трудности даже не у одного камрада. В частности появляется дрожание. Поэтому, после первого обращения я решил позже выложить свою реализацию. А после второго решил, что плохо медлить :)
UPD: Расширил черновую битмапу, чтобы учесть возможные заступы из-за фильтров.
UPD 2: getColorBoundsRect оказался излишне медленным, когда он работает на большой битмапе (спасибо Эду Рыжову, который это заметил). То-есть, когда черновая битмапа становится, скажем 1024 на 1024, из-за большой картинки, а последующие картинки рендерятся маленькие, то сильно теряется время. Но без getColorBoundsRect обойтись нельзя, если вы используете маски. Я попробовал каждый раз пересоздавать черновую битмапу и оказалось, что выделение памяти настолько быстро, что общее время теперь не сильно отличается от времени без использования getColorBoundsRect вообще. На моем текущем проекте старый вариант занимал 2400ms, новый 700ms, без использования черновой битмапы и getColorBoundsRect 685ms. Обновил код и инструкцию.
Читать дальше →
Последние дни обнаружилось, что реализация этого приема вызывает некоторые одинаковые трудности даже не у одного камрада. В частности появляется дрожание. Поэтому, после первого обращения я решил позже выложить свою реализацию. А после второго решил, что плохо медлить :)
UPD: Расширил черновую битмапу, чтобы учесть возможные заступы из-за фильтров.
UPD 2: getColorBoundsRect оказался излишне медленным, когда он работает на большой битмапе (спасибо Эду Рыжову, который это заметил). То-есть, когда черновая битмапа становится, скажем 1024 на 1024, из-за большой картинки, а последующие картинки рендерятся маленькие, то сильно теряется время. Но без getColorBoundsRect обойтись нельзя, если вы используете маски. Я попробовал каждый раз пересоздавать черновую битмапу и оказалось, что выделение памяти настолько быстро, что общее время теперь не сильно отличается от времени без использования getColorBoundsRect вообще. На моем текущем проекте старый вариант занимал 2400ms, новый 700ms, без использования черновой битмапы и getColorBoundsRect 685ms. Обновил код и инструкцию.
Читать дальше →