Skocz do zawartości

UDK Import combine or not combine?


carrido

Rekomendowane odpowiedzi

Witam,

Kolejny dzień siedzę nad problemem do rozwiązania. A więc Mam przykładowy domek . Kiedy importuje go do UDK jako Combined mesh(czy to w udk czy w maya) efekt jest taki, że ponieważ domek składa się z modułów połaczonych ze sobą a każdy moduł ma swoje UV na texture i na lightmap to wszystko to razem nie wypala mi light mapy w UDK poprawnie bo wszystkie uvysy każdego modułu nakładają się na siebie- jest jedna wielka sieczka. Logicznie myśląc dla odmiany zaimportowałem domek bez combine czyli wszystkie moduły oddzielnie wtedy lightmap sie nie nakłada na inne ALE domek jest w kawałkach a ja chcę go mieć całego bez składania spowrotem w UDK no i oddzielne części zaimportowały się nie które jako czarne kwadraty czyli część się zaimportowało a część nie... [ATTACH=CONFIG]87045[/ATTACH]Pomocy.[ATTACH=CONFIG]87046[/ATTACH]

Edytowane przez carrido
Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 5
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Top Posters In This Topic

Gość Chrupek3D

prawdopodobnie musisz zrobić tak, że:

robisz oddzielne uv w kanale 0 dla każdego elementu budynku, następnie łączysz te elementy przez combine w jeden obiekt.

Dla tego obiektu tworzysz w kanale 1 uv drugą mape (lightmape).

Rozkładasz lightmape od początku tak, żeby żaden element na siebie nie zachodził.

Masz teraz dwie mapy uv - dla każdego elementu oddzielnie w kanale 0 i wspólną dla lightmapy w kanale 1.

W Twoim przypadku, domek nie musi składać się z oddzielnych elementów, może być całością, ważne, żebyś poszczególnym elementom dał inny materiał i texture.

(elementy rozdzielasz wtedy, kiedy chcesz mieć ostry kąt)

Najlepiej zrobić wspólne uv dla wszystkich okien... bum... dać im materiał "okna".

Później uv dla cegieł... bum... materiał "cegła"... itd, itd.

Ale to pewnie wiesz.

W Mayce akurat wybierasz materiał i robisz podgląd pod RMB, które faces'y mają tenże.

A najprościej... zaznaczasz faces'y i pod RMB dajesz im materiał.

Powinno się bez problemu importować do UDK... możesz zresztą w nim sprawdzić, bo w okienku z obiektem podejżysz kanały uv od 0 do bodajże 4.

 

Możliwe, że coś pochrzaniłem, dlatego pamiętaj, że lightmapa musi być dla wszystkich obiektów wspólna... a resztę rób po swojemu :-)

Edytowane przez Chrupek3D
Odnośnik do komentarza
Udostępnij na innych stronach

Tylko o to chodzi że każdy materiał będzie traktowany jako oddzielny draw call, wiec wypali oddzielne light mapy dla poszczególnych material Ids, co jest nieprawidłowe w stosunku co do optymalizacji. Ja bym zrobił drugi kanał bez overlapu, przygotował maski dla poszczególnych Ids, stworzył w UDK materiał. Dajesz wtedy Linear interpolation(Lerp) tekstury z kanału pierwszego przez constans o wartości 1 na masce z kanału 2. Potem multiply poszczególne ids. W ten sposób miał byś pojedynczy obiekt z jedną light mapą i pojedynczym materiałem bazującym na wielu teksturach. Maski można rozdzielić na kanały RGB i Alfę aby były na jednej teksturze. Ciekawe czy da się zrozumieć to co napisałem bez przykładu?

Odnośnik do komentarza
Udostępnij na innych stronach

Jup, Chrupek prawde prawdziwa prawi. W teorii drugi kanal pod LM mozesz stworzyc w udk, ale jakosci nie bedzie takiej jak sam recznie kazdego elementa czy fejsa porozkladasz :D

 

Przy tak dużym obiekcie jak ten pokazany to nie ma znaczenia, z tym, że unrealowy unwrap najprawdopodbniej wywiesi białą flage.

 

W 3ds max przy tak dużych obiektach, po prostu robie flattern unwrap i zostawiam. Nie mam ochoty bawić sie unwrap czegoś takiego, zwłaszcza, ze lepsza jakość jest w najlepszym razie dyskusyjna.

 

@up

Lightmapy sa wypalane per object a nie per material.

Kazdy dodatkowy materiał na obiekcie to w Unrealu jeden dodatkowy Draw Call (pikus) i rysowanie obiektu od nowa (mesh z 2k poly robi sie przy 3 materiał 6k..., nie bardzo wiem dlaczego Epic jeszcze tego nie naprawił).

 

A to co piszesz to fajny pomysl ale... Dla kazdego większego obiektu musisz robić maski, osobne tekstury, nie mowiac o tym, ze trzeba odopowiedni unwrap zrobić.

I nie mozesz uzyć MaterialInstance tego samego shadera dla roznych meshy, bo sa zbyt unikalne. Tym sposobem traci sie ram.

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