Sidebar

Прозрачность спрайта

Alexander.3

New member
10.09.08
23
0
0
Прозрачность спрайта

Всем привет.

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

Делал по макету, всегда был прозрачным. Решил сделать картинку отдельно.

В общем для прозрачности использую Alphatest (альфатест ), при создании спрайта написано Alphatest Tose sprites can use 255 colors, the last color of the palette is transparent. Exemple : agrunt1, blood, crosshairs, rope ...
Хорошо, делаем все по правилам:
На скриншоте видно, я покрасил в синий цвет 0 0 255 ( в пейнте это видно ), в валли же я проверил, что последний цвет - ключ и имеет синий цвет.
Оффтоп

Создайл спрайт, запустил. Нету реакций.

Но далее, еще интереснее. ( я работал над двумя картинками ) в общем на второй картинки я покрасил нижнюю часть ( черный цвет который был прозрачный заменил на зеленый ) в зеленый цвет, который вообще по центру таблице. И ЕГО СДЕЛАЛО ПРОЗРАЧНЫМ.
Далее еще интересней факт, эту же область покрасил в цвет говна и все равно его сделало прозрачным
Оффтоп
Приложу архив с картинками, никто не может решить эту проблему. Пробовал все возможные способы, даже которые не должны работать :D и ргб 8/16/32 бита, в общем все пробовал, никак он не желает делать синюю часть прозрачным цветом, в чем трабла то?

P.s в архиве только последние варианты, так то я все способы уже опробовал )
http://rghost.ru/56062787
 

Alexander.3

New member
10.09.08
23
0
0
И в чем проблема была? Как решил задачу? мб на готовый бмп перенес картинку ) Мне то интересно - что в моей не так.
 

qpAHToMAS

Administrator
Команда форуму
Администратор
22.10.06
9 323
33
  • Золотая медаль 215
  • Золотая медаль 152
  • Серебряная медаль 136
  • Золотая медаль 221
Alexander.3 сказав(ла):
И в чем проблема была? Как решил задачу? мб на готовый бмп перенес картинку ) Мне то интересно - что в моей не так.
Всё так, за исключением размера (256x55 vs. 256x64).
 

Alexander.3

New member
10.09.08
23
0
0
Как я писал выше, что все уже пробовал. То естественно и на размер обратил внимание.

1. Почему тогда работает этот bmp:


2. А с размерами 256х64 вот такая ошибка


В других программах по созданию спрайтов, вроде sprwiz - так же не прозрачный даже при 64.

Еще кстати интересная проблема:
 

Вкладення

DrTressi

Хрустик
06.03.10
6 425
31
  • Журналист
2 Alexander.3: Чем больше картинка, тем хуже цвета. А как насчёт того, чтобы закрасить не синим, а черным и задать Additive. По мойму, посимпотичнее будет.
 

Alexander.3

New member
10.09.08
23
0
0
DrTressi сказав(ла):
2 Alexander.3: Чем больше картинка, тем хуже цвета. А как насчёт того, чтобы закрасить не синим, а черным и задать Additive. По мойму, посимпотичнее будет.
Потому что мне интересно узнать проблему и суть работы.

Сейчас в грубую, сделал одним цветом - вверх и саму полоску.

В итоге, полоска стала прозрачная а вверхняя часть в никакую О_о
Результат ниже:

В игре:
Оффтоп

В фотошопе:
Оффтоп

Post automatically merged:

Пошел другим способом, сделал все с нуля.

1. Покрасил в зеленый цвет, рандомно на выбор с платиры
2. Создал уникальный единственный цвет ( он похож чем то на бирюзовый )
Получилось как то так:


Результат:
Не понятно почему, в игре Зеленый - прозрачный. Мой же, сделанный по всем правилам - не прозрачный. Теперь я вообще запутался.
 
Останнє редагування:

AHBAR

Member
24.07.09
284
Помню я мучался несколько лет назад со спрайтами примерно также, потом плюнул сделал прозрачную область черным, а в спрайте выставил режим Additive
 

Alexander.3

New member
10.09.08
23
0
0
Все же я измучался, два дня нормально не спал и решил проблему.
Не знаю как это работает но у меня это работает так:
( Мне кажется все это особенности фотошопа, а именно особенности в слоях )

1. Цвет прозрачный - зависим от фона. Первым делом покрасим фон синим цветом, потом его будет использовать для прозрачности.

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

