doom2d.org

Главная база плоских морпехов
It is currently 16 Dec 2025, 17:15

All times are UTC + 3 hours




Post new topic Reply to topic  [ 17 posts ] 
Author Message
PostPosted: 02 Dec 2009, 19:38 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 7908
Location: \\HULK
Проблема
На текстурах с альфой часто образуется мерзкая белая кромка по краю. Особенно это заметно на джибсах моделек (куски мяса, на которые разрывает думера слишком мощный дамаг. Мясо в этом случае выглядит слегка подгнившим.).
Image

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

Теория
Это происходит за счет смешивания крайних пикселей картинки с крайними пикселями фона. Так работает OpenGL. Чтобы побороть эту мерзость, надо определенным образом обрабатывать края спрайта под альфой:
Image

Практика
Второй вариант "без кромок". реализуется в фотошопе за десять секунд:
    1. Убеждаемся, что спрайт у нас обтравлен и находится на отдельном слое.
    2. Делаем альфу, как обычно.
    3. Переключаемся на слой со спрайтом.
      3.1 Ctrl-A (выделили весь слой)
      3.2 Ctrl-влево, Сtrl-вправо (выделили все значащие пиксели слоя)
      3.3 Зажимаем Сtrl-Alt и начинаем танцевать:
        влево-влево, вправо-вправо; (создали слева двухпиксельную обводку цвета пикселей границы спрайта, вернули спрайт в исходную точку)
        вверх-вверх, вниз-вниз;
        вправо-вправо, влево-влево;
        вниз-вниз, вверх-вверх.

      Здесь это выглядит страшно, но на практике делается за пять секунд.
      Главное понять, что при этом проиходит.
      Отпускаем Сtrl-Alt.
    4. Проверяем, что центр спрайта не сдвинулся относительно альфы.
    5. Сохраняем и смотрим, что получилось, в игре.

У меня получилось так:
Image

P.S. В процессе создания иллюстраций было пущено на ветчину штук десять L.A.R.D от Chaos Knight. Ни один думер не пострадал.
P.P.S. Мда, на старом форуме эта статья была лучше.

_________________
И неважно, что нет морей на Марсе, каждый морпех носит море в сердце.


Top
 Profile  
 
PostPosted: 03 Dec 2009, 17:30 
Offline
User avatar

Joined: 18 Oct 2009, 19:53
Posts: 162
Такое получается только если альфа составлен неправильно.
Я ни на одной текстуре такого не замечал у себя.
Кстати есть такая кнопочка - уточнить край. Там можно выделение настроить по своему усмотрению.


Top
 Profile  
 
PostPosted: 03 Dec 2009, 18:32 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 7908
Location: \\HULK
На джибсах такое получается и с аккуратной альфой.

_________________
И неважно, что нет морей на Марсе, каждый морпех носит море в сердце.


Top
 Profile  
 
PostPosted: 03 Dec 2009, 22:09 
Offline
User avatar

Joined: 18 Oct 2009, 19:53
Posts: 162
Получается это баг игры...


Top
 Profile  
 
PostPosted: 05 Dec 2009, 00:47 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 7908
Location: \\HULK
Нет, так работает OpenGL.

_________________
И неважно, что нет морей на Марсе, каждый морпех носит море в сердце.


Top
 Profile  
 
PostPosted: 05 Dec 2009, 16:11 
Offline
User avatar

Joined: 18 Oct 2009, 19:53
Posts: 162
То есть он не умеет правильно поворачивать текстуры?


Top
 Profile  
 
PostPosted: 05 Dec 2009, 19:08 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 7908
Location: \\HULK
Умеет. Но при этом происходит смешение пикселей на границе области, закрытой альфой и открытой.

_________________
И неважно, что нет морей на Марсе, каждый морпех носит море в сердце.


Top
 Profile  
 
