"Zmieszana" tekstura i niewidoczny mesh 3353 7

O temacie

Autor Vasemir

Zaczęty 15.02.2014 roku

Wyświetleń 3353

Odpowiedzi 7

Vasemir

Vasemir

Użytkownicy
posty6
Profesjabrak
  • Użytkownicy
Przygotowałem własny model pancerza na bazie dwóch innych modeli - spodni oraz górnego okrycia (wraz z hełmem), jednak gdy przywołuję go w grze, przywołany przedmiot:
1. Nie wyświetla się na ziemi ani w ekwipunku (choć slot zajmuje). "Z braku laku" wykorzystałem gotowy mesh innego modelu pancerza.
2. Tekstura wygląda na uszkodzoną, tzn. dolna jej część - spodnie - wyświetlają się całkowicie poprawnie, ale górna wygląda, jakby była zmieszana - z ciemnych szat i kaptura zrobiła się na modelu bezkształtna mieszanina brązowawych pikseli.

Edytowałem teksturę modelu poprzez jego edycję (plik .ASC edytowany Notepadem), a i w przygotowanym skrypcie. Podczas parsowania nie odnajduje żadnych błędów.
Dopiero zaczynam bawić się moddingiem, więc proszę o klarowne porady.


Przygotowane przeze mnie pliki znajdują się tu: http://www.sendspace.pl/file/803e46c01ab97303391a165
 


Vasemir

Vasemir

Użytkownicy
posty6
Profesjabrak
  • Użytkownicy
Przy pomocy 3ds Maxa 2012, korzystając z modelu:
- dół: plik Armor_Prisoner.ASC ściągnięty z WoG;
- góra: http://www.worldofgothic.de/?go=moddb&action=view&fileID=364&cat=1&page=6&order=0 ;
- opierałem się na tutorialu Abubakera.

Zbędne elementy usunąłem (tj. nogi od jednego modelu i górę drugiego).
Mesh przypisałem z ww. modelu z WoGa - tzn. po prostu skopiowałem go i zmieniłem nazwę na taką, jaką wykorzystywałem w skrypcie pancerzy (dla ułatwienia pisałem wszędzie nazwy zlodziej).

Obawiałem się, że nie będę mógł poruszać głową, bo chyba używałem attach na wszystkie obiekty włącznie z hełmem, ale akurat to działa.
 

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
To po kolei. To że przedmiot nie wyświetla się w ekwipunku ani na ziemi, wynika z tego że widocznie nie istnieje odpowiedni model. Zbroje w Gothicu mają dwa modele. Jeden to animowane "ciało" które pokryje szkielet postaci zastępując ciało domyślne. Drugi to statyczny 3ds, zwykle przedstawiający ubiór złożony na potrzeby przechowywania. Robi się go całkowicie oddzielnie. Pokaż skrypt zbroi, to łatwo dojdziemy do tego co jest tu nie tak.

Problem z teksturą wynika z zepsutego materiału. Prawdopodobnie przypisałeś zbroi materiał który ma niewłaściwe mapowanie. Dlaczego edytowałeś plik asc notatnikiem? Co właściwie tam zrobiłeś? Musisz zrozumieć że to co widzisz finalnie w grze, składa się z wielu komponentów - modelu, tekstury, ale i materiału - zbioru informacji mówiących m.in. jaka tekstura ma pokrywać model i jak ma to robić. Materiał jest zapisany razem z modelem w pliku asc (ale są formaty gdzie jest zapisywany oddzielnie, np .obj i .mtl).

Vasemir

Vasemir

Użytkownicy
posty6
Profesjabrak
  • Użytkownicy
Cytuj
To po kolei. To że przedmiot nie wyświetla się w ekwipunku ani na ziemi, wynika z tego że widocznie nie istnieje odpowiedni model. Zbroje w Gothicu mają dwa modele. Jeden to animowane "ciało" które pokryje szkielet postaci zastępując ciało domyślne. Drugi to statyczny 3ds, zwykle przedstawiający ubiór złożony na potrzeby przechowywania. Robi się go całkowicie oddzielnie. Pokaż skrypt zbroi, to łatwo dojdziemy do tego co jest tu nie tak.
To zauważyłem - jedne są w /Anims, a drugie w /Meshes, prawda? Do /Meshes wrzuciłem model z tej autorskiej paczki i nazwałem go zlodziej.asc

