Skocz do zawartości

Pytanie: Teksturowanie gigantycznych modeli


Rekomendowane odpowiedzi

  • Odpowiedzi 28
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Napisano

Kurde :-) Tak szybkiej odpowiedzi się nie spodziewałem choć na taką liczyłem ;)

Póki co wysmarowałem coś takiego:

http://img29.imageshack.us/img29/7869/13192558.jpg

problem w tym, że to tylko 3 tekstury.

Malując jednym z 3 podstawowych kolorów od razu umieszczam w tym miejscu na siatce odpowiednią teksturę.

 

Empeck, a czy stworzenie powiedzmy 4 tekstur (tak dla uproszczenia) :

1 - 0.0.255

2 - 0.255.0

3 - 255.0.0

4 - 125.67.87

 

to czy pomalowanie vertexów na ten 4 kolor nie spowoduje wyświetlenia 3 pierwszych tylko w odpowiedniej proporcji?

idąc dalej tym tropem można uzyskać nie wiem (16 mln. :D ) 20-30 tekstur i nimi 'malować' po vertexach. hm?

Napisano

Musiałbym sprawdzić, ale tak to właśnie powinno działać. W Twoim przykładzie używasz maski na texturze, myślę, że lepiej będzie użyć vertex color. W UDK możesz malować bezpośrednio po obiekcie, na bieżąco będziesz też miał podgląd materiału. Możesz też rozbić obiekt na kilka mniejszych i dla każdego użyć innych zestawów tilowanych textur. W ten sposób będziesz miał większe zróżnicowanie materiałów.

Napisano

Z tym tylko, że sam vertex color opiera się na wierzchołkach.

Jeśli chcę uzyskać dość dokładne odwzorowanie tekstury na obiekcie to ten obiekt musi posiadać odpowiednio gęstą siatkę. Im ona gęstsza tym bardziej złożone może być wypełnienie teksturami. W ekstremalnym przypadku, osiągnięcie pożądanego efektu może spowodować zagęszczenie siatki nie mające wiele wspólnego z geometrią modelu.

Zatem pojawia się pytanie o rozsądne gęstości modeli.

Można (niby) zrobić retopo i konkretnie ustalić siatkę tak aby konkretne vertexy wypadły w miejscu do tego pożądanym. Jeżeli nie ma innego wyjścia (mniej pracochłonnego) to spoko. Po prostu na efekt będzie potrzeba więcej czasu i tyle.

Ale wracając:

tutoriali w necie na temat vertex color przy użyciu więcej niż 2-3 tekstur jest jak na lekarstwo. Oględnie pisząc. Czy jest szansa na podesłanie lub wrzucenie tutaj screena jak taki materiał mógłby wyglądać dla większej ilości tekstur?

Napisano

Dla większej ilości textur na materiał będzie ciężko. Masz do dyspozycji tylko cztery kanały. Możesz sobie pomóc miksując vertex color z maską jaką masz w trzecim poście, a najlepiej odpowiednio zaplanować obiekt i nadając odpowiednie materiały na ściany/podłogi/sufity. Mają trzy textury na każdy obiekt (z których na przykład tylko jedna się powtarza na obu obiektach) możesz uzyskać całkiem niezły efekt. Pamętaj też, że im bardziej skomplikowany materiał, tym gorzej dla wydajności.

 

Co do cięcia obiektu pod vertex color, fajnie w Tomb Raider Anniversary była cięta geometria pod oświetlenie do vertexów. W na podłodze w drzwiach siatka była tak pocięta, by sprawiało wrażenie, że drzwi rzucają cień do wnętrza pomieszczenia :)

 

Wracając do Twojej scenki, nie wiem jak ją zaplanowałeś, ale może warto użyć Terrain z UDK? On jest bardziej elastyczny niż static mesh.

Napisano

Źle się wyraziłem.

To, że materiał będzie miał 3 tekstury (jak u mnie obecnie) to jest ok.

Kwestią dość istotną jest aby utworzyć powiedzmy 5 czy więcej materiałów i tak ustawić je aby odpowiadały poszczególnym kolorom vertexów.

Następnie malując po bryle konkretnym kolorem uzyskać w tym miejscu konkretny materiał. Dla dwóch góra 3 materiałów to tutoriale są. Dla większej ich ilości... niestety nie. Innymi słowy, czy przy 5 lub więcej materiałach można je podpinać pod konkretne kolory vertexów? A jeśli tak to jak to ustawić?