P.s - Самое интересное что если например в угл воткнуть пурпурный цвет на 4 пикселя, то приоритет будет на синий цвет от фона и прозрачность будет синяя, а если этот пурпурный цвет у края увеличить на несколько пикселей, то тогда он станет приоритетом и невидимость будет пурпурная.
То есть сначала:
4 пикселя - Синий прозрачный, пурпурный - не прозрачный.
+n пикселя - Синий видимый, пурпурный - прозрачный.


Это вроде как бы основные правила альфатеста, сделал более 500 компилов точно, замучался и испробовал все способы. Жесть.
 
Останнє редагування:

ZAZA

Well-known member
08.11.11
2 433
43
48
2 Alexander.3:
Чувак, пофиг какой цвет, главное, чтоб он был последним в палитре.
 

Alexander.3

New member
10.09.08
23
0
0
ZAZA сказав(ла):
2 Alexander.3:
Чувак, пофиг какой цвет, главное, чтоб он был последним в палитре.
Если почитаете внимательно топик, то я ясно описал - прозрачным может быть цвет и из середины палитры.

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

Alexander.3

New member
10.09.08
23
0
0
DrTressi сказав(ла):
2 Alexander.3: Ты бы вот лучше придумал бы, как сделать плавный переход с чёрного в прозрачный))
Брутально так сотку слоев нарезать и каждому так уменьшать процент прозрачности.

Сделать фон синим, а на ней бар сдвигать. Сурово, но справедливо :agy:

Я не фотошоп мастер, но как то так
 

npocTo_LaM

Well-known member
27.10.12
2 166
387
83
  • Золотая медаль 311
возможно не совсем верный подход к получению изображения в 256 цветов. Лучше если бы в архиве была исходная "полноцаветная" картинка, исходя из предложенного => http://rghost.ru/56091469 - картинка и спрайт:
 

Вкладення

Alexander.3

New member
10.09.08
23
0
0
Да я разобрался уже, это все слои в фотошопе.

У тебя тоже увеличина ширина на до 64.

Мне показывали видео с 1 комментарий. Там как вышла невидимость

В фотошопе увеличили холст, тем самым изображение осталось на месте. Фон же от холста залили в синий цвет и как я описывал приоритетом стал синий цвет. Т.к кайма тоже синия - Результат: прозрачность.

Очень сложная механика ))
 
Останнє редагування:

qpAHToMAS

Administrator
Команда форуму
Администратор
22.10.06
9 323
33
  • Золотая медаль 215
  • Золотая медаль 152
  • Серебряная медаль 136
  • Золотая медаль 221
Alexander.3 сказав(ла):
Мне показывали видео с 1 комментарий. Там как вышла невидимость

В фотошопе увеличили холст, тем самым изображение осталось на месте. Фон же от холста залили в синий цвет и как я описывал приоритетом стал синий цвет. Т.к кайма тоже синия - Результат: прозрачность.

Очень сложная механика ))
Да нет там никакого приоритета. Просто в Photoshop'е открывается BMP изображение в Indixed Color режиме, которое уже имеет свою палитру. Когда работаешь с таким изображением, то даже никаких слоёв нет, не говоря уже про выдуманный тобой приоритет :).
 

Alexander.3

New member
10.09.08
23
0
0
Мне вот индексет и не нужен, но суть работы с индексированием та же. Можете сами проверить. Вообще не заморачивался и ничего не тыкал в таблице цветов ( по умолчаю белый последний ) и сделал фон любым цветом, потом просто написал сообщение и где прозрачный буквы - цвет фона. Я уже свою теорию проверил несколько раз. Док-ва.
 
VIP
12.08.04
18 877
462
83
  • Бронзовая медаль 103
  • Деревянный домик Скааржа
  • Серебряная медаль 213
  • Золотая медаль 136
  • Бронзовая медаль 141
  • Серебряная медаль 125
  • Золотая медаль 221
  • Золотая медаль 213
  • Золотая медаль 232
  • Серебряная медаль 132
Можно кстати сделать проще.
Берёте полноцветную картинку.
Делаете "Слой" из "Фона".
Вырезаете ненужное, в прозрачных местах будет виден шахматный фон.
Индексируете с прозрачностью.
Прозрачный цвет сам оказывается в конце палитры.
Обязательно присваиваете ему ЛЮБОЙ свет.
Сохраняете в БМП 8 бит.

Пруф на скрине.
 

Вкладення

Game Server

Доноры Красавчики

Користувачі онлайн

Немає користувачів онлайн.