FORUM PTT -

POMOC 2D - Textura

Sebek821 - 08-10-2012, 07:57
: Temat postu: Textura
Witam wszystkich. :-)

Ostatnio ciutkę myślę/kombinuję, jak zrobić żeby np. textura jakiegoś elementu tramwaju/pociągu zmienić na "przezroczystą".

Standardowo nie działa opcja (w gimpie): utwórz nowy -> przezroczysta -> zapisz jako tga.
Textura teoretycznie nie istnieje (jest przezroczysta), a po włączeniu pojazdu w T(R)S, na miejscu textury jest kolor czarny. Domyślam się, że chodzi o kanał alfa przezroczystości.

Czy moglibyście mi wytłumaczyć jak rozwiązać mój problem? (Mam nadzieje, że owy problem nie jest problemem, oraz że wiecie o co mi chodzi.) ;-)

Pozdrawiam ;-)
Wujek 082 - 08-10-2012, 08:41
:
Przezroczystość (opacity) musi być nadana w GMaxie. W przeciwnym razie nie będzie przez grę sczytywany kanał alfa. W Twoim wypadku więc należałoby dotrzeć do plików źródłowych danego obiektu.

// Edit: aaa, Ty nie używasz gmaxa. To trudno będzie Ci pomóc, bo raczej mało kto wie jak w Twoim programie nadać opacity materiałowi. Niemniej tekstura powinna mieć w sobie kanał alfa i być zapisana jako TGA 32 bity.
Sebek821 - 08-10-2012, 08:43
:
Czyli wychodzi na to że jak np. mam w tramwaju biletomat, a nie posiadam pliku źródłowego... To nie ma szans, żeby jakoś "skasować" teksturę?

Albo inaczej. Potrzebna jest ingerencja w model 3D?
Wujek 082 - 08-10-2012, 08:46
:
Tak, dokładnie. Po prostu gra nie wie, że ma czytać kanał alfa z tekstury, gdy program 3D nie daje jej o tym znać ;)
Sebek821 - 08-10-2012, 08:48
:
Ale kicha... :-? No cóż. Dzięki za szybką, i fachową "obsługę" ;-)

Temacik można zamknąć, skasować... :-)

Pozdrawiam ;-)
adamstan - 08-10-2012, 09:40
:
Hmm... z moich obserwacji wynika, że jeżeli nadamy przeroczystość w maxie, to podczas eksportu automatycznie wygeneruje się plik texture.txt z alfą. Natomiast jeżeli obiekt miał teksturę bez alfy, to oprócz utworzenia pliku graficznego z alfą, trzeba dodać wpis w pliku texture.txt tej tekstury Alpha=<nazwaplikutekstury> i wtedy OIDP alfa będzie się wyświetlać.

Tak więc po podmianie pliku tga z teksturą musisz jeszcze wyedytować plik texture.txt.
Sebek821 - 08-10-2012, 11:28
:
Hmm... No ciekawe. Dobra, popaczę później... I dam znać, czy to wypaliło ;-)


Pozdrawiam ;-)
drstrach - 08-10-2012, 12:05
:
Dodanie kanału alfa w texture.txt nie doda kanłu alfa w obiekcie, te wpisy są tylko informacją dla JetEngine, właściwe materiały są zapisane w obiekcie 3D, czyli w pliku im.
samplaire - 08-10-2012, 12:23
:
Ale chłopaki, wygląda, że Wy o różnych rzeczach mówicie.

Przez wiele modeli w ogóle nie korzystałem z programu 3d do dodawania alfy i to działa. Powiedzmy, że mamy najprostszy model typu pionowy plane, który jest kwadratowy, a chcemy, żeby był okrągły. W takim przypadku w programie graficznym robimy odpowiednie zmiany w teksturze. Można to zrobić na 2 sposoby - alfa może być w pliku tga, wtedy taki plik musi zostać zapisany jako 32bity. Dodatkowo coś trzeba jeszcze zrobić korzystając z PSa (szczerze powiedziawszy nigdy nie udało mi się przygotować pliku z alfą w PSie, zawsze to robię w Paint.NET). Wtedy w pliku texture.txt od danej tekstury wpisujemy ręcznie alpha=kupa.tga (czy jak tam nazywa się tex). Drugi sposób, to przygotowanie oprócz zwykłej tekstury tga (wtedy należy ją zapisać jako 24bity) pliku BMP o odpowiednich kolorach, czyli czarny to przezroczystość, białe brak przezroczystości, szary - częściowa przezroczystość. (tu jeszcze musimy się zdecydować czy alfa jest dwukolorowa czy w odcieniach szarości - dla TS2010+ lepiej gdy ma 2 kolory) .Tu w pliku texture.txt należy wtedy podać nazwę tego pliku BMP, czyli alpha=kupa.bmp.

Może to nie jest najbardziej eleganckie rozwiązanie gdy spogląda się potem na strukturę nazw w folderze dodatku, ale dla oka w grze nie ma to znaczenia.

Poprawcie mnie, jeśli się mylę.
adamstan - 08-10-2012, 12:29
:
drstrach napisał/a:
Dodanie kanału alfa w texture.txt nie doda kanłu alfa w obiekcie, te wpisy są tylko informacją dla JetEngine, właściwe materiały są zapisane w obiekcie 3D, czyli w pliku im.


No właśnie mi wychodzi na to, że dodaje - kilka razy przy eksporcie machnąłem się, nie dodając kanału alfa w materiale, i dopisanie go tylko w texture.txt załatwiało sprawę. Tak jak pisze samplaire.

Za to w drugą stronę, tzn. kiedy przezroczystość jest nadana w samym materiale, to nie da się jej z obiektu usunąć przez likwidację alfy w teksturze - tak jest np. z szybami w kabinach TrzcinyP, których nie da się zrobić całkowicie przejrzystych (lub nieprzezroczystych), właśnie dlatego że parametry alfy mają zapisane w materiale.
drstrach - 08-10-2012, 13:00
:
adamstan napisał/a:
No właśnie mi wychodzi na to, że dodaje - kilka razy przy eksporcie machnąłem się, nie dodając kanału alfa w materiale, i dopisanie go tylko w texture.txt załatwiało sprawę. Tak jak pisze samplaire.

Hmm, to ciekawe, po co w takim wypadku są te wpisy o materiałach w strukturze im (podejrzyj sobie jakimś hexem). Pewnie jak zwykle Australijczycy coś skomplikowali.

samplaire napisał/a:
(...)nigdy nie udało mi się przygotować pliku z alfą w PSie

IMO to jest prostsze niż w Gimpie, po prostu dodajesz nowy kanał alfa w drzewku kanałów, i albo dajesz kanał alfa z zaznaczenia, albo wklejasz z uprzednio przygotowanej mapy.
adamstan - 08-10-2012, 14:22
:
drstrach napisał/a:
Hmm, to ciekawe, po co w takim wypadku są te wpisy o materiałach w strukturze im (podejrzyj sobie jakimś hexem). Pewnie jak zwykle Australijczycy coś skomplikowali.


No trochę skomplikowali. Wszystko wskazuje na to, że po prostu przezroczystość można obiektowi nadać na dwa sposoby - albo z kanału alfa tekstury, albo poprzez własności materiału.
RBach - 08-10-2012, 15:36
:
drstrach napisał/a:
Hmm, to ciekawe, po co w takim wypadku są te wpisy o materiałach w strukturze im.


Wpis odwołuje się do pliku texture.txt (bez rozszerzenia). A z niego jet wyciąga sobie co mu potrzebne, w tym i alfy. Tak to wydedukowałem grzebiąc w IM-ach swego czasu.
Sebek821 - 10-10-2012, 14:02
:
Teraz to mi wodę z mózgu zrobiliście... :PP

To da się zrobić tak, żeby obiekt stał się "niewidzialny" dzięki texturze, czy nie? Jeżeli tak, to napiszcie mi proszę (jak najbardziej amatorsko) jak taki "cud" uczynić. ;-)


Pozdrawiam ;-)
UAZ - 10-10-2012, 14:24
:
Dajesz mu po prostu dwie tekstury, najlepiej dwa czarne piksele. Jedna tga, druga bmp i robisz tak jak w alfie. Taki patent zastosowałem w moim packu towarów do chłodni.