Najnowsze newsy ze świata Mount&Blade: ( Dodaj własny news )

Bannerlord: Fizyka broni - część 2. (Dev Blog 16/11/17)

16.11.2017 | Dodał: Eltarek

Właśnie ukazał się kolejny cotygodniowy blog dewelopera! Liczniki ustawiamy na 32, natomiast oczy zagłębiamy w tematyce dzisiejszego wpisu - fizyce (...) więcej

Ruszają nominacje do plebiscytów!

13.11.2017 | Dodał: Dyktator

Rusza pierwsza faza plebiscytów na gracza roku 2017! Potrwa ona do 25 listopada. więcej

Bannerlord: Khanat Khuzaicki - omówienie frakcji (Dev Blog 09/11/17)

10.11.2017 | Dodał: Hubtus

To już trzydziesty pierwszy Dev blog, w którym to twórcy opowiadają nam o swojej grze. Tym razem został on poświęcony kolejnej (...) więcej

Strona główna Mount&Blade | ukryj panel

Pokaż panel z newsami »

Polub nasz profil na facebooku! oraz dołącz do naszej Grupy STEAM

Autor Wątek: Rigging modeli pancerzy w GMAXie  (Przeczytany 1045 razy)

Opis tematu:

0 użytkowników i 1 Gość przegląda ten wątek.

Offline Leinnan

  • Rybałt
  • *
  • Wiadomości: 1534
  • Piwa: 58
  • Płeć: Mężczyzna
  • Szczęść Boże, służby i loże
  • Steam ID: Mój status Steam
Rigging modeli pancerzy w GMAXie
« dnia: Listopad 06, 2011, 20:43:59 »
1). Szkielet ludzki w formacie *.wings - POBIERZ

Przydaje się do tworzenia ciuchów w wings. Modelując wokół tego szkieletu masz pewność że po wyeksportowaniu modelu do gmaxa/3dsmaxa nie trzeba będzie nanosić poprawek do mesha w tych jakże przestarzałych i nieefektywnych narzędziach modelarskich

Uwaga: w opcjach eksportu 3ds trzeba podać mnożnik 10x, osie bez zmian.

2). Skrypt exportujący .smd z Gmaxa (powinien też działać z maxem) - http://forums.taleworlds.net/index.php/topic,20396.0.html
Proszę go używać, żamiast tego którego podaje Thorgrim. Tamten nie obsługuje wag.

3). Przykładowy, zriggowany model w formacie .gmax

Uwaga!. Wszelkie metody o których tu napiszę zostały przeze mnie ustalone doświadczalnie metodą prób i błędów, i niekoniecznie są optymalne, zachęcam więc do korzystania z innych źródeł.

Przybory potrzebne do rozpoczęcia pracy to Brfedit, Gmax, oraz skrypt do importu modeli *.smd do gmaxa,LINK

Kolejnego przybora zrobimy sobie sami.
Esportujemy z Brfedita dowolny model szkieletowy w formacie *.smd, a następnie importujemy do Gmaxa za pomocą wspomnianego wcześniej skryptu. Teraz w głównym oknie Gmaxa jawią nam się 2 obiekty. Model (mesh) oraz szkielet. Model kasujemy od razu, bez namysłu i sentymentów. (Tu uwaga. Na tym etapie naturalnie wpadamy na pomysł aby zmodyfikować lekko zaimportowany model i wyeksportować go z powrotem do gry. Otóż, z powodów o których nie chce mi się tutaj pisać, jest to niemożliwe, więc lepiej nie tracić czasu aby się o tym przekonać).
Powinien zostać tylko szkielet - punkt wyjściowy wszystkich modeli. W tym mjescu wypada sam szkielet zapisać na później, aby nie powtarzać więcej procedury eksport/import.

Teraz do akcji wkracza model wykonany w Wings3d (o wykonywaniu modeli w Wings nie będę tutaj pisał, każdy sobie z tym lepiej lub gorzej radzi) i oteksturowany!

Model należy wyeksportować z wings w formacie *.3ds - format programu 3dsMax, który gmax potrafi zaimportować bez żadnych dodatkowych wtyczek.
Jeżeli korzystacie z szablonu stąd , należy w opcjach eksportu ustawić export scale na 10. Jeżeli nie, to trzeba kombinować, pamiętając że w .obj góra jest zazwyczaj w kierunku osi Z, a w *.3ds w kierunku Y

podczas importu pliku *.3ds gmax zapyta o coś w stylu "merge czy replace", oczywiście wybieramy merge.

Teraz w oknie gmaxa powinien widnieć szkielet z nałożonym na niego modelem. I teraz można zacząć najważniejszą część operacji...

Wybieram "animation modifiers/skin" , dalej edit envelopes i dodaję do listy kości z tamtego modelu .smd

Najpierw słowo o tym czym jest waga vertexa - jest to wartość określająca jak silnie przemieszczenie danej kości oddziaływuje na dany vertex, a wartością maksymalną jest 1. Innymi słowy jest to wartość charakteryzująca każdą z par kość - vertex. Suma wszystkich wag przypisanych danemu vertexowi wynosi zawsze dokładnie 1,0. Jeżeli Spróbujemy podłączyć vertex do 3 kości, a do każdej z wagą 0,5 - nie uda się. Jeżeli podłączymy vertex tylko do jednej kości z wagą powiedzmy 0,3 - wartość ta zostanie automatycznie uzupełniona do 1,0.

Przejdę teraz do sposobu przydzielania wartości wag poszczególnym parom vertex - kość.
Otóż, Kowal wspomniał envelopy [koperty] - Envelope jest to bryła opisana wokół kości składająca się zazwyczaj z walca przykrytego dwoma półkulistymi deklami. Widoczną reprezentacją envelopy są czerwone linie na obrazku poniżej, w okolicach lewej nogi.

Można w ograniczonym zakresie zmieniać kształt tych envelop, a wszystkie vertexy znajdujące się wewnątrz danej envelopy są podłączone do odpowiedniej kości. Nie będę się dłużej rozwodził nad envelopami, dlatego że moim zdaniem są one bezużyteczne w procesie ustalania wag, za wyjątkiem bardzo 'szczupłych' modeli przypominających kształtem sam szkielet.

Jedyną sensowną metodą wydaje mi się opcja Abs. Effect. Aby móc z niej korzystać, należy uprzednio w polu Filters odfajkować kratkę Vertices - to umożliwi zaznaczanie poszczególnych Vertexów.

Procedura jest następująca:
- przechodzę do któregoś z paneli w którym model przedstawiony jest jako wireframe [ew. przyciski F3 i F4, jeśli jest to jak w 3ds maxie - Kyro] - najbardziej przydatny okazuje się zazwyczaj widok 'Front' (klawisz F), choć inne też się czasem przydają,
- zaznaczam kość do której będę podłączał vertexy (na zdjęciu powyżej kości są to ciemnoszare linie zakończone z obu stron kwadratami,
- przeciągając myszą zaznaczam grupę vertexów które chcę podłączyć do tej kości, a następnie w polu Abs. Effect wpisuję wagę - jeżeli wpisana waga wynosi 1, wszystkie uprzednio zaznaczone vertexy zostaną podświetlone na czerwono.

Co do tego które verty do jakiej kości - trudno jest podać na to jedną receptę. Trzeba się kierować zdrowym rozsądkiem, wiadomo że nie przyczepisz vertexów ręki do kości nogi.
Nie można się też bezkrytycznie kierować odległością verta od kości - nie przyczepisz vertów należących do ramion do kości szyi, mimo że są blisko.

Jednym z ważniejszych zagadnień jest riggowanie przegubów kończyn. O ile verty leżące na kończynach stwarzają najmniej wątpliwości - zazwyczaj 100% do odpowiedniej kończyny, to przeguby wymagają specjalnego podejścia.

Ja robię to tak: przecinam kończynę dokładnie w miejscu przegubu, a następnie dwa następne cięcia, jedno z jednej strony przegubu, drugie z drugiej. Powstaje coś jak na rysunku poniżej w okolicy łokcia:

Następnie verty leżące na przegubie przyczepiam do każdej z sąsiadujących kości z wagą po 50%, a verty leżące po bokach przegubu, po 100% do tych kości nad którymi się znajdują. Jak na rysunku poniżej, kolor czerwony oznacza wagę 100%, pomarańczowy 50%, inne wagi są oznaczane kolorami pośrednimi:




Tu kończy się tutorial. Możliwe, że każdy sobie poradzi, w każdym razie poproszę autora o ogarnięcie go i zmontowanie kompletnie, od początku do końca.


Odnawiam bo forum wfas przestało istnieć.
Mit der Dummheit kämpfen die Götter selbst vergebens
W co motłoch bez dowodów uwierzył, jakżebyśmy to mogli dowodami obalić?

steam | space fight |  last.fm | moddb.com | Stary, najlepszy lider Sclavinii