Własny model w Counter-Strike 1.6 by triget
Witajcie! Dzisiaj opisze jak zrobić swój własny model do Counter-Strike. Zacznę od modelu broni, gdyż modelowanie postaci jest trudniejsze i tym zajmiesz się później. Mój sposób to podmienienie samego modelu bez zmiany animacji. Oczywiście ją też można zmienić, ale na tym etapie radzę próbować bez tego.
Co będzie potrzebne: - 3d studio max 2009 (na innych nie próbowałem, ale to pewnie kwestia tylko plug-inów) - pluginy smd export i smd import do 3d max 2009 – są w mojej paczce - Unfold3d (jeśli chcesz to dobrze oteksturować) - Adobe Photoshop lub inny edytor graficzny - GUI StudioMDL - kompilacja modelu - jest w paczce - Jed's Half-Life Model Viewer - dekompilacja modelu - jest w paczce - GCFScape do wyciagania modelu z gcf – jest w mojej paczce.
http://f1.srogo.pl/~fik/triget/modelowanie/paczka.zip
Jak zauważyliście wyżej zrobiłem paczkę z tych najważniejszych "drobiazgów", którą możecie pobrać pod tym linkiem.
Zaczynamy więc od stworzenia folderu o dowolnej nazwie na pulpicie, w którym będziemy pracować. Ja mój nazwałem "noz".
Pierwsza rzecz to wyciągniecie modelu noża z gry. Używamy do tego GCFScape, w którym wchodzimy w C:\Program Files\Steam\steamapps i klikamy dwa razy na counter-strike.gcf.
W tym momencie mamy podgląda na niego w programie. Wchodzimy kolejno w cstrike\models\ i wybieramy interesujący nas model. Jak wcześniej mówiłem wybrałem nóż, czyli v_knife.mdl. Przeciągamy ten plik do naszego folderu na pulpicie.
Jeśli plik się skopiował zamykamy GCFScape. Nie będzie on już potrzebny w naszych działaniach.
Kolejnym krokiem będzie dekompilacja v_knife.mdl. Używamy do tego programu Jed's Half-Life Model Viewer, w którym w opcjach wskazujemy ścieżkę do kompilatora i dekompilatora
następnie wybieramy Decompile Model (5 na screen) i wskazujemu mu plik v_knife.mdl z naszego folderu. W tym momencie w naszym folderze pojawiło się parę nowych plików. Wśród nich są tekstury w formacie .bmp , animacje, model naszego noża oraz najważniejszy plik .qc
Dlaczego uważam, że plik .qc jest najważniejszy? Ponieważ w nim zapisane są informacje na temat tego, w którym pliku znajduje się model 3d noża oraz jest on potrzebny do kompilacji całości.
Za pomocą notatnika otwieramy plik v_knife.qc i mamy przed sobą takie oto zapiski:
Jako 1 zaznaczyłem linie, która odpowiedzialna jest za to, jak nazywać się będzie plik po kompilacji. Tą nazwę [u]trzeba zmienić[/u] na dowolnie przez siebie wybraną:
$modelname "v_knife.mdl"
Zmieniamy na np $modelname "tasak.mdl"
Jako 2 zaznaczyłem linie, w której jest informacja o nazwie pliku z modelem 3d. Czyli $body "studio" "reference" mówi, że model trójwymiarowy noża znajduje się w pliku reference.smd. Poniżej, są jeszcze animację, ale zabawe z nimi polecam osobą bardziej zaawansowanym. Zamykamy ten plik zapisując zmiany.
Tyle jeśli chodzi o dekompilację. Teraz zajmiemy się edycją samego modelu. Żeby to zrobić wrzucam pliki SMDExporter.dle oraz SMDImporter.dli do folderu C:\Program Files\Autodesk\3ds Max 2009\plugins czyli ładujemy plug-iny niezbędne do edycji naszego .smd w 3d max :)
Odpalamy 3d max. Jeśli wersja max jest prawidłowa plug-iny powinny się załadować. Możemy to sprawdzić wchodząc w Customize -> Plug-in Manager..
Teraz wchodzimy w File -> Import i wybieramy plik reference.smd W pierwszym okienku klikamy OK bo ono nas nie interesuje 8)
W drugim oknie zaznaczamy tak jak na screenie. Jest to bardzo ważne ponieważ model po exporcie będzie się nieprawidłowo kompilował i nie stworzymy pliku .mdl
Jeśli zrobiliście wszystko dobrze powinniście zobaczyć takie oto okienko
Od razu widzimy, że nasza bryła nie ma tekstur. Wchodzimy w "material editor" (klawisz M) następnie importujemy tekstury z modelu za pomocą tego zakraplacza :) (1)
.
Teraz kilka słów z mojego doświadczenia, żebyście nie musieli popełniać tych samych błędów co ja:) Pod numerem 2 na screenie powyżej zaznaczyłem Multi/Sub-Object. W tym muszą być tekstury. Drugą sprawą jest to, że teksturami muszą być 8 bitowe kwadraty o wielkości 256x256. Oczywiście można kombinować z innymi wielkościami, ale często wysypywał się kompilator. Jeśli udało Ci się to gratuluje :) W tym modelu co mamy musimy wskazać gdzie leżą tekstury. Wybieramy poszczególne materiały na liście np Material#35 i wchodzimy do maps na pozycję Diffuse Color, gdzie wskazujemy ścieżkę do wszystkich plików.
Powtarzamy tą czynność z każdym materiałem.
Teraz widzimy, że nasza kula z materiałem w 3d max zmieniła kolor, a nasze materiały na liście mają odpowiednio przypisane tekstury. Możemy też zobaczyć, że w widoku 3D na rękach i nożu widać już tekstury.
Jeśli chcesz dodać elementy mające więcej tekstur w Multi/Sub-Object klikasz Add i dodajesz nową pozycję przypisując nowe ID. Pamiętaj, że każda tekstura musi mieć swój odpowiednik w .bmp bo inaczej kompilator tego nie przełknie.
Nie będę tłumaczyć edycji 3D bo zabawę na vertex-ach każdy zna. Ja postanowiłem do tego poradnika zrobić miecz bez zmiany tekstury. Chciałem pokazać sam mechanizm, a to co zrobicie od Was zależy 8)
Eksportujemy to podmieniając nasz plik reference.smd
W opcjach eksportu ustawiamy tak jak na poniższym screenie
Jeśli zrobiliśmy wszystko prawidłowo powinniśmy otrzymać taki oto zapisa .log
Zamykamy 3d max. Nasza przygoda z nim w tym tutorialu już się zakończyła. Teraz czas na kompilacje naszego wytworu :) Użyjemy do tego GUI StudioMDL, w którym ładujemy nasz plik .qc
Na dole nie zaznaczamy żadnych flag! Klikamy Compile. Jeśli wszystko przebiegło zgodnie z oczekiwaniami powinien nam się skompilować plik o nazwie takiej jak ustawiliśmy na początku czyli tasak.mdl
Oto log kompilacji w tym programie
Wszystko gotowe. Możemy już zobaczyć jak wygląda nasz model i wrzucić do gry. Na koniec daję zdjęcie jak mi to wyszło:)
Model człowieka robi się dokładnie w ten sam sposób tylko dłużej trwa modelowanie części ciała.
Proszę o nie kopiowanie materiałów bez mojej zgody :x Podziękowania dla Painbringer, którego pomoc była niezbędna w zrozumieniu mechanizmu gry, jak również dla FiK-a za użyczenie serwera na pliki i pokazanie mi swojej |starej paczki do dekompilacji.