Skocz do zawartości

Texture bleeding - pytanie o pomoc


Bhaal

Rekomendowane odpowiedzi

Hej

 

Moje pytanie będzie odnośnie tworzenia textury do budynku zrobionego z modułów.

Obejrzałem sobie tego tutka: https://www.3dmotive.com/f101001 i robiąc na jego podstawie

swój budynek mam problem i nie wiem czy ja coś robię źle czy tego nie da się obejść. Mianowicie zrobiłem sobie parę różnych textur tapet, które miały ozdobić wnętrze mieszkania. Problem jest taki, że występuje bleeding pixeli znajdujących się obok i pixele z jednej tapety nakładają się na sąsiednią co objawia się krechą po złożeniu ścian. Wiem, że obejściem jest skalowanie mapowania parę pixeli i powielenie ich aby był pewien margines ale cała metoda przedstawiona w tym tutorialu robi się w tym przypadku bezużyteczna bo za nic w świecie nie dopasuje się idealnie textury tapety, która ma jakieś tam fikuśne wzorki. Czy jedyną metodą jest stworzenie osobnych textur wypełniających całą przestrzeń? Wiem, że w filmiku autor ma na końcach ścian inne elementy 3D i

wtedy nie jest to zauważalne u niego.

Formatem jaki wybrałem jest TGA a program docelowy Unity.

 

Z góry dzięki za pomoc :)

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 11
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Top Posters In This Topic

Zobacz np. tutaj:

http://www.photoshoptextures.com/texture-tutorials/seamless-textures.htm

wystarczy przesunąć horyzontalnie a potem wertykalnie teksturę w Photoshopie, dzięki czemu już w PS zobaczysz te "szwy" i będziesz miał możliwość ich usunięcia czym tam Ci się będzie podobało, czy to łatką, czy to clone stampem.

Odnośnik do komentarza
Udostępnij na innych stronach

Dzięki za odpowiedź ale ja nie o tym pisałem i tiling to umiem robić ;)

Jak pisałem chodzi mi o to, że mam parę textur w jednym pliku czyli cała textura ma np 2048x2048 i pomniejsze texetury składające się na nią mają po 512x512 - 4x4 różne tapety ścian w jednym pliku i każda z osobna ma idealny tiling. Jeszcze raz odsyłam do linka powyżej i popatrzenia na jakiej zasadzie jest to robione. Po złożeniu ścian z tej textury mam bleeding sąsiedniej textury (innej) a nie zły tiling :)

Odnośnik do komentarza
Udostępnij na innych stronach

to jest zwiazane z filtrowaniem textur - pixele znajdujace sie po obu stronach edga uv sa blendowane w jakis tam sposob (odsylam do wiki po detale :) - dlatego jak chcesz tego uniknac to miej tylko jedna tileujaca sie texture w pliku (czyli zamiast 'atlasu' 2048x2048 skladajacego sie z 4x512 roznych textur - trzymaj je w 4 osobnych plikach...

 

mam nadzieje ze o to mniej wiecej pytasz :)

 

pozdrawiam

f.

Odnośnik do komentarza
Udostępnij na innych stronach

@Ftorek - dokładnie o to mi chodziło :) i dlatego chciałem się upewnić czy tak muszę podzielić textury czy jest jakaś metoda o której nie wiem i coś może jeszcze nie tak robię ale rozwiałeś moje wątpliwości :) dzięki

Odnośnik do komentarza
Udostępnij na innych stronach

Atlasy tekstur są często stosowane bez tego typu problemów.

W jakim formacie zapisujesz - jeśli to np DDS to masz różne ustawienia wyostrzania/filtrowania tekstury w mipkach kiedy zapisujesz plik w PS.

Jeśli zapisujesz w innym formacie silnik na pewno procesuje teksturę do ddsa, w tym przypadku programista graficzny może pomóc zmienić filtrowanie.

 

Jeśli to nie pomoże a potrzebujesz atlasu tekstur, zrób coś takiego na każdej tex (upewniwszy się że się ładnie tilują)

 

LvglU3Q.jpg

 

Parę pikseli z każdej strony powinno wystarczyć.

Odnośnik do komentarza
Udostępnij na innych stronach

Ja zapisywałem do TGA a z tego co wiem to Unity przerabia na DDS`y i tam próbowałem zmienić ustawienie filtrowania z dostępnych ale albo mi to rozmywało albo wyostrzało, że poszczególne kwadraty widziałem co też nie było pomocne :)

Właśnie to co podałeś Gutekfiutek to też mi się wydało dobrym rozwiązaniem jak widziałem w necie tutki itp. tylko, że ten tutorial do modelowania modularnego gdzie najpierw robiona jest textura na gridzie w PS a potem na tej podstawie idealnie wycinane elementy 3D już nie będzie dobry. Bo z tego co wiem w 3Dmotives (i DigitalTutors też mieli podobny tutek) to było o tyle dla nich dobre, że mapowanie mieli idealnie dopasowane i nie musieli ruszać UV`ek ręcznie. Bo jeśli ja zrobię margines 5 pixeli z każdej strony to teraz mapowanie muszę ręcznie zeskalować o te 5 pixeli a ręcznie nie ma możliwości abym idealnie to zrobił aby potem nie było widać kreseczki łączącej dwa meshe.

 

Załączam obrazek o co mi chodzi:

 

krecha.jpg

 

PS. Nie wiem czy widać na screenie o co mi chodzi bo przy tej pixelozie tak się zlewa, że wygląda jak by było ok :) ale generalnie jest ewidentna linia i nie ma ciągłości w tilingu.

Odnośnik do komentarza
Udostępnij na innych stronach

To nie chodzi o filtrowanie w tych powyższym przypadku tylko już o mapowanie bo jeśli masz idealnie dopasowany wzorek i naruszenie o parę pixeli UV spowoduje widoczną kreskę. Chodzi o to, że aby nie było bleedingu to albo:

 

A: zrobić osobne textury jak napisał ftorek

B: zrobić marginesy jak napisał gutekfiutek z tym, że trzeba zeskalować mapowanie ale to spowoduje i tak, że będzie widać kreskę bo nie da się co do pixela dopasować mapowania aby było idealne przy tej metodzie a bleeding i tak będzie bo te marginesy i tak wjadą na właściwą texturę.

 

Dobrze to rozumiem?

 

Wyłączenie mapowania to wiadomo, że pomoże i nie trzeba będzie robić marginesów ale nie użyje takich pixeli dużych potem w grze.

 

Chyba, że ktoś ma przykład własny takiego atlasu z różnymi texutrami z powtarzającymi się wzorkami i mógłby umieścić jak to wygląda to mogłoby być pomoc :)

Odnośnik do komentarza
Udostępnij na innych stronach

Co do B: teoretycznie jesli zrobisz to dokladnie to nie powienienes miec szwu. Rozumiem, ze ta tekstura tiluje sie w obrebie pomniejszonego kwadratu.

 

Generalnie unikalbym az tak skomplikowanego pakowania tilowanych tekstur.

Albo ograniczyl do laczenia ich w pionie (czyli tiluja sie po bokach). W ten sposob mozesz upakowac np. 4 texy po 512 na 512x2048. Dziala bezbolesnie jesli wrzucasz tekstury sciany od podlogi po sufit.

 

Jesli robisz tylko male enviro to olej sprawe. Czas spedzony na ustawianie tego nie jest wart teoretycznego zysku wydajnosci. Oczywiscie jesli robisz cos wiekszego to jasne, ze warto ograniczyc liczbe materialow itp..

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się



×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności