Sidebar

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

Alexander.3

New member
Sep 10, 2008
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
Sep 10, 2008
23
0
0
И в чем проблема была? Как решил задачу? мб на готовый бмп перенес картинку ) Мне то интересно - что в моей не так.
 

qpAHToMAS

New member
Oct 22, 2006
9,289
33
Alexander.3 said:
И в чем проблема была? Как решил задачу? мб на готовый бмп перенес картинку ) Мне то интересно - что в моей не так.
Всё так, за исключением размера (256x55 vs. 256x64).
 

Alexander.3

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

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


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


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

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

Attachments

DrTressi

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

Alexander.3

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

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

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

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

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

[ADDED=Alexander.3]1401686884[/ADDED]
Пошел другим способом, сделал все с нуля.

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


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

AHBAR

New member
Jul 24, 2009
283
Помню я мучался несколько лет назад со спрайтами примерно также, потом плюнул сделал прозрачную область черным, а в спрайте выставил режим Additive
 

Alexander.3

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

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

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

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


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

ZAZA

New member
Nov 8, 2011
2,434
40
0
2 Alexander.3:
Чувак, пофиг какой цвет, главное, чтоб он был последним в палитре.
 

Alexander.3

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

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

Alexander.3

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

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

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

npocTo_LaM

New member
Oct 27, 2012
1,474
47
0
возможно не совсем верный подход к получению изображения в 256 цветов. Лучше если бы в архиве была исходная "полноцаветная" картинка, исходя из предложенного => http://rghost.ru/56091469 - картинка и спрайт:
 

Attachments

Alexander.3

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

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

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

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

Очень сложная механика ))
 
Last edited:

qpAHToMAS

New member
Oct 22, 2006
9,289
33
Alexander.3 said:
Мне показывали видео с 1 комментарий. Там как вышла невидимость

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

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

Alexander.3

New member
Sep 10, 2008
23
0
0
Мне вот индексет и не нужен, но суть работы с индексированием та же. Можете сами проверить. Вообще не заморачивался и ничего не тыкал в таблице цветов ( по умолчаю белый последний ) и сделал фон любым цветом, потом просто написал сообщение и где прозрачный буквы - цвет фона. Я уже свою теорию проверил несколько раз. Док-ва.
8c3958520260f55af164c332d7e989b8.png
 

Skaarj

Супер Модератор
Aug 12, 2004
18,747
Можно кстати сделать проще.
Берёте полноцветную картинку.
Делаете "Слой" из "Фона".
Вырезаете ненужное, в прозрачных местах будет виден шахматный фон.
Индексируете с прозрачностью.
Прозрачный цвет сам оказывается в конце палитры.
Обязательно присваиваете ему ЛЮБОЙ свет.
Сохраняете в БМП 8 бит.

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

Attachments

Game Server

CSM TV

Page QR Code

QR Code

Donate Campaign

Total amount
$0.00
Goal
$25.00

Latest profile posts

TestUser wrote on TRUP@C's profile.
Master?
TestUser wrote on TRUP@C's profile.
Hello Father

Members online

No members online now.

Discord