Wpuszczanie w Alpha-kanał
Tutorial dla Opornych
2003-05-14
Spis treści:
1. Co trzeba mieć
2. Oryginalny Alpha
3. Stworzenie roboczej tekstury w pliku PSD
4. Dołożenie kanału Alpha
5. (Miejsce na Artyzm :-)
6. Konwersja PSD do DXT3
1. Co trzeba mieć
Co trzeba mieć aby wykonać do modelu samolotu w FS2002 tekstury zawierające kanał Alpha czyli umiejące błyszczeć w różnym stopniu:
- model samolotu z teksturami oryginalnymi (najlepiej „paint-kit” albo tekstury mało pomalowane)
- program DXTBmp (np. z http://www.avsim.com)
- program Imagetool (w FS-ie na [FS2002]/gmax/Gamepacks/Flightsim/imagetool.exe)
- ulubiony, porządny edytor graficzny, np. Photoshop– w tym tutorialu posługuję się programem Paint Shop Pro (PSP) (shareware, patrz http://www.jasc.com)
- dużo chęci i samozaparcia :-)
W tym tutorialu pokażę, jak tworzy się teksturę z kanałem Alpha.
Jako przykład wziąłem model Boeing B747-400 v.3 gmax by Project Open Sky.
Tworzona będzie nowa tekstura boku samolotu, w malowaniu „Poland Air”.
2. Oryginalny Alpha
Miejsce akcji: DXTBmp, potem i PSP
Po pierwsze tworzymy na dysku nowy podkatalog z naszymi teksturami, równolegle do oryginalnego „texture”, pamiętając o przekopiowaniu wszystkich oryginalnych plików BMP do naszego nowego podkatalogu. W naszym przykładzie będzie to podkatalog „texture.PLA”.
Uruchamiamy program DXTBmp i z naszego podkatalogu wybieramy plik BMP z naszą teksturą boku samolotu (posky744_bodyl_t.bmp):
Tekstura otwiera się w DXTBmp- po prawej u góry jest widoczna warstwa „kanał Alpha”:
Teraz dwu-klikamy na tym kanale Alpha i otwiera nam się on w naszym wskazanym edytorze graficznym (w tym tutorialu lubimy PSP :-) :
Niewiele myśląc zapisujemy teraz kanał Alpha do pliku BMP w podkatalogu „texture.PLA”, nadając mu jakąś wiele mówiącą nazwę (posky744_bodyl_t.Alpha_ORG.bmp):
UWAGA: domyślnie plik nazywa się „norm.bmp” i zapisany jest przez DXTBmp tymczasowo na dysku C: .
3. Stworzenie roboczej tekstury w pliku PSD
Miejsce akcji: Imagetool, potem i PSP
Otwieramy naszą oryginalną teksturę (posky744_bodyl_t.bmp) w pliku Imagetool. Jak widzimy ma ona format 16-bit (4444) z kanałem alpha. To nie szkodzi. Nam chodzi o czysty obrazek:
Zmieniamy format oryginalnej teksturki na 32-bit (płaska bitmapa bez żadnych kanałów):
Zapisujemy teksturę w zmienionym formacie z powrotem do pliku o tej samej nazwie (posky744_bodyl_t.bmp):
Tak, tak, możemy zamienić:
A teraz elegancko otwieramy naszą przekonwertowaną teksturę (posky744_bodyl_t.bmp) w PSP:
Zapisujemy teksturę jako plik w formacie Photoshop (*.psd). To da nam możliwość operowania na warstwach („layers”). Zapisujemy do posky744_bodyl_t.psd:
4. Dołożenie kanału Alpha
Miejsce akcji: PSP
No a teraz najważniejszy punkt: „doklejenie” kanału Alpha do naszej tekstury.
Pozostajemy w PSP, wchodzimy w Masks->Load From Disk:
Wczytujemy nasz uprzednio przygotowany plik z kanałem Alpha (a dokładniej z obrazkiem kanału Alpha w BMP- posky744_bodyl_t.Alpha_ORG.bmp):
Teraz NAJWAŻNIEJSZE: robimy „Save [mask] To Alpha Channel”:
Pojawia się okienko dialogowe:
Potwierdzamy „OK” a następnie wymyślamy nazwę na ten kanał (tak w ogóle to jak widać może być więcej takich kanałów ale FS akceptuje (chyba) tylko jeden):
Na koniec usuwamy niepotrzebną już maskę:
Tyle tylko, że musimy odpowiedzieć „Nie” na pytanie o „mask merge”:
5. (Miejsce na Artyzm :-)
Miejsce akcji: PSP lub inny edytor
To teraz pozostało w zasadzie tylko tę teksturkę wymalować :-)))))))
( ----- )
6. Konwersja PSD do DXT3
Miejsce akcji: Imagetool
Na koniec jeszcze wciągamy gotową pomalowaną teksturę (posky744_bodyl_t.psd) do Imagetool:
I teraz zmieniamy format na odpowiedni wyjściowy.
UWAGA1: autor stosuje (z powodzeniem :-) technikę formatowania przemalowanych tekstur do formatu DXT3, pomimo, że oryginalna była w formacie 16-bit (4444) [czyli 444] lub DXT1 (z Alpha 1-bit- jest albo nie ma świecenia). Dotychczasowe doświadczenia pokazują, że jeżeli model jest w gmax-ie (lub FSDS2) to i zawsze potrafi pokazać teksturę w DXT3.
UWAGA2: jeżeli na modelu tekstura jest nieco rozmyta to trzeba poeksperymentować z liczbą MipMap- np. dla modelu FSDS2 lepiej jest dać 1-dną MipMapę niż 9...
Tak więc zapisujemy teraz teksturę do pliku posky744_bodyl_t.bmp:
I potwierdzamy, że chcemy zamienić:
Kontrolnie dla sprawdzenia formatowania możemy zamknąć Imagetool i otworzyć teraz teksturę z pliku posky744_bodyl_t.bmp w DXTBmp. Po prawej stronie u góry widać, że do tekstury „doczepiony” jest poprawny kanał Alpha:
Teksturka gotowa.
Można ją teraz testować w FS-ie
UWAGA: nie zapominajcie o wyjściu z FS-a i ponownym wejściu!