Własny model w Counter-Strike 1.6 by triget

Od HLDS.pl
Skocz do: nawigacji, wyszukiwania

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.

1.jpg

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

2.jpg

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

3.jpg

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:

4.jpg

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..

5.jpg

Teraz wchodzimy w File -> Import i wybieramy plik reference.smd W pierwszym okienku klikamy OK bo ono nas nie interesuje 8)

6.jpg

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

7.jpg

Jeśli zrobiliście wszystko dobrze powinniście zobaczyć takie oto okienko

8.jpg

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)

9.jpg.

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.

10.jpg

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)

11.jpg

Eksportujemy to podmieniając nasz plik reference.smd

12.jpg

W opcjach eksportu ustawiamy tak jak na poniższym screenie

13.jpg

Jeśli zrobiliśmy wszystko prawidłowo powinniśmy otrzymać taki oto zapisa .log

14.jpg

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

15.jpg

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

16.jpg

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:)


17.jpg

Model człowieka robi się dokładnie w ten sam sposób tylko dłużej trwa modelowanie części ciała.

przyklad.jpg



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.

Osobiste
Przestrzenie nazw
Warianty
Działania
HLDS.pl - Menu:
Inne
IRC
Inne sekcje:
Znajomi:
Narzędzia