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.)
Pomógł: 98 razy Wiek: 35 Dołączył: 04 Cze 2009 Posty: 2250 Skąd: spod Ostrołęki
Wysłany: 08-10-2012, 09: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.
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.
Ostatnio zmieniony przez adamstan 08-10-2012, 10:41, w całości zmieniany 1 raz
Pomógł: 336 razy Wiek: 54 Dołączył: 03 Gru 2008 Posty: 6691 Skąd: Warszawa
Wysłany: 08-10-2012, 13: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.
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.
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.
Ostatnio zmieniony przez adamstan 08-10-2012, 13:32, w całości zmieniany 3 razy
Pomógł: 336 razy Wiek: 54 Dołączył: 03 Gru 2008 Posty: 6691 Skąd: Warszawa
Wysłany: 08-10-2012, 14: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.
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.
Ostatnio zmieniony przez adamstan 08-10-2012, 15:24, w całości zmieniany 1 raz
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.
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ć.
Pomógł: 54 razy Wiek: 26 Dołączył: 28 Sie 2009 Posty: 1617 Skąd: Kargowa/Wolsztyn
Wysłany: 10-10-2012, 15: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.
_________________ Jaka praca dziś, taka Polska jutro!
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