Podmiana animacji w Gothicu 2 NK 6107 7

O temacie

Autor pagi111

Zaczęty 18.12.2017 roku

Wyświetleń 6107

Odpowiedzi 7

pagi111

pagi111

Użytkownicy
posty51
Propsy2
Profesjabrak
  • Użytkownicy
Witam,

Jestem nowy zarówno na forum, jak i ogólnie w modowaniu Gothica. Pooglądałem i poczytałem kilka samouczków i myślę, że ogarniam "podstawowe podstawy", przynajmniej jeśli chodzi o skrypty. Ale chciałem się zająć animacjami. Mam zamiar stworzyć nowy styl walki, no ale zacznijmy od podstaw. Oczywiście forum też sprawdzałem, ale nigdzie nie znalazłem dokładnych instrukcji odnośnie do kwestii, która mnie interesuje.

Mianowicie, byłbym wdzięczny jakby ktoś krok po kroku wytłumaczył jak skompilować i wrzucić do Gothica animacje, tak żeby działały cały czas. Dekompilować umiem w Gothic Sourcerze. Wyjaśnię na przykładzie. Chciałem sobie na próbę podmienić animację ataku bocznego. Zdekompilowałem plik HUMANS_1HST1.MSB (animacje dla poziomu wojownika) z folderu \Gothic II\_Work\data\Anims\_compiled. W folderze Gothic Sourcera stworzył mi się folder asc_humans_1hst1 z 14 plikami animacji .ASC i jednym plikiem .MDS.

Jak mówię, chciałem na próbę zmienić sobie animację ataku bocznego. Atak z lewej i z prawej korzysta z tej samej animacji (HUM_1HATTACKT2_M05.ASC), tylko z innych jej klatek. Żeby kombinować jak najmniej na początek, postanowiłem, że po prostu zmienię klatki ataku w prawo (T_1HATTACKR) na te ataku w lewo (T_1HATTACKL), a atak w lewo zostawię ten sam. Czyli mimo, że będę naciskał przycisk atak w prawo -> atak w lewo, postać wykona dwa razy tę samą animację, czyli 2 razy atak w lewo. Mam nadzieję, że nie pomyliłem się już w samym tym założeniu i dobrze rozumuję :)

No więc teraz, żeby to zrobić otwarłem plik HUMANS_1HST1.MDS, który mam w folderze ze zdekompilowanymi plikami. Odszukałem linijki:
ani        ("T_1HATTACKL"                     1               ""                            0.0 0.2  M. "HUM_1HATTACKT2_M05.ASC"                       F  1   24)                   

i

ani        ("T_1HATTACKR"                     1               ""                            0.0 0.2  M. "HUM_1HATTACKT2_M05.ASC"                       F  26  50) 

i zmieniłem w tej drugiej klatki z 26 50, na 1 24.

I tutaj zaczynają się schody, bo nie wiem jak to wrzucić do gry.
Metody, które próbowałem:
1) w Gothic Sourcerze Ctrl+F7 (albo Tools -> Compiler models -> Dynamic (MDS), no i wybieram ten mój plik HUMANS_1HST1.MDS, który edytowałem. Jednak wtedy pojawia się warning: Texture not found "HUM_BODY_NAKED_V0_C0.TGA", using default-texture i error: Default Texture "DEFAULT.TGA" not found!         

Nie mam pojęcia o co w tym chodzi (w ogóle nie wiem co to są za pliki TGA). W każdym razie tworzy się wtedy w folderze Gothic Sourcera folder _compiled z 3 plikami:    HUMANS_1HST1.MDH, HUMANS_1HST1.MSB, HUM_BODY_NAKED0. Jednak jeśli usunę te 3 pliki z folderu _compiled w folderze Gothica i je zastąpię tymi moimi, to podczas wczytywania gry lub rozpoczynania nowej gry Gothic się zacina i pojawia się błąd: OUT OF MEMORY. Zauważyłem, że przyczyną jest plik HUM_BODY_NAKED0, stworzony przez Gothic Sourcera, bo jeśli zastąpię go oryginalnym to Gothic działa, ale animacja pozostaje bez zmian.

2) kolejna metoda, to kompilacja skryptów w Gothicu (tak było pokazane na tutorialu Tworzenie Animacji na YT). Wtedy nic nie kompiluję w Gothic Sourcerze, tylko wrzucam mój plik .MDS, plik HUM_1HATTACKT2_M05.ASC i plik HUM_BODY_NAKED0, do folderu \Gothic II\_Work\data\Anims, włączam Gothica przez Gothic Startera, zaznaczająć przy tym reparsuj skrypty, a w grze wpisuję komendę: apply overlay mds HUMANS_1HST1.MDS . Jednak wtedy pokazuje się komunikat, że ten MDS jest "already applied" czy coś takiego. No w każdym razie, że to już jest. No i oczywiście animacja pozostaje bez zmian. Z resztą ta druga metoda to chyba jest tylko po to, żeby sobie samemu sprawdzić na szybko jakąś animację w grze, nie? Bo jeśli chcę na stałe wrzucić animacje (a zwłaszcza kilka), to chyba coś bardziej w deseń tej pierwszej metody? :D

