|
|
|||||
Регистрация: May 2012
Сообщений: 38
|
Анимация и коррекция цвета
Приветствую всех участников форума. Нужна помощь вот в каком вопросе.
Есть несколько картинок, образующих анимацию движения какого-нибудь юнита. Каждая картинка - это фон определенного цвета в RGB (#00FFFF), собственно сам юнит на этом фоне. Задача: перемещать этого юнита по сцене. Сейчас сдел так: 1) в Flash CS скомпилил покадровый swf 2) в FleX через Embed портирую этот swf в основной проект и работаю с ним как MovieClip: перемещаю,вращаю и т.п. 3) А тут собственно незадача: нужно фон этого MovieClip'а сделать прозрачным, чтобы юнит остался юнитом, а его фон #FF00FFFF преобразовался в #00 xx xx xx (ARGB), и как следствие под ним отображался ландшафт сцены. Т.е. заменить цвет строго определенный цвет (RGB) #FF00FFFF на прозрачный #00xxxxxx (ARGB) А так получается, что перемешается квадрат с вписанным юнитом. Предполагаю через MovieClip.transform это можно как-то решить, если я конечно прав. Кто-то советует программно выдергивать из MovieClip Bitmap'ы и использовать threshold(), однако опыт программирования в др. языках мне подсказывает: "не для того MovieClip был сделан чтобы его потом потрошить". Возможно я вообще не правильно выбрал концепцию храния ресурсов в swf-ках. В общем посоветуйте подход. PS. Вариант изменить цвет фона на прозрачный в исходных картинках, тоже не лучший вариант. |
|
|||||
Дешёвого (по ресурсам) способа отфильтровать определённый цвет в альфу я не знаю (ColorMatrixFilter, ColorTransform такого не сделают в общем случае, а шейдеры и treshold - не дешёвые).
Нормальное решение: - у вас должны где-то лежать исходные PNG-шки - перегнать их чем-нибудь в PNG-шки с прозрачностью - повторно вставить во fla - если имена не меняли - то Вас спросят "Заменить ли картинки?" - говорите "да" и тогда по всем мувикам лазить не придётся. А теперь способы перегона: - Photoshop, говорят поддерживает автоматизацию - батник или скрипт, использующий консольный бесплатный графически редактор imagemagic - скрипт на любом языке, поддерживающим работу с графикой - в конце концов, AIR-приложение на том же AS3 с использованием этого treshold - сам обычно для предобработки графики использую связку haXe+neko+nme - граблей там куча, с альфой по-нормальному только попиксельно удаётся работать - но проще встроить в скрипт сборки, чем для AIR. - засучить рукава и перегнать вручную каким-нибудь Paint.NET Впринципе, шейдером можно сделать, может у вас хороший запас производительности и fps не сильно просядет. Но не факт, что разобраться с шейдерами будет много быстрее написания скрипта по перегону. Если только художники вам принципиально каждый раз шлют без альфы и очень лениво каждый раз импортить их творчество во fla. Последний раз редактировалось expl; 26.05.2012 в 17:03. |
|
|||||
Цитата:
Я понимаю что моё замечание может быть бесполезно, но о чем вы думали когда делали секвенцию картинок?
__________________
adobe AS3 manual |
|
|||||
Регистрация: May 2012
Сообщений: 38
|
Да никто не накосячил, просто эти картинки вообще ресурсы игры под DirectX. Что-то увлек флеш, вот учусь. Кстати на них помимо фона есть есть еще обозначенные цветом: тень, аура(контур в несколько пикселей для спецэффектов). И под DirectX с этим проблем никаких, вот я подумал может нечто подобное и в Flash возможно.
|
Часовой пояс GMT +4, время: 02:55. |
|
« Предыдущая тема | Следующая тема » |
|
|