Skrypt i wszystkie pliki, jakie przygotowałem, są w linki na sendspacje. Skrypt wrzucam niżej:
INSTANCE zlodziej(C_Item)
{
name = "Strój złodzieja";

mainflag = ITEM_KAT_ARMOR;
flags = 0;

protection [PROT_EDGE] = 20;
protection [PROT_BLUNT] = 15;
protection [PROT_POINT] = 25;
protection [PROT_FIRE] = 5;
protection [PROT_MAGIC] = 10;

value = 1500;

wear = WEAR_TORSO;

visual = "zlodziej.ds3";
visual_change = "zlodziej.asc";
visual_skin = 0;
material = MAT_LEATHER;
description = "zlodziej";

TEXT[0] = NAME_Prot_Edge; COUNT[0] = protection [PROT_EDGE];
TEXT[1] = NAME_Prot_Point; COUNT[1] = protection [PROT_POINT];
TEXT[2] = NAME_Prot_Fire; COUNT[2] = protection [PROT_FIRE];
TEXT[3] = NAME_Prot_Magic; COUNT[3] = protection [PROT_MAGIC];
TEXT[4] = NAME_Value; COUNT[4] = value;


};


Cytuj
Problem z teksturą wynika z zepsutego materiału. Prawdopodobnie przypisałeś zbroi materiał który ma niewłaściwe mapowanie. Dlaczego edytowałeś plik asc notatnikiem? Co właściwie tam zrobiłeś? Musisz zrozumieć że to co widzisz finalnie w grze, składa się z wielu komponentów - modelu, tekstury, ale i materiału - zbioru informacji mówiących m.in. jaka tekstura ma pokrywać model i jak ma to robić. Materiał jest zapisany razem z modelem w pliku asc (ale są formaty gdzie jest zapisywany oddzielnie, np .obj i .mtl).
Plik .ASC edytowałem notatnikiem, bo wyczytałem, że tym sposobem można uniknąć jakiegoś buga (w tym temacie, nawet się udzielałeś :P KLIK).
Zmieniłem tam tylko nazwę tekstur i subtekstur przy linijkach z BITMAP, ale to już po tym, jak utrzymywał się opisany przeze mnie błąd z teksturą.

Wiem, że się składa z wielu elementów, ale jeszcze nie wiem gdzie i jak dokładnie się łączą (wszelkie narzędzia ściągnąłem zaledwie wczoraj ;) ).
Próbując wrzucić ten pancerz:
- zrobiłem model pancerza na ciele i wrzuciłem go do /Anims/_compiled/ jako plik .ASC
- wykorzystałem gotowy model "ubrania na ziemi" i wrzuciłem go do /Meshes/Items/Armor jako .ASC
- skrypt wrzuciłem do /scripts/content/items/ do It_Addon_Armor
- teksturę w .BMP wrzuciłem do /Textures/NPCs/Armor
 

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
Twojej paczki plików nie mam zamiaru ściągać raczej ani ja, ani nikt inny.
Piszesz że plik który wrzuciłeś do meshes nazwałeś złodziej.asc. W meshes umieszcza się modele statyczne, w formacie 3ds. 
Do tego w skrypcie napisałeś zlodziej.ds3.  A przecież takiego pliku nie masz, masz jdynie .asc (co i tak by nie działało). Zmień oba na .3ds.
Jeśli błąd z teksturą występował już zanim edytowałeś .asc notatnikiem, to znaczy że w którymś momencie zepsułeś mapowanie modelu, jednak trudno powiedzieć kiedy i jak. Możesz spróbować to powtórzyć caly czas wyświetlając w maxie tekstury i patrzeć kiedy zacznie z nimi dziać się coś niedobrego.

Vasemir

Vasemir

Użytkownicy
posty6
Profesjabrak
  • Użytkownicy
Pomyliłem się, w meshes mam plik zlodziej.ds3

Ale jeśli to błąd w pliku modelu, to przynajmniej wiem, gdzie jest i sobie z nim jakoś poradzę. Dziękuję!
 



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