A zatem, podsumowując, mój problem to:
1) w jaki sposób w ogóle wrzucać na stałe animację do Gothica? (W czym kompilować skrypty? Czy potem je zamienić z tymi w folderze _compiled? Czy może stworzyć jakoś paczkę .mod - jak?)
2) co robię źle w tej konkretnej animacji, tzn tej z podmianą ataku w prawo na atak w lewo? Coś w źle zmieniam w pliku .MDS? Czy muszę to zmienić jeszcze w jakimś innym pliku?)

Mam nadzieję, że pomożecie, bo naprawdę chciałbym się z tymi animacjami pobawić, ale bez tego ani rusz   :/
 

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Bierzesz swoje pliki, podmieniasz stare (polecam zmienić nazwę starego MDS na inną, np. HUMANS_1HST1OLD), dodajesz nowy mds, po czym kasujesz piki o tej nazwie (HUMANS_1HST1), które nie kończą się na .mds. Włączasz Gothic, wpisujesz w konsoli "apply overlaymds humans_1hst1". Czekasz aż gra odlaguje. Gotowe.


NIGDY nie kompiluj animacji programami innymi niż Gothic.exe/GothicStarter.exe/GothicStarter_mod.exe.
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

pagi111

pagi111

Użytkownicy
posty51
Propsy2
Profesjabrak
  • Użytkownicy
Dzięki za odpowiedź. Niestety, coś dalej nie działa. Zrobiłem jak mówiłeś (to jest chyba z resztą tak samo, jak opisałem w "metodzie 2") i jest komunikat z Gothica, że HUMANS_1HST1.MDS already applied i nic się nie zmienia w animacji.

Chyba, że coś dalej źle robię.

Cytuj
Bierzesz swoje pliki
Czyli które dokładnie? Ja zmieniłem tylko HUMANS_1HST1.MDS, ale oprócz tego wrzucam jeszcze HUM_1HATTACKT2_M05.ASC i plik HUM_BODY_NAKED0.ASC (jak spróbowałem bez Body_Naked0, to mi wyskoczył błąd podczas ładowania zapisanej gry, że "nie odnaleziono takiego pliku" ). Nie wiem czy ta druga animacja jest potrzebna.