Przepraszam za prymitywne pytania ale myślenie o tym przez 3 tygodnie może solidnie wyjałowić inteligentniejsze pytania o to. ;)

Napisano

Ciężko powiedzieć. Trzy textury na materiał są o tyle łatwe, że za texturę odpowiada jeden kanał 0 - 255. Przy większej ilości to już jest kombinowanie, tutaj raczej nie pomogę :/

  • Like 1
Napisano

Możesz podzielić mesha na wiele róznych meshy. Wtedy malujesz vc tak żeby mieć tex np trawy i błota, potem plamę piasku, w tej plamie piasku robisz nowego mesha który jako tex ma piasek i powiedzmy kamienie i skała.

Czyli pomiędzy/na krawędziach poszczególnych obiektów masz teksturę "spajającą", która używa tego samego mapowania na wszystkich obiektach.

W maxie używa się do tego material ID.

W tym twoim meshu np. skała może być oddzielnym obiektem btw. Jeśli chodzisz po górnej powierzchni to nie ma sensu robić idealnego przejścia.

 

Co do masek vs. vertex color - maski zajmują zawsze trochę pamięci i komplikują shadery, poza tym jeśli maska będzie w niskiej rozdzielczości to piksele będą widoczne.

Używając vc możesz dzielić siatkę tam tylko gdzie masz przejścia między materiałami.

  • Like 1
  • Confused 1
Napisano

Adam lepiej wyślij chłopakom jakieś sześciopaki bo zasłużyli :D

 

BTW, gutek tutek z vertex normals i krzaczorami świetny, naprawdę kawał dobrej roboty :)

Napisano

Żeby nie było aż tak różowo to mam kolejne pytanko.

Jak można by przenieść pomalowane vertexy z maxa do udk?

Wprawdzie mogę je malować w UE ale z potrzeby późniejszego cięcia modelu wolał bym robić to w dość uporządkowany sposób.

Mam poustawiane modele (ew. boxy je reprezentujące) na terenie.

W edytorku owszem mogę to pomalować ale w chwili gdzie zachodzi potrzeba pocięcia terenu na mniejsze kawałki to udk już tego nie oferuje (albo czegoś znowu nie wiem).

Robiąc analogicznie w maxie mam pełną kontrolę nad wszystkim: cięciem modelu, układaniem boxów/modeli contentu a na malowaniu vertexów kończąc.

Z jedną ale dość sporą kłodą pod nogami na końcu.

Mam pocięty i pomalowany teren. Jak go przenieść do udk nie tracąc informacji o pokolorowanych vertexach?

W exporcie ase mam zaznaczone vertex colors ale po importowaniu tegoż do udk jakoś te vertexy kolorowe nie są... Coś pomijam? Nie zaznaczam? Może jest potrzebne jeszcze 'coś' i zadziała?

Napisano

Dziwne, ASE wyeksportowane z XSI przenoszą Vertex Color (czasem ten eksport się psuje z niezrozumiałych powodów, ale przeważnie działa). Ewentualnie możesz spróbować przenieść swój obiekt za pomocą Collady - dawno tego nie robiłem, ale powinno działać.

Napisano (edytowane)

Hm. Wniosek z tego (skoro maxik ma już export do ase), że to ja czegoś nie wiem/nie robię i dlatego jest lipa.

A czy podczas importu do udk z xsi zaznaczasz cos takiego jak replace vertex colors?

 

51764927.jpg

 

 

Czy zaznaczenie tego lub nie zmienia cokolwiek?

Bo jakoś nie byłem w stanie tego stwierdzić ponad wszelką wątpliwość...

Albo ja coś nie tak robię z malowaniem samego modelu.

Edytowane przez Adamek
Napisano (edytowane)

ja exportuje co prawda z blendera, ale przy imporcie do udk nie mam takiej opcji :| a vertexy przenosi

Edytowane przez szczuro
Napisano (edytowane)

Niestety te teksturowanie modeli vertex paint'em nie klei mi się jakoś specjalnie.

Oto kolejnośc wykonywanych kroków:

 

72918960.jpg

1. Model podzielony na kawałki.

Nie ma znaczenia (przynajmniej w tym wypadku) czy poszczególne grupy polygonów

