Forum www.msts.fora.pl Strona Główna www.msts.fora.pl
MSTS - Polskie Forum
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

TUTORIAL: Jak uzyskać wysoką jakość tekstur w repaintach.

 
Napisz nowy temat   Odpowiedz do tematu    Forum www.msts.fora.pl Strona Główna -> Archiwum / 2D
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Gordon
Użytkownik


Dołączył: 10 Lis 2008
Posty: 1362
Przeczytał: 0 tematów

Pomógł: 41 razy
Ostrzeżeń: 0/3

PostWysłany: Pią 10:38, 15 Maj 2009    Temat postu: TUTORIAL: Jak uzyskać wysoką jakość tekstur w repaintach.

TUTORIAL: Jak uzyskać wysoką jakość tekstur w repaintach. Można też zastosować, do poprawy starych modeli.

Zaprezentuję pewną kwestię na przykładzie wagonów sypialnych autorstwa PP, a dokładniej tekstury dachu tych wagonów.

Na początek należy się zaopatrzyć w najnowszą edycję programy TGAtools opierającą się o Aceit. Najnowszy TGAtools nie jest dostępny osobno a tylko w pakiecie Route Riter. Starsze wersje TGAtools nie posiadają potrzebnych nam opcji (np. nie eksportują do DXT tekstur 1024, nie mają opcji ditheringu). Pakiet Route Riter dostępny jest tu

(plik: RR7560FU.zip):

[link widoczny dla zalogowanych]

WSTĘP

Przyjrzyjmy się teksturze, dach bardzo płynnie przecieniowany:



W programie ShapeViewer też wszystko 100% w tak jak powinno być:



Niestety w MSTS się kiełbasi i tekstury są poszarpane:



Dzieje się tak dlatego, że MSTS to stara gra i jej engine nie obsługuje 16 milionów kolorów, więc niestety trzeba stosować pewnego rodzaju sztuczki aby to ominąć. Są dwa sposoby na ten problem, stosowanie tekstur DXT lub tekstur z 16-bitowym ditheringiem. Żadna z tych metod nie jest niestety idealna, poniżej przedstawię zalety i wady obu oraz podam instrukcję jak i kiedy zastosować.

DXT

Tekstury idealnie przecieniowane zarówno z daleka jak i z bliska:





Niestety DXT możemy używać, jedynie na tych teksturach, które nie mają w sobie elementów w kanale alpha (półprzeźroczystych, zwykle szyby)

No i właśnie w tym przypadku kanał alfa szyby zaznaczonej strzałką został zamieniony na kanał trans (100% przeźroczystości). Zatem w tym przypadku pomimo dobrego efektu na dachu, nie możemy zastosować DXT (no chyba, że chcemy jeździć wagonem z powybijanymi szybami):



Zatem z kąd mamy wiedzieć czy możemy użyć DXT czy nie. Otóż należy popatrzeć jak na teksturze jest zrobiony kanał Alpha (w TGA TOOLS w górnym prawym rogu):

opcja A - brak kanału alfa (możemy używać DXT)



opcja B - kanał trans, czyli w okienku przeźroczystości tylko czarne i białe czyli 100% przeźroczystość lub jej zupełny brak (możemy używać DXT)



opcja C - kanał alpha, czyli w okienku przeźroczystości występuje kolor szary czyli obiekty półprzeźroczyste (nie możemy używać DXT)



Jak powinien być wykonany model 3D aby dało się stosować DXT: Okna na pudle powinny być w kanale trans tak aby wyszły 100% przeźroczyste dziury. Wtedy tworzymy osobne obiekty szyb i teksturujemy go inną niż pudło teksturą będącą w kanale alpha i nie dajemy na tej teksturze elementów, które potem mają być w DXT. Autor modelu 3D prezentowanego wagonu niestety nie zastosował takiej techniki, dlatego będzie trzeba skorzystać z 16-bitowego ditheringu ale o tym później.

Ok ale jeżeli model pozwala na eksport do DXT to jak to zrobić ??

Otwieramy teksturę za pomocą TGAtools i eksportujemy za pomocą opcji zaznaczonej na screenie:



Co jeszcze należy wiedzieć o DXT:

Jeżeli tworzymy repaint, podczas edycji eksportujemy do formatu alpha a efekty prac oglądamy w Shapeviewer, do formatu DXT eksportujemy tylko raz na samym końcu, to ważne bo ciągłe eksportowanie do DXT niszczy teksturę z powodu kompresji. Poniżej tekstura przed i po 10-krotnym wyeksportowaniu do DXT. A przy robieniu repaintu 10 eksportów to nie dużo jeżeli wprowadzamy dużo zmian.

przed:



po:



Dlatego zawsze trzymamy na dysku pliki źródłowe w formacie czystym bez DXT i w przypadku dokonywania zmian na tych teksturach pracujemy i dopiero na końcu eksportujemy do DXT.

16 bitowy dithering

Jeżeli nie możemy użyć DXT możemy spróbować użyć 16 bitowego ditheringu, będącego dobrą alternatywą dla DXT

Jak widać z normalnej odległości dach jest ładnie przecieniowany:



Z bardzo bliska natomiast widać "kropki" jednak lepsze to niż poszarpane tekstury.



Efekt "kropek" znika przy użyciu bardzo wysokiej rozdzielczości, na przykład SP32 posiada tekstury z zastosowaniem 16 bitowego ditheringu:



Z powodu wysokiej rozdzielczości tekstur nawet na zbliżeniu kropki są mało widoczne:



Niektórzy autorzy (np Antrolo) bardzo często używa 16 bitowego ditheringu zamiast DXT. Spowodowane jest to tym że DXT nawet przy jednokrotnym eksporcie "ścina" drobne detale. Choć większość tego nawet nie zauważy.

Kiedy stosować 16 bitowy dithering:

Najlepszą jakość uzyskamy tylko przy dużej rozdzielczości tekstur i nie chodzi mi tu o rozdzielczość poszczególnych plików ace a rozdzielczość na modelu: dla przykładu jeżeli ktoś da cały bok na teksturę 1024 to rozdzielczość boku modelu wynosi: 1024, ale jeżeli ktoś da bok podzielony na 3 tekstury 512 (oryginalne st44) to bok modelu będzie miał rozdzielczość 1536 czyli więcej. Jeżeli mamy wysokiej jakości materiał foto, możemy pomyśleć o zwiększeniu rozdzielczości, na przykład do repaintu ST44-1201 dysponowałem zdjęciami z lustrzanki 12 Mpix, dlatego zdecydowałem powiększyć tekstury Gagarina z 512 do 2048 i razem na modelu w poziomie uzyskałem 6144. Właściwie do wykorzystania jedynie na 22 calowym monitorze w rozdziałce 1600x1200 w największym powiększeniu w MSTS. No ale skoro materiał taki był a dzisiejsze karty graficzne mają po 256-512 ram na pokładzie to czemu nie.

reasumując 16 bitowy dithering:

W przypadku tekstur dużej rozdzielczości: Może dać lepszą jakość tekstur niż DXT (nie scina detali, "kropki" nie widoczne)

W przypadku średniej rozdzielczości tekstur: Ładnie przecieniowane ale z bliska widać "kropki", w tym przypadku lepiej użyć DXT a ditheringu używać jeżeli nie da się użyć DXT z powodu kanału alpha.

W przypadku małej rozdzielczości tekstur: Duże "Kropki" widoczne z daleka, nie ma sensu używać ditheringu, lepiej użyć DXT, a jeżeli się nie da, musimy zwiększyć rozdzieczość tekstury i dopiero wtedy użyć ditheringu.

JAK UŻYĆ DITHERINGU

otwieramy teksurę i zaznaczamy "Optimised Dither":



eksportujemy jako Alpha:



UWAGA1: Do formatu z ditheringiem NIE MOŻNA eksportować tekstur, które wcześniej były zapisane w DXT, jest duża szansa, że dithering nie zadziała i będą poszarpane.

UWAGA2: Do formatu z Ditheringiem eksportuje się (podobnie jak w przypadkku DXT) tylko raz na samym końcu. Raz zrobiony dithering, jest zrobiony na stałe i nie zniknie nawet po wyeksportowaniu do DXT (kropki dalej będą).

UWAGA3: Ogólnie zawsze trzymamy na dysku pliki źródłowe w formacie czystym (ani w DXT ani z Ditheringiem) i w przypadku dokonywania zmian na tych teksturach pracujemy i na końcu eksportujemy do wybranego formatu.

PODSUMOWANIE

Na koniec mam dwie prośby:

Do autorów modeli 3D: Dajcie nam repainterom więcej opcji, róbcie modele tak by dało się używać DXT. Ja na przykład w ET40 i większości repaintów SU45 (oprócz dachu) używałem Ditheringu ale modele przystosowałem do DXT co wykorzystał IC1403 w swoich repaintach SU45-060 i 018 jak i również ja sam w 011.

Do autorów repaintów: Mam nadzieję, że to przeczytacie i że się przyda.

Dziękuję za uwagę.

INNE TUTORIALE O TEKSTURACH:

TUTORIAL: Jak zwiększyć rozdzielczość tekstury.


Post został pochwalony 0 razy

Ostatnio zmieniony przez Gordon dnia Pią 17:22, 26 Mar 2010, w całości zmieniany 10 razy
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum www.msts.fora.pl Strona Główna -> Archiwum / 2D Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach

fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
Regulamin