PostPosted: 15 Jan 2010, 12:06 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 7270
Location: Владивосток
Jabberwock wrote:
P.P.S. Мда, на старом форуме эта статья была лучше.

Я считаю иначе. Тут она информативнее.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 25 Jun 2025, 16:46 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 7908
Location: \\HULK
Возможно, уже неактуально.

Я пытался воспроизвести кромку на той же самой модели, используя нетбук с gma 950, на 666 и на последней версии ДФ (7247080). Не получилось.

_________________
И неважно, что нет морей на Марсе, каждый морпех носит море в сердце.


Top
 Profile  
 
PostPosted: 05 Jul 2025, 20:41 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 7908
Location: \\HULK
Image
Все выяснилось.
Это был действительно баг рендеринга старых версий ДФ.

В 0.5 он виден чётко, в более свежих версиях я его замаскировал "грамотной альфой", и мы упустили момент, когда он перестал быть актуален.

_________________
И неважно, что нет морей на Марсе, каждый морпех носит море в сердце.


Top
 Profile  
 
PostPosted: 05 Jul 2025, 22:03 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 7270
Location: Владивосток
Jabberwock» в более свежих версиях я его замаскировал "грамотной альфой", и мы упустили момент, когда он перестал быть актуален
Надо бы её тогда поубирать с нынешних ресурсов везде, а то она мешает только.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 05 Jul 2025, 23:12 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 7908
Location: \\HULK
Чёрный Думер wrote:
Jabberwock» в более свежих версиях я его замаскировал "грамотной альфой", и мы упустили момент, когда он перестал быть актуален
Надо бы её тогда поубирать с нынешних ресурсов везде, а то она мешает только.

Не мешает вроде. Смысла не вижу. Постепенно, когда у нас все перейдет на ПНГ - она сама отпадет.

_________________
И неважно, что нет морей на Марсе, каждый морпех носит море в сердце.


Top
 Profile  
 
PostPosted: 06 Jul 2025, 11:46 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 7270
Location: Владивосток
Jabberwock wrote:
Не мешает вроде. Смысла не вижу.
Уж кому чего надо. viewtopic.php?f=54&t=1751&p=49194#p49194
Чёрный Думер wrote:
Есть такое понятие, небрежность называется. Скажем, когда кто-нибудь в дальнейшем будет смотреть отладчиком в видеопамять и задумчиво чесать репу в попытках понять, почему текстура видится сбитой - он впоследствии попомнит тебя недобрым словом, когда разберётся.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 06 Jul 2025, 16:41 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 7908
Location: \\HULK
А причем тут небрежность? Это относительно крупная и несрочная работа.
Вообще тут надо не на ТГА то, что под альфой, удалять, а весь грофон переводить на пнг.

И по уму сначала надо сделать ТГА-вад и ПНГ-вад и замерить их размеры и скорость загрузки ДФ на "быстром" и "медленном" компе.

_________________
И неважно, что нет морей на Марсе, каждый морпех носит море в сердце.


Top
 Profile  
 
PostPosted: 09 Jul 2025, 16:58 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 7908
Location: \\HULK
Статья в защиту "грамотной альфы" https://habr.com/ru/articles/328386/

_________________
И неважно, что нет морей на Марсе, каждый морпех носит море в сердце.


Top
 Profile  
 
PostPosted: 09 Jul 2025, 17:34 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 7270
Location: Владивосток
Jabberwock wrote:
Статья в защиту "грамотной альфы" https://habr.com/ru/articles/328386/
Только в том случае, если на текстурах включена фильтрация, против чего ты и сам всегда выступал.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 10 Jul 2025, 16:20 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 7908
Location: \\HULK
Точнее, если пиксель сдвигается на субпиксельную величину. При повороте спрайта это неизменно происходит.

_________________
И неважно, что нет морей на Марсе, каждый морпех носит море в сердце.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 17 posts ] 

All times are UTC + 3 hours


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
doom2d.org, since 2007