będą miały przypisane ID czy tez nie. Model jest unwrapowany jak zwykły model.

Mogę dać ew. uvw typu box ale to nie załatwia sprawy.

Nie zawsze takie mapowanie jest wskazane, zwłaszcza kiedy jest to teren.

 

98238369.jpg

2. Ustawienia eksportu.

 

44478840.jpg

3. a tutaj test shadera.

Jak widać zwłaszcza na kwiatkach tekstura nie nakłada się 'bezszwowo'.

Przy używaniu tekstury np. trawy jest to o wiele mniej znaczne ale nie samą trawą człowiek żyje ;)

Już to było zauważalne na przykładzie samego checker'a, tam też te kwadraty

się nie układały idealnie. Tak też i wychodzi sprawa samego teksturowania w udk.

Tam też widać ewidentne szwy. Gdzie robię błąd? Pominięcie samego mapowania

i przypisanie polygonom tylko ID nie daje możliwości nakładania tekstury.

Jakakolwiek modyfikacja modelu względem nakładania tekstur z miejsca powoduje

powstawanie takich wyraźnych krawędzi na modelu.

Szczerze pisząc nie mam już pomysłów jak to poprawnie wykonać choć mam przeczucie,

że jest to metoda na tyle prosta, że po prostu gdzieś się zapędziłem nie w tą stronę co potrzeba.

Czy jest szansa na podanie skromnego noł hał jak to się je? Nie musi być w maxie.

Podejrzewam, że jest to sposób niezależny od softu. Hm? :)

Edytowane przez Adamek
Napisano (edytowane)

Ło matko... szybcy jesteście :D Na początku wpakowałem tylko obrazki a potem dopisałem opis.

Nie spodziewałem się, że ktoś po 5 min. od zapostowania już będzie tu zaglądał. W dodatku o tej porze ;)

A nie łatwiej teren w tym przypadku zrobić w edytorze?? Tam sobie malujesz textury na 'meshu' terenu warstwami.

Owszem ale to co pokazałem jest tylko przykładem. Takim 'akademickim' ;)

Mój model jest 10x bardziej skomplikowany, z systemem jaskiń i korytarzy i do tego stoi na dworze :) Tak więc malowanie texem po nim jak po terenie generowanym height mapą odpada.

A jest dośc spory bo po kilkadziesiąt metrów w każdym wymiarze.

Edytowane przez Adamek
Napisano

Szwów nie unikniesz. Twój sposób jest dobry, ale musisz przemyśleć gdzie umieścić szwy, jak je zamaskować. Nie wiem jak cały obiekt wygląda, być może da się szwy schować na jakichś załamaniach. Może szwy zamaskować static meshami? Roślinnością, jakimiś kamieniami, itd.

 

Możesz też spróbować zrobić drugie mapowanie, które będzie ciągłe tam gdzie na pierwszym jest szew i następnie na vertexach namalować maskę tak, by szwy były ukryte przez odpowiednie operowanie mapowaniem textury.

 

Tak na szybko wymyślone, nie wiem jak się to sprawdzi w praniu.

Napisano

Paradoksalnie miąłem nadzieję, że mój pomysł jest błędny i zostanę oświecony jakimś prostym mykiem, który mnie zwali z nóg prostotą.

Jeżeli jednak się nie mylę to model jest do kompletnej przeróbki jeśli chodzi o mapowanie.

Napisano (edytowane)

Witam, nie zakładałem nowego wątku bo ten wydal mi się podobny do tego o co chciałem was zapytać.

 

Wygląda to tak, że mam taki o to świat jak na zdjęciu poniżej

[ATTACH=CONFIG]90977[/ATTACH]

i teraz przy wiekszym powiekszeniu (zbliżeniu) chciałem aby był widoczny detal na texturze.

Prubowałem uzyskać ten efekt róznymi metodami , skalowałem samą texturę którą użyłem do malowania po obiekcie, zwiększałem rożdzielczość całej mapy ,przy 8k wydaję się że widać jest już troche wiecej detalu, jednak tak dóża mapa obciąża bardzo pamięć mojego komputera.

 

Udało mi się osiągnąć ten efekt w 3ds maxie, używając modyfikatora Vertex-Paint , zwikszając Tiling , iteraz po wyrenderowniu do textury detal jest rozmazany.

Poniżej dwa zdjecia, przed wyrenderowaniem i po.

[ATTACH=CONFIG]90973[/ATTACH][ATTACH=CONFIG]90976[/ATTACH]

Mam teraz pytanie, czy jest jakieś nażedzie (sposób) do 3ds maxa (ewentulanie Cinema4d, Maya) dzięki czemu można by wyrenderowć texture z szczegółami przy dóżym powiekszeniu.

Edytowane przez lsebastian
Napisano (edytowane)

Nie wiem czy się zrozumieliśmy. Chodziło mi o to, żeby po wypaleniu textury używając na przykład narzędzia "Render to Texture" w Maxie, detal był wciąż widoczny na texturze przy DUŻYM POWIEKSZENIU , jak tutaj

[ATTACH=CONFIG]90978[/ATTACH]

 

LWF z tego co się zorientowałem sluży tylko do poprawiania kolorów i światła.

 

Kolego, uważaj proszę na orty bo aż oczy bolą jak się ciebie czyta.

Edytowane przez lsebastian
Napisano

Przy LWF po prostu musisz poprawić game textur zdegamować ją w P.S. 0.454 w kazdym kolorze, bądź zrobić korekcję programową. To apropo wtrąconego LWF.

Sprawdź czy na wprowadzonej texturze nie masz włączonego filtru który będzie ją oblukrowało. Patrze ,że masz bardzo duży obszar. Możesz użyć tajlowania. Textura musi być bezszwowa. Zrób to w P.S. Dobrze by było jakby nie było w texturze zbyt dużych kontrastów by nie było aż tak widać ,że textura jest powielana. Mógłbyś spróbować podzielić obszar na części nawet go pociąć I texturować partiami. Ewentualnie użyć UV set'ów (nie wiem jak to w maxie się nazywa). Poprostu dla kazdeg obszaru robisz oddzielne UV i rozmieszczasz je w roznych obszarach UV potem przypisujesz dla nich oddzielne textury.

 

Otworz swoja texture w P.S. i zobacz jak bardzo mozesz sie do niej przyblizyc... Jak masz za mala rozdzialke to cudów nie będzie max jej nie dorobi. W nowym maxie mozna wczytywac rys wektorowe xD wtedy mozesz przyblizac i przyblizac i przyblizac...

Napisano (edytowane)

W UDK możesz zrobić shader bazujący na odległości obiektu od kamery. Mały przykład:

[ATTACH=CONFIG]90982[/ATTACH]

Edytowane przez A3RO
Napisano (edytowane)

Pozostanę chyba jednak przy Vertex-Paint i tajlowaniu obszaru tam gdzie będzie duży zoom . Dzielenie całego obszaru na części, czy użycie Multi Sub Object (jeśli o to ci chodziło) będzie nadal generować textury o dużej roździelczosci , w miejscach gdzie będzie duże zbliżenie i wolałbym zrobić całość na jednej texturze..

Fajna sprawa z tym wektorem, nie wiedziałem że Max ma takie możliwości, tyle ze ja używam grafik rastrowych .

 

Ma to być film, więc niekoniecznie potrzebuje wyrenderować texture na jedenej mapie, z uwidocznionym detalem na zbliżeniu.

Zastanawiałem się jednak jak uzyskuje się w grach czasem taki detal przy wielkim zbliżeniu, bo przecierz textury nie maja roździelczości po 16k.

 

- - - Połączono posty - - -

 

Ale UDK to juz silnik gry, a ja szukałem nażedzia do 3ds maxa, ale to oczym piszesz A3RO wyjaśnialo by to o co pytałem na końcu.

Edytowane przez lsebastian
Napisano (edytowane)

Sorry ale jestem trochę zmieszany, nie jestem pewien do czego wsumie można wykożystać LWF i czy da to określony efekt, Sebazx6r pisał coś o korekcji gamy na texturze, może właśnie to jest to, muszę to sprawdzić.

 

Sprawdziłem też jak bardzo można przyblizyć się do textury w Ps po tajlowaniu w małej skali, i daje to nawet dobry efekt przy roździelczości 4k.

 

Albo jak zauważył A3RO dodanie shadera do textury ( naprzykład bump mapy) rozwiązuje ten problem.

 

Dzieki wszystkim za pomoc.

Edytowane przez lsebastian

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