Skocz do zawartości

smooth grup, hard edges jeszcze raz


Rekomendowane odpowiedzi

Napisano

Czy udało wam się wczytać takie grupy wygładzania w blenderze? Próbowałem takie formaty: obj, fbx, dae.

 

Zdaję sobie sprawę że w blenderze chodzi o sharp edges i nadanie dla obiektu Add Modifier/Edge Split wyłączenie opcji Edge Angle i pozostawienie włączonej Sharp Edges.

 

Wchodząc do edycji obiektu (obojętnie któregokolwiek z podanych powyżej formatów) nie było widać sharpedges w trybie edycji.

 

Czy ktoś z was orientuje się jak ludzie obchodzą ten bug? Przeczesałem google i zauważyłem, że od któreś już wersji ten bug występuje. Ludzie mają z tym problem.

 

Spotkałem się niejednokrotnie z opinią, że najlepiej takie obiekty rozcinać fizycznie, bo wtedy masz pewność że to wszędzie zadziała. Sam się posuwałem do takich rozwiązań, ale oczywiście to powoduje że rośnie liczba vertexów. Nie wiem do końca jak się podoba ten pomysł technicznym (gamedev).

 

To pytanie będzie raczej do wyjadacza gameartu: Zastanawia mnie jak się ma wypalanie normalmap na obiekcie który ma hardedges (duplikowane normale na twardych krawędziach) a na obiekcie który ma je zrobione poprzez fizyczne rozcięcie (ciany tworzące hardedges mają własne vertexy). Nie testowałem tego, logika mi podpowiada że będzie to samo.

  • Odpowiedzi 7
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Napisano

Raczej nie wczytasz obiektów z smooth group znanymi chociażby z maxa. Blender z tego co wiem nie obsługuje tego. Rozcięcie fizyczne a smooth group to praktycznie to samo.

Co do wypalania to pamietaj żeby każdą "smooth grupę" oddzielić kilkoma pikselami. Taka sama zasada jak w każdym sofcie.

Napisano

Liczba vertexów w engine się nie zmieni, tak naprawdę w silniku smooth groups i tak są rozcięte. Problem przy split edges to ustawianie cage a nie vertex count.

 

rsg40x.jpg

Napisano
Raczej nie wczytasz obiektów z smooth group znanymi chociażby z maxa. Blender z tego co wiem nie obsługuje tego. Rozcięcie fizyczne a smooth group to praktycznie to samo.

Co do wypalania to pamietaj żeby każdą "smooth grupę" oddzielić kilkoma pikselami. Taka sama zasada jak w każdym sofcie.

 

Niby jestem z tematem obyty, ale jednak "niedouczony" jak widać. Tutaj też pojawi się moje kolejne pytanie. Czy brak kilkupixelowych odstępów na UV w miejscach gdzie są granice smooth grupy ma związek z pojawianiem się czarnych lini na krawędziach w renderze w silniku?

Napisano

Tak, bo masz ostre przejście w miejscu rozcięcia. Normalne skierowane w różnych kierunkach, przy wypalaniu próbuje zapisać wartości obu normali na tym samym pixelu textury - w efekcie masz błąd na normal mapie. Dlatego każda smooth group powinna być na osobnej UV island. Do tego powinieneś używać averaged cage, zobacz na przykłady na obrazku.Przykład averaged i unaveraged cage masz na screenie w moim poprzednim poście.

 

2rfaqsy.jpg

Napisano

Jeszcze jedno pytanie mam w tym temacie. Mam czasami takie sytuacje, że po wypaleniu i w podglądzie mam jeden rozmazany poligon. Źle mi go wyświetla Blender i Unity a MODO ok. Ale jeśli zrobię mu podział na trójkąty (po odpowiedniej przekątnej tego poly) zaczyna wyglądać ok. Zawsze mnie zastanawiało czy nie bezpieczniej jest przeprowadzić podział na trójkąty przed wypaleniem normalmapy, tak aby mieć pewność że silnik nie zrobi sobie triangulacji w nieco inny sposób i że nie wyjdą pewne takie błędy. Nie spotykam się co prawda z taką praktyką, no ale może tutaj też jestem niedouczony :D

Napisano

wiem że w mayi są takie problemy że wygląd normalmapy się różni od tej wypalonej w np xnormalu wlasnie z powodu który opisales. Co do blendera/unity/modo to trudno powiedzieć gdzie jest problem.

Napisano (edytowane)

Prawidłowo powinieneś wypalać na ztrianguralizowanym meshu, właśnie dlatego że różne programy mogą różnie trianguralizować. Nie zawsze jednak jest taka możliwość - np. robisz na zlecenie i życzą sobie modele w quadach, wtedy zawsze mogą coś łatwo poprawić czy zmienić w LP. Można też edytować trianguralizacje polygonu, nie wiem jak w modo czy blenderze, w maxie można obracać niewidoczne edge ręcznie kiedy coś nie pasuje. Zamiast tego możesz zmienić problematycznego quada po prostu na 2 triangle. Druga sprawa to synchronizacja tangent z enginem, wypalona normalka może mieć inny tangent base (czy jak to się nazywa;)) niż wymagany przez engine.

Edytowane przez diabelt

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