doom2d.org

Главная база плоских морпехов
It is currently 18 Apr 2025, 05:58

All times are UTC + 3 hours




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

Joined: 17 Oct 2009, 23:43
Posts: 7843
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: 7843
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: 7843
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: 7843
Location: \\HULK
Умеет. Но при этом происходит смешение пикселей на границе области, закрытой альфой и открытой.

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


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

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

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

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


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

All times are UTC + 3 hours


Who is online

Users browsing this forum: No registered users and 5 guests


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:  
cron
doom2d.org, since 2007