Cytuj
podmieniasz stare (polecam zmienić nazwę starego MDS na inną
Hmm. W plikach Gothica nie ma przecież pliku .MDS - on się bierze dopiero z dekompilacji, więc chyba tu nie mam czego podmieniać.

Cytuj
dodajesz nowy mds
Wrzucam go do byle jakiego nowego folderu w \Gothic II\_Work\data\Anims , tak? Stworzyłem tam po prostu "nowy folder" i do tego folderu wrzucam ten plik.

Cytuj
po czym kasujesz pliki o tej nazwie (HUMANS_1HST1), które nie kończą się na .mds.
Te w folderze C:\GRY\Gothic II\_Work\data\Anims\_compiled , tak? Są 2 takie pliki: MDH i MSB. Zauważyłem, że po wyjściu z Gothica odtworzył się na nowo plik MSB (jest w folderze _compiled, mimo, że wcześniej go usunąłem), ale pliku MDH nie ma.
 

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Masz coś popsute w MDS. Jeśli MDS jest zrobiony prawidłowo, gra się wczyta normalnie, "założy" mds też normalnie i będzie działać jak działała (po zlagowaniu). Zapakuj swoje pliki do folderu i dodaj cały folder do anims. Musisz zmienić nazwę wszystkich MDS o tej samej nazwie co twój nowy (albo je usunąć, ale polecam zmienić nazwę). Nie wiem jak Ci to jeszcze opisać, żeby było bardziej zrozumiałe...

1. Weź swoje pliki i dodaj do nowego folderu (nazwij go jak Ci wygodnie).
2. Dodaj cały ten nowy folder do folderu anims w Gothic.
3. Zmień nazwę starego MDS - tego, którego edytowałeś, ale wersję sprzed edycji.
4. Wykasuj wszystko z folderu _compiled, co ma w nazwie to samo co twój plik, ale nie kończy się na .mds.
5. Włącz grę i załóż ten mds (w jakikolwiek sposób, najszybciej jest kodem - kod to to samo co masz w nazwie pliku, ale bez żadnej końcówki).

Jeśli wyskakują błędy - MDS jest źle napisany, brakuje przecinka, nawiasu, czegokolwiek.
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

pagi111

pagi111

Użytkownicy
posty51
Propsy2
Profesjabrak
  • Użytkownicy
No rozumiem, tylko że ja właśnie tak to wszystko zrobiłem, jak opisujesz. Błąd był tylko wtedy, gdy nie wrzuciłem do mojego nowego folderu w /anims/ pliku HUM_BODY_NAKED0.ASC. W MDSie wszystko jest dobrze, bo tam zmieniłem (jak pisałem w pierwszym poście) tylko dwie liczby, klatki animacji z ataku w prawo na ten w lewo. Gothic nie wyrzuca żadnych błędów po komendzie apply overlaymds, jest tylko informacja (wyświetlana w konsoli, tam gdzie wpisuję kod) "already applied" (co tak szczerze mówiąc moim zdaniem ma sens, bo nie wiem jakim cudem tylko od wrzucenia nowego pliku MDS do byle jakiego nowego folderu - oczywiście folderze /anims/, gra miałaby "zapomnieć" o starym MDSie).

Nie rozumiem Twojego 3 punktu. Jak to mam zmienić nazwę starego MDS - ten plik jest przecież nie w katalogu Gothica, ale w katalogu Gothic Sourcera. W katalogu Gothica nie ma żadnych plików MDS, bo te powstają z dekompilacji MSB, które są w katalogu _compiled.

Krótko mówiąc, Gothic na moją komendę apply overlaymds odpowiada mi already applied, co by znaczyło, że coś robię źlę i Gothic cały czas ma załadowany stary MDS - a usuwam te pliki, o których mówiłeś w punkcie 4. Więc nie wiem, może powinienem usunąć coś jeszcze?


CO CIEKAWE
W ostatniej próbie pousuwałem wszystkie pliki z folderu _compiled, które w nazwie miały HUMANS_1HST1, łącznie z takimi, które miały jeszcze coś dalej w nazwie - po tym zabiegu gra nie chciała się wczytać i był błąd, że brakuje jakiegoś pliku .ASC (chociaż akurat jego nie usuwałem - dziwne). Przywróciłem więc te wszystkie pliki, odpaliłem grę jeszcze raz, wczytałem zapis, dałem apply overlaymds i nazwę tego pliku, który cały czas chcę zamienić (HUMANS_1HST1) i niby się wczytał - bez żadnego laga, ale była wiadomość "applied" (NIE "already applied"). Jednak jak sprawdziłem animację, nic się w grze nie zmieniło, dalej był ten stary atak. Jak spróbowałem znowu tej komendy, to już było "already applied". Czyli niby gra wczytała ten plik za pierwszym razem, ale i tak się nic nie zmieniło w animacji. Może więc trzeba coś więcej zmienić, w innym miejscu w tym pliku, albo w innym pliku, żeby ta animacja się zmieniła - chociaż byłoby to dziwne, bo to jest na pewno plik, w którym właśnie ta animacja ataku jest opisana.
 

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Zainstaluj MDK z animacjami oraz zmień plik z animacjami .vdf na .vdf.disabled.
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

pagi111

pagi111

Użytkownicy
posty51
Propsy2
Profesjabrak
  • Użytkownicy
MDK mam zainstalowany. Jeśli chodzi Ci o plik, który się znajduje w \Gothic II\Data, to właśnie tam już jest Anims.vdf.disabled. Jest jeszcze Anims_Addon.vdf.disabled. W każdym razie oba mają już .disabled na końcu.

DOBRA, UFF, PROBLEM ROZWIĄZAŁEM (częściowo). Podzielę się przemyśleniami, dla potomnych :)

Po pierwsze problemem był zmieniany przeze mnie plik .MDS. W pierwszym poście pisałem, że otworzyłem sobie plik HUMANS_1HST1.MDS i zmieniłem tylko jedną linijkę (w zasadzie tylko klatki dla animacji ataku w prawo. Zapisałem wtedy ten plik i wrzuciłem go do nowego folderu w \Gothic II\_Work\data\Anims razem z plikiem HUM_1HATTACKT2_M05.ASC (plik animacji, którą wykorzystuje zmieniana przeze mnie linijka w pliku .mds) i HUM_BODY_NAKED0.ASC (plik modelu ciała, o ile mi wiadomo on zawsze musi być). Potem w grze dałem komendę apply overlaymds HUMANS_1HST1 i nic się nie działo.

Właściwy sposób jest następujący: po pierwsze, dowiedziałem się, że należy ze zmienianego pliku .mds usunąć prawie wszystko poza zmienianą linijką. W moim przypadku plik HUMANS_1HST1.MDS wyglądał po zmianie tak:
Model ("Humans_1Hst1")
{
meshAndTree ("HUM_BODY_NAKED0.ASC" DONT_USE_MESH)
aniEnum
{
modelTag   ("DEF_HIT_LIMB"                    "ZS_RIGHTHAND")                                                                                                                       

ani        ("T_1HATTACKR"                     1               ""                            0.0 0.2  M. "HUM_1HATTACKT2_M05.ASC"                       F  1  24)                   
{
*eventTag (0  "DEF_HIT_LIMB"  "ZS_RIGHTHAND")
*eventTag (0  "DEF_OPT_FRAME" "4")           
*eventTag (0  "DEF_HIT_END"   "24")         
*eventTag (0  "DEF_WINDOW"    "10 24")       
*eventSFX (27 "WHOOSH"        EMPTY_SLOT)   
}
}
}

Czyli w pliku, który zmieniamy powinno zostać: wszystko od początku aż do linijki modelTag włącznie i na końcu pliku dwie klamry. Pomiędzy to wrzucamy swoją linijkę/linijki. Wrzucamy plik do obojętne jak nazwanego folderu (np. moj mod) w folderze: \Gothic II\_Work\data\Anims, zmieniamy nazwę pliku .mds na inny (moj_atak) i dorzucamy tam plik HUM_BODY_NAKED0.ASC oraz plik animacji, który występuje gdziekolwiek w naszym pliku .mds (w moim przypadku plik HUM_1HATTACKT2_M05.ASC). Zakładam, że jeśli w pliku .mds występuje więcej niż jeden plik animacji, to musimy wrzucić je wszystkie. Potem wchodzimy do gry, wczytujemy zapis, otwieramy konsolę i wpisujemy komendę z nazwą naszego zmienionego pliku .mds (w moim przypadku: apply overlaymds moj_atak). I działa.

ALE

Nadal pozostają dwie kwestie:
1) po pierwsze: tę komendę trzeba wpisywać za każdym razem, gdy wchodzi się do gry. Gothic tego nie "zapamiętuje", nawet po zapisie gry po użyciu komendy. Jednakże w folderze _compiled tworzą się nowe pliki z nazwą moj_atak.ROZSZERZENIE (3 pliki z róznymi rozszerzeniami). Spróbowałem zamienić te pliki z oryginalnymi tzn. nazwy 3 moich plików: moj_atak.MSB, moj_atak.MDH i moj_atak-T_1HATTACKR.MAN zmieniłem odpowiednio na: HUMANS_1HST1.MSB, HUMANS_1HST1.MDH i HUMANS_1HST1-T_1HATTACKR.MAN. Wtedy animacja występuje cały czas i działa prawie poprawnie - mankamentem jest to, że wtedy na poziomie wojownika animacja ataku w prawo wygląda tak, jak animacja ataku w lewo (czyli zgodnie z zamierzeniem), ale wszystkie inne animacje (atak w przód, w lewo) wyglądają jak te z poziomu zielonego, a nie wojownika. Domyślam się, że trzeba by wszystkie te informacje dodać do pliku .mds, ale jeszcze tego nie sprawdziłem :P

2) druga kwestia jest taka, że po użyciu komendy (ale nie w przypadku zamiany plików opisanym powyżej - co jest dziwne, bo wydaje się, że powinno to działać tak samo) jest tak, że animacja ataku w lewo wojownika pojawia się przy ataku w prawo nawet na poziomie zielonego. Nie wiem dlaczego tak się dzieje.
 

genas2232

genas2232

Użytkownicy
posty3
Profesjabrak
  • Użytkownicy
Wie ktoś może jak zapisac na stałe te animacje, bo za kazdym razem przy włączeniu gothic musze wpisywac apply overlay, i nie moge używać wlasnych nazw animacji tylko te które tam są w mds, a chce bez zastępowania???

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Last Changes:
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Model ("Mon")
{
   meshAndTree ("HUM_BODY_NAKED0.ASC" DONT_USE_MESH))
   aniEnum
   {
      modelTag   ("DEF_HIT_LIMB"                    "ZS_RIGHTHAND")       
     
      ani        ("T_SEARCH"                        2               ""                            0.1 0.1  M. "HUM_MON01.ASC"                           F  1   40   FPS:10)     
     
   }
}
 


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