Strona archiwalna. Aktualne linki: Strona główna · Download · Forum.

Strona ta opisuje tworzenie tekstur dla modeli 3D i scenerii dla potrzeb symulatora MaSzyna EU07-424.

Teksturę (obrazek 2D nakładany na obiekt 3D) możemy albo narysować w programie graficznym, skanując model albo fotografując rzeczywisty obiekt.
Druga metoda byłaby najłatwiejsza gdyby nie to, że prawie nie ma modeli polskiego taboru, nie mówiąc już o budynkach. Ponadto modele fabryczne są zbyt czyste ;-)

Metoda fotograficzna polega na zrobieniu zdjęcia rzczywistemu obiektowi, ale muszą być spełnione pewne warunki.
Nie może świecić ostre słońce, które tworzy smugi cienia na fotografowanym obiekcie.
Nie ma żadnej gwarancji że w symulatorze światło będzie padać pod tym samym kątem!
Najlepsza pogoda to lekkie lub średnie zachmurzenie, ale nie deszczowa, bo wtedy mokre płaszczyzny błyszczą. Zima rownież dyskwalifikuje zdjęcia chyba że robimy scenerie zimową. Drugi problem to obiekty (słupy, drzewa itp) zasłaniające nasz obiekt.
Na szczęście, jeśli obiekt zasłaniający nie jest zbyt duży, można go wyretuszować albo zrobić dwa zdjęcia pod róznymi kątami i skopiować.

Uwaga - w przypadku uzywania cyfrowego aparatu fotograficznego trzeba koniecznie wyłączyć automatykę balansu bieli. Jeśli aparat ma możliwość pomiaru balansu bieli to dobrze mieć ze sobą kawałek czegoś co może służyc za wzorzec szarości (np. tani papier toaletowy :)
Jeśli obiekt jest długi i nie możemy go zmieścić na jednym kadrze, to należy ustawić pomiar światła na spot, inaczej bedziemy musieli pracochłonnie dobierać jasności w celu sklejenia obrazków.

Do pozyskiwania tekstury ze zdjecia konieczny jest program graficzny który potrafi skorygować zbieżność perspektywy. Ja używam rewelacyjnego programu Infinity Textures, który potrafi zdziałać cuda nawet ze zdjęciami z efektem beczki nie mowišc o zdjeciach płaszczyzny nierownoległej do osi aparatu.
Poniżej próbka:

Textractor

Narzędzie Textractor umożliwia, poprzez deformacje siatki, usunięcie deformacji obrazu (wynik w prawym oknie).
Program posiada też wiele innych narzędzi, np. Make Seamless generujące tekstury kaflowe (tzw. tiles, czyli umożliwiające bezszwową replikację).
Wersja demo posiada ograniczenia: 30 dniowy trial oraz maksymalny rozmiar 255x255, ale to ostatnie to akurat raczej zaleta, bo trzeba się ograniczać z rozmiarami tekstur ze względu na wydajność symulatora oraz możliwości słabszych kart graficznych. Ponadto np. dłuższą teksturę zawsze można skleić z kawałków.

Otrzymaną teksturę należy jeszcze wyretuszować. W powyższym przykłądzie należy usunąć fragment tablicy z nazwą stacji oraz antenę satelitarną, ponieważ są to oddzielne obiekty 3D zasłaniające ścianę którą chcemy oteksturować.
Retusz można robić w każdym dobrym programie graficznym, który posiada narzędzia do klonowania oraz możliwość wklejania z miękkimi krawędziami.
W poniższym przykładzie stosowano narzędzie Klonuj (na dole paska z lewej strony) programu PhotoPaint, ale programy Freeware i Shareware też mają takie narzędzia. Narzędzie to maluje w danym miejscu kolisty fragment próbkowany z innego miejsca obrazu:

Retusz

Gotowa tekstura powinna być kwadratem lub prostokątem o rozmiarach będących potęgš 2, czyli np. 64x64, albo 8x256 lub 512x128 itp.
Nie należy się zbytnio przejmować ściśnięciem obrazu w pionie lub poziomie, bo i tak zostanie to skompensowane przy nakładanu na obiekt 3D.
Zapisać ją można w formacie *.BMP lub *.TGA, ale ten ostatni jako podformat normalny a nie ulepszony, bo nie zostanie wczytany prawidłowo.
Ponadto format *.TGA umożliwia zdefiniowanie przezroczystych fragmentów tekstury za pomocą maski przezroczystości (kanału alpha).
Trzeci format, *.TEX, wychodzi powoli z użycia (wymaga specjalnych konwerterów).

Format pliku a mipmaping.
Symulator używa mipmapingu czyli wyświetlania piksela o zawartości zależnej od sąsiadujących pikseli. Dzieki temu omija się efekt pikselizacji, czyli oglądania dużych kwadratowych pikseli przy oglądaniu obiektu z bliska lub przeskakiwania pikseli (co tworzy efekt mory interferencyjnej) przy oglądaniu z bliska.
Dla plików *.BMP przyjęto model GL_LINEAR (słabsza filtracja), a dla plików *.TGA model GL_NEAREST (mocniejsza filtracja, więc tekstury Targa będš mocniej rozmywane. Sprawdzić to można w praktyce zamieniając AsphaltDark1_DashedWhite.bmp albo Rail_screw_uNused1.bmp na format *.TGA i obserwując scenerię z tak podmienionymi plikami.
Filtrację mipmapingu można wyłączyć bądź też ograniczyć stosując nazwę pliku zaczynającą sie znakiem #.
Jest to przydatne, jeśli tekstura ma obszary przezroczyste których kolor jest jaskrawy, filtracja spowoduje zabarwienie tym kolorem pikseli na krawędzi nieprzezroczystego obszaru.

Jeśli w symulatorze obiekt nie jest pokryty teksturą tylko jednolitym kolorem (zdefiniowanym T3D jako Diffuse, na ogol bialy), to na ogół wynika to z błędów przy wczytywaniu tekstury (co powinno być uwzględnione w log.txt).
Błędy te to na ogół brak tekstury we właściwym miejscu, zły rozmiar tekstury (np. 255x255 zamiast 256x256) albo niekompatybilny podformat Targa Bitmap.

Gotowa tekstura:
Gotowe

Powyższa tekstura (oraz kilka innych) nałożona na obiekt 3D:
3D
Poprawki wymagały tekstury wsporników, widać białe piksele na krawędziach wynikające z opisywanej wcześniej filtracji.
Po zamianie białego koloru przezroczystości na czarny problem zanikł.

Z powrotem - na główną stronę

Edycja Modeli
Edycja Scenerii

Ostatnia modyfikacja:
2008-09-14 aktualizacja linków by @Ra