[ m o d e l y    d o    q u a k e I I ]


Tento tutorial je určen všem, kteří by chtěli dostat svoje výtvory "do hry" ale neví jak. Konkrétně jak dostat modely z 3dsmax do formátu .md2, používaného známou 3d akcí Quake2.


Budeme vytvářet jednoduchou bouchačku do Q2, řekněme jinou dvouhlavňovou brokovnici. (původni dvouhlavňovka v Q2 má příliž nápadně M16-koidní design a mě se víc líbí klasické "Doomařiny") Model, který vidíte na obrázku je ke stažení na mojí stránce vespa.wz.cz

      K exportování modelu z 3D Studia Max je potřeba mít jednak Maxe jakékoli verze (nejlíp 4-ku) a jednak nainstalovaný plugin Qtip od Darina Petersena pro příslušnou verzi Maxe. Najdete ho na stránce www.geocities.com/darinp52/qtip/. Na téhle stránce najdete taky anglický, ale obecněji zaměřený tutorial než je tento.
      Kdo neví jak se instalují pluginy: Jednoduše soubory pluginu rozbalíte do složky 3dsmax/plugins. Potom znovu spustíte Maxe a plugin by se měl objevit na místě pro které je určený, v případě Qtipu na panelu "Utilities".
Pokud by výše uvedený link nefungoval, podívejte se na www.maxplugins.de, sekce Import/Export.
      Taky je třeba vlastnit nějakou utilitu, která umí rozbalovat soubory .pak a dále program, který umí pracovat s .md2 modely. Obojí umí QuArK (na adrese planetquake.com/quark).
      A taky musíte mít Quake 2 :-).

      Nyní přistupme k modelování:
(účelem tohoto tutorialu není zabývat se problematikou samotného modelování, takže o tom jen povrchně)
      Nejprve je třeba nastavit pohled tak, aby přesně odpovídal pohledu ve hře. V případě zbraní je kamera umístěna v počátku souřadnic a orientována v pohledu "Front" tak, aby mířila na vás. Taky je potřeba nastavit zorný úhel kamery - v Maxovi je defaultní 45 stupňů, v Q2 a většině 3D akcí je to 90 stupňů. Zorný úhel nastavíme označením kamery a změnou hodnoty "FOV" v panelu "Modify".
      Tento pohled 100%ně odpovídá pohledu v Quakovi, takže není třeba zbraň ustavičně testovat v enginu hry a model přizpůsobený tomuto pohledu bude vypadat stejně i ve hře.
      Model dvouhlavňovky je vcelku jednoduchý, hlavně jsou jen dva mírně upravené válce, pažba je už trochu složitější, je to kostka o více segmentech náležitě upravená "Edit Meshem". Další věci jako mířidla a páčka na sklopení hlavně jsou jednoduché objekty typu kostka. Při modelování byste měli dbát na co nejmenší počet polygonů. Pamatujte, že u realtime renderovaných modelů se detailnosti dosahuje spíše texturami.



      Ten, kdo si víc věří, může k modelu přidat i ruku, ale modelování ruky je už malinko těžší, jde vlastně o to, že uděláte kostku o více segmentech jako dlaň a z ní vyextrudujete a vybewelujete prsty, palec a zápěstí:


      Komu se nechce pouštět do modelování ruky, může si tady stáhnout ruku, kterou jsem dělal já a zcela volně s ní nakládat. Model je ve formátu Max4, takže ho bohužel nižší verze nevezmou :-(
      Az budete mit ruku hotovou, tak zatím NEZAKOSŤUJTE a umístěte ji dál od modelu zbraně, aby se dala pohodlně zakostit později!
      Celý ten postup by vydal na samostatný tutorial, ale kdo umí anglicky, může se podívat na tutorialy přímo v maxovi (v.4) nebo na netu.

      Poté, co budete mít modely hotové, je třeba všechny části collapsnout do "Editable Mesh" (označíte všechny části modelu, na pracovním panelu přepnete na záložku "Utilities" a "Collapse")

      K vyexportování je potřeba, aby byly všechny polygony v modelu výlučně trojúhelníkové. To uděláte tak, že označíte náš collapsnutý editable mesh a na panelu "modify" přejdete do úrovně "Edge". Označte všechny a dole v panelu modify je tlačítko "Visible", to zmáčkněte a všechny hrany by měly být viditelné a tím pádem trojúhelníky.



      Teď je na řadě mapování textury.
      Nejprve si vytvořte v nějakém bitmapovém editoru obrázek .bmp, který použijete jako texturu. Důležité je, aby měl rozměry menší než 480x480 a taky to MUSÍ být BMP! Vytvořte materiál s mapou diffuse coby naší texturou a aplikujte ho na model.
      Označte model a přidejte do zásobníku modifikátorů UWV Maping, vyberte "Planar" a nastavte co nejvhodněji mapovací rovinu, pokud chcete mapovat model zbraně například z boku a model ruky z vrchu, musíte příslušnou věc natočit v modifikátoru "Editable Mesh".

      Nakonec přidejte modifikátor UWV Unwrap. Ale POZOR! Po tomto kroku už nebude možné se vrátit zpět k "Edit Mesh", aniž by došlo ke znehodnocení mapovacích koordinát! Takže to mějte na paměti a pokud model není hotový, UWV Unwrap radši zatím nepřidávejte a spokojte se jen s "Planar".
      Pokud už tedy máte model hotový, přidejte UWV Unwrap a na jeho panelu dejte "Edit" a poskládejte jednotlivé elementy modelu na plochu tak, jak byste je chtěli namapovat. Snažte se šetřit nevyužitým místem v bitmapě. Pokud na model jěště není aplikovaná nějaká bitmapa, má mapovací prostor tvar čtverce. Pokud na model aplikujete např. obdélníkovou bitmapu, mapovací prostor a s ním všechny souřadnice se příslušně protáhnou, tak s tím počítejte.



Na řadě je tvorba textury:
      Pomocí nějaké utitlity typu Teporter (cuneytozdas.com nebo maxplugins.de) si vygenerujte bitmapu se zobrazenou polygonální sítí a ve vašem oblíbeném bitmapovém editoru si namalujte skin:


            1.) otevřte si jakoukoliv původní texturu z Quaka 2 (například jeden ze skinů hráčů v Quake2\baseq2\players\male) a uložte si její paletu
            2.) tuto paletu aplikujte na vaši bitmapu textury se zobrazenou polygonální sítí (vygenerovanou texporterem).
            3.) teď, když je bitmapa 256ti barevná a má paletu Q2, nakreslíme nahrubo hlavní rysy textury takovými barvami, které se co nejvíce blíží budoucím skutečným barvám modelu, důležité je to kvůli tomu, že budeme zvětšovat barevnou hloubku kvůli snadnější editaci a potom ji budeme zase snižovat na 256 barev Q2. Kdybychom nepoužili originální Q2 barvy, tak by díky omezené paletě výsledek vypadal dost odpudivě.
Doporučuji si na naši texturu zkopčit kus originální textury a barvy vybírat podle ní. Dosáhnete jednak toho, že barvy budou ve hře "sedět" a nebudou příliž tmavé či světlé a jednak ve vyhnete výše popsaným problémům při aplikování Q2 palety.


            4.) tak tedy zvyšte barevnou hloubku na 16bit a dle svých schopností namalujte co nejhezčí skin. Dobrý tutorial přímo na vytváření Q2 skinů je na planetquake.com/pandemonium
            5.) teď zase aplikujte na obrázek 256ti barevnou paletu Q2 a lehce vyretušujte výsledek. Uložte jako .bmp a aplikujte na model.
            Jinak ale můžete skin upravovat bez kompilování (ale musíte upravovat skin.pcx, ne texturu v maxovi), takže když napoprvé neuděláte perfektní skin, nezoufejte.



      Teď je čas zakostit model. Kdo neví, jak zakosťovat, může se podívat na tutorial přímo v maxovi 4 - "Animating a Low Poly Character"


      Po zakostění dejte zbraň do ruky a nastavte ji správně v pohledu kamerou. Dolaďte drobnosti, testněte jestli je správně namapovaná textura a jestli je všechno v pořádku, tak můžeme začít...

Zkušební export:
      Ke zdárnému vyexportování je nutné si pomocí nějaké utility vybalit z pak0.pak příslušný model zbraně, v našem případě to je models/weapons/v_shotg2/tris.md2
            2.) v Maxovi si na panelu "Utilities" zapněte "Qtip" a označte JEN model
            3.) ujistěte se, že všechny plochy na modelu jsou trojúhelníky, že rozměr textury není větší než 480x480, že je model správně umístěn, správně namapován a že mapa má paletu quaka2.
            4.) v panelu Qtipu zmáčkněte "Import new frame list" a označte jako zdroj původní quakovský model Supershotgunu. Tím se vám zobrazí seznam snímků, ze kterých sestávají určité animace ve hře, jako např střelba nebo vytáhnutí zbraně z kapsy.
            5.) jako "first frame" označte první z celého sloupce, tedy Active01, jako poslední poslední, tedy putway04.
            6.) dále jako skin name napište "skin", zaškrtněte "save PCX texture" a do políčka "resize" zadejte 0,1 (kvůli tomu, že model vyexportovaný z maxe je moc velký a "noří" se do stěn)
            7.) odpalte to (Save md2) a uložte jako quake2/brokarna/models/weapons/v_shotg2/tris.md2
Možná to vypíše nějakou hlášku ve smyslu že to nemůže uložit - to znamená, že se snažíte přepsat jiný model, což nejde, takže ten starý (originál) přejmenujte. Nemažte ho, jelikož se bude ještě hodit.

      Teď by teoreticky stačilo jen pustit Quaka a už pařit. Jenže je tu ještě problém. Nevím, jestli se vyskytuje jen u mě a nebo to je bug v Qtipu. Prostě když takto ten model vyexportuje, neobsahuje cestu ke skinu a engine model bez skinu zákonitě nezobrazí.
      Takže tento problém musíme odstranit ručně. Spusťte Quarka nebo nějaký jiný program který umí pracovat s .md2 a otevřte v něm náš nebohý model. Zároveň otevřte originální Quake2 model, který budeme ve hře nahrazovat, v našem případě je to v_shotg2/tris.md2 (ten ale přejmenujte, abysme ho nepřepsali).
      Všimněte si, že originální model má zadánu cestu ke skinu, ale náš ji nemá. Takže tu cestu z originál modelu překopčíme do našeho modelu.
      Nevím jak je to u jiných .md2 editorů, ale v QuArKovi otevřete oba modely (Quark podporuje multitasking v rámci jednoho programu), přepneme se na původní model a vlevo dole je něco jako adresářový strom modelu. Jsou tam animační snímky a cesta ke skinu. Tu otevřete a na "zástupce" skinu klikněte pravým a dejte "copy". Pak se přepněte na náš model, označte složku se skinem (teď je prázdná) a v hlavní nabídce dejte EDIT - PASTE. Jestli je to správně a skin je tam, kde má být, tak by se na modelu měla objevit naše textura. Pokud Quark zobrazuje jen prázdná okna s chybovou hláškou že jako nemá paletu, bude třeba v Preferences zadat cestu ke Quakovi2.

      Nyní spusťte Quaka2 příkazem   quake2.exe +set game brokarna
      Příkazem v konzoli "give all" dostanete všechny zbraně a s nimi i naši brokárnu. Pokud je všechno tak jak má být (občas se to stává:-) měli byste vidět model brokovnice. Jestli ne a píše to nějaký chybový hlášení o texturách, patrně není zadaná cesta k textuře. Pokud model není vidět a nic to nepíše, nejspíš je špatně umístěn (např. dozadu místo dopředu). Pokud vidíte originální model brokovnice, patrně jste udělali chybu někde v zadávání cest.
      Téměř na 100% nebudete s tímhle výsledkem spokojeni, ale neházejte ještě brokovnici do žita, moje modely vypadají ve fázi vývoje taky vyjímečně odporně ;-)


Pokud předchozí fáze proběhla zdárně, můžeme přikročit k Animaci:
      Animovaný model ve formátu .md2 je vpodstatě série meshů, které se ve hře morfují (tj. vytvářejí se mezi nimi plynulé přechody).
      Technicky je animace poměrně jednoduchá:
            1.) nastavíme v maxovi přesně tolik snímků, kolik má nahrazovaný model, v našem případě brokovnice, která má 62 snímků. (tlačítko "Time Configuration" dole kousek napravo od tlačítka "Animate")
            2.) první animací je vytasení zbraně. To probíhá v rozsahu 0. až 6. snímku. Vytvořte tedy na snímku 0 klíčový snímek (kliknout pravým na časový posuvník), stejně tak i na snímku 6 a naanimujte.
      O animaci jen povrchně: V Maxovi se animuje tak, že zmáčknete to obrovské tlačítko "Animate", přejdete na ten který snímek a zahýbete s tím, co chcete aby se pohnulo. Max vytvoří mezi klíčovými snímky plynulé přechody pomocí beziérových křivek. Jestli se vám tenhle způsob přechodů nehodí, označte určitý klíčový snímek a přejděte do panelu "Motion", kde si to můžete nadefinovat.
            3.) Další animace probíhá od snímku 7 po snímek 18, je to střelba.
            4.) od 19. do 56. je animace toho, co dělá zbraň když zrovna nestřílíte, tj. různé poklepávání prsty, pomalé pohyby zbraní, prohlížení zbraně (viz 44.Magnum Revolver v Half-Lifovi - pozor abyste to nepřehnali jako tady, jelikož kvůli tomu, že Gordon si tu ********* bouchačku věčně prohlížel, nemohl jsem pořádně mířit ;-)
            5.) Poslední 4 snímky jsou zastrčení zbraně do kapsy.

      Pokud budete animovat jinou zbraň, třeba Minigun, tak se animace samozřejmě liší.

      Až budete s animací spokojeni, model vyexportujte stejným způsobem jako jsme to dělali při testovacím exportu.


      No a to už jsme skoro u hořkého konce. Jestli všechny předchozí kroky proběhly zdárně, tak byste teď měli mít něco jako betaverzi modelu zbraně. Teď následuje konečná fáze, neboli dolaďování. U mě osobně trvá doladění modelu déle než samotná tvorba. Je třeba vychytat animace tak, aby působily přirozeně, doladit proporce modelu dodatečným Edit Meshem a v neposlední řadě doladit texturu, na které záleží 70% vzhledu realtimových modelů.
      Kdo chce, může si pro lepší pocit ze sportrovní střelby naší brokárnou změnit zvuk střelby (originální zvuk brokovnice zní moc plechově a taky to Cvak-Cvak se nám k naší klasice moc nehodí)
      To uděláte velmi jednoduše:
            Sežeňte si .wav, který by vám nejvíce vyhovoval
            Pojmenujte ho "Sshotf1b.wav" a umístěte do složky "Quake2/brokarna/sound/weapons"
            Kdo chce. může si stáhnout zvuk, který jsem použil já : vespuv_sshotf1b.zip .

      Další věcí, kterou je možné vylepšit hru je vytvoření modelu zbraně jako předmětu ve hře. To je mnohem jednodušší, protože můžeme vycházet z našeho modelu a navíc odpadá práce s rukou a animací. Model zbraně coby "itemu" se nachází v models/weapons/g_shotg2


      Tož a je to.
      Pokud jsem něco vynechal nebo špatně vysvětlil, klidně mi mailněte na vespa@yo.cz
      Model ve formátu .md2 si můžete stáhnout na mojí stránce vespa.wz.cz



http://vespa.wz.cz   [  V E S P O V A    G R A F I K A  ]  - Zdeněk Vespalec 2002