.iNTRO
Hammer World Editor je nástupce Valve Hammer Editoru, kterýto má kořeny ve Worldcraftu a je součástí Source SDK (Steam  > Tools). Jeho účel je zřejmý z názvu, vytváření map pod Source enginem. V tomto tutoriálu vás uvedu do mappování a předvedu nejzákladnější úkony.
 
.NaSTaVENí eDiTORU
Editor by měl být už po prvním spuštění plně funkční, ale neuškodí se kouknout na správné nastavení. Najdete je v Tools  > Options....






Configuration: Jméno profilu, který nastavujete

Game Data files: Soubor s entitami; pokud budete chtít tvořit mapu do vašeho oblíbeněho módu, nezapomeňte ho od tvůrců sehnat, protože nové zbraně budou uloženy právě zde




V editoru jsou dva typy entit (díky nim hra něco dělá - spouští zvuky, spawnuje hráče, otevírá dveře), Point Entity jsou bodové (světlo), Solid Entity tvoří plochu (voda)
Default PointEntity class: Prvně dostupná entita při vstupu do Point Entity menu
Default SolidEntity class: Prvně dostupná entita při vstupu do Solid Entity menu
Default*scale: Nastavení textur a světel, není potřeba měnit

Cordon texture: Textura oblohy


Game Executable Directory: Kořenová složka hry


Game Directory: Podsložka hry, kde jsou složky s mapami, configy, zvuky


Hammer VMF Directory: Zde se ukládá soubor VMF, se kterým pracujte v Hammeru při tvorbě mapy









Configuration: Jméno profilu, který nastavujete




Game executable: Spouštěcí exe soubor hry


BSP executable: Soubor, kterým editor kompiluje výsledné mapy


VIS executable: Tento soubor se stará o textury při kompilaci mapy


RAD executable: RAD soubor se stará o osvětlení při kompilaci mapy


Compiled maps directory: Sem se ukládají hotové mapy po kompilaci










Tyto dvě záložky v Options můžou ovlivnit stabilitu editoru a bez správného nastavení Hammer nezvládne nic. Na těch dalších je spíše uživatelské nastavení, ale pokud hodláte používat vlastní textury, použijte záložku Materials a nastavte si používané .wad soubory.
 
.inTeRFaCe
Orientace v samotném editoru:


  • Šedě jsou vyznačená hlavní menu editoru, částečně ovlivňují mapu, ale moc je asi používat nebudete
  • Níže je žlutě označené Top menu, nemá na výsledek valný vliv, ale upravuje chování editoru
  • Vlevo modře je nástrojová část Hammeru, najdete tu všechny nástroje pro samotnou tvorbu
  • Zelená vévodící celému obrázku značí editační okna - Camera , Top , Front a Side window
  • Vpravo je červeně Texture window s vyběrem a filterem textur
  • Vpravo dole je fialově Tools window, které se mění podle potřeb vybraného nástroje
 
.FUnKCe
.Tools - hlavní ovládací prvky Hammeru

Selection tool - Nejpoužívanější tool, kterým se označují, přesouvají, kopírují, mažou, zvětšují/zmenšují, kosí, otáčí, upravují objekty.
Používá se ve všech oknech, ale pouze v těchto lze s objektem manipulovat. Po označení objektu kliknutím můžete měnit jeho velikost pomocí teček na stranách; po druhém kliknutí ho můžete otáčet a po třetím zkosit. Jakkoli označený objekt lze pomocí Selection toolu přesouvat táhnutím, kopírovat se Shiftem, mazat Deletem a upravovat pomocí menu pod pravým myšítkem:
Cut - vyjme označený objekt
Copy - zkopíruje označený objekt
Paste - vloží zkopírovaný objekt
Delete - smaže aktuálně označený objeky
Paste Special - možnosti, jak objekt vložit (počet kopií, podle které osy vyrovnat, groupnout)
Undo - vrátit poslední operaci
Redo - vpřed o jednu operaci

Carve - aktuálně označený objekt udělá podle svého tvaru díru v objektu, se kterým se prolíná
Make Hollow - vzdutí označený objekt
Group - aktuálně označené objekty přiřadí k sobě do skupiny, která se tváří jako jeden objekt
Ungroup - reversní Group; oddělí k sobě přigroupnuté objekty od sebe

Tie to Entity - udělá z označeného objektu Solid entitu
Move to World - z entity udělá normální objekt







Properties - vlastnosti označeného objektu nebo entity

Samozřejmě fungují i klávesové zkratky Ctrl + Click, Ctrl + O, Ctrl + S, Ctrl + N, Ctrl + C, Ctrl + X, Ctrl + V, Ctrl + A, Ctrl + Z nebo Ctrl + Y.
Magnify - Jednoduše lupa, která funguje ve třech oknech. Levým myšítkem přibližuje, pravým oddaluje.
Její funkci ale naplno zastává myší kolečko, které navíc funguje i při jiných toolech.
Camera - Tímto toolem se můžete pohybovat v Camera window jako ve Free-Looku s pomocí WSAD, v ostatních oknech můžete umísťovat kameru.
Plnohodnotnou náhradou i při jiných toolech je stisknutí Z, kdy nemusíte držet levé myšítko a jenom se pohybujete.
Entity Tool - Tento Tool obstarává point entity. Pomocí tří oken vyberete umístění a pomocí Tools window typ entity, samotnou ji vytvoříte Enterem. Entity lze dále upravovat Selection toolem .
Block Tool - Základ pro každou mapu, protože se v něm dělá kompletní terén. Všimněte si možností v Tools window, kde je na výběr tvar objektu [arch - x-úhelník, block - cihla, cilinder - plný x-úhelník, sphere - koule, torus - půlkoule s propadlým vrcholem, wedge - ve tvaru sýru]. Objekty můžete dále upravovat Selection toolem a udělat z nich Solid entitu kliknutím na toEntity v Tools window. Samotné vytvoření opět Enterem.
Toggle texture application - Tady se aplikují textury na části objektu. Nejdřív si ale přečtěte o "Apply current texture"
Po kliknutí se objeví toto okno:


Material/Displacement - v záložce Material pracujete s texturou, v Displacement s povrchem

Texture scale - velikost textury X - vodorovně, Y - svisle
Texture shift - odsazení textury X - vodorovně, Y - svisle
Lightmap scale - nasvícení textury
Rotation - úhel rotace textury

Texture group - filter textur
Current texture - jméno textury
Justify - Zarovnání textury (funkce Fit roztáhne texturu podle vybrané plochy)
Align - tímto můžete texturu obrátit zrcadlově

Hide mask - skryje označení na textuře
Browse - procházet textury
Replace - záměna textur
Apply - aplikovat texturu s nastavenými parametry

Mode: Lift + Select - označit texturu a zjistit parametry
Lift - zjistit parametry
Select - označit texturu
Apply (texture only) - otexturovat vybranou plochu
Apply (texture + values) - otexturovat vybranou plochu i s nastavenými parametry
Apply current texture - Když si v Texture window vyberete texturu a Selection toolem označíte objekt, kliknutím ho kompletně otexturujete.
Textura se ale dá ze všech stran a nelze nastavit žádné parametry. Pro pokročilejší texturování použijte "Toggle texture application" .
Apply decals - Tímto se aplikují decaly (obrazy, kapky krve, značky) na objekty v mapě. Decaly najdete v Texture window, když do browse filteru zadáte decals, samozřejmě můžete použít i normální textury. Decal je na rozdíl od textury přichycený v jednom bodě a neopakuje se.
Při akci stačí v camera window myší najet na místo a kliknout. Nelze ovšem nastavit jakékoli parametry.
Apply overlays - Podobné jako "Apply decals" s rozdílem, že aplikované decaly budou dělané entitou, tudíž mají nějaké parametry.
Clipping tool - Tímto se dá po přímce rodělit objekt označený Selection toolem . Dvěma body vyznačíte v některém okně místo řezu a stisknete Enter. Pokud na ikonu toolu kliknete vícekrát, mění se odřezané části, případně zůstanou obě.
Vertex tool - Umožňuje modelovat objekty vytvořené Block toolem v Camera window pomocí teček do různých tvarů.

.Top menu - výběr funkcí z Top menu

Funkce pro optimalizaci čtvercové sítě ve třech oknech .
1) Zapíná/vypíná síť, podle které se mappuje. Vypnutí sice trochu zpřehlední plochu, ale pak se vám bude hůř mappovat.
2) Zapíná/vypíná síť i v Camera window. To se hodí, když jsou problémy se zobrazením textur a podobně.
3) Zvětšuje rozlišení čtvercové sítě - pro přesné umístění objektu.
4) Změnšuje rozlišení čtvercové sítě - pro lepší orientaci a zarovnání.
1) Načte uloženou velikost a uspořádání oken.
2) Uloží aktuální velikost a uspořádání oken.
1) Cut - Přesune do paměti aktuálně označený objekt. [Ctrl + X]
2) Copy - Uloží do paměti kopii aktuálně označeného objektu. [Ctrl + C]
3) Paste - Vloží objekt z paměti do mapy. [Ctrl + V]
Zapne/vypne zobrazování prokreslených objektů namísto obdelníků ve třech oknech.

.Point entities - přehled některých entit vytvořených přes Entity Tool

ai_*Entity měnící chování AI.
env_*Entity reprodukující různé efekty.
env_messagePo kontaktu s touto entitou na HUDu vypíše nastavený text.
func_*Entity ovlivňující hráčův pohyb.
game_*Entity měnící průběh hry.
info_*Entity, které hráč nemůže vidět a pouze předávají informace programu.
info_player_startEntita určující, kde se respawnuje hráč.
item_*Entity pro respawn věcí.
lightJednoduše světlo, v Properties jde nastavit barva a asi tucet dalších věcí.
npc_*Entity spawnující NPC.
phys_*Entity s vlivem na fyziku.
player_loadsavedKdyž se hráč dostane do kontaktu s touto entitou, loadne se mu poslední save.
prop_physicsEntita, zařizující fungovaní objektu pod fyzikou.
weapon_*Entity pro respawn zbraní.

.Solid entities - přehled některých entit vytvořených přes toEntity

env_*Entity reprodukující různé efekty.
func_*Entity ovlivňující hráčův pohyb.
func_breakableEntita určující rozbitnost objektu, v nastavení je např. odolnost, materiál, rozbitnost tlakem, atd.
func_buttonJednoduše tlačítko, kterým se dá leccos spustit, stačí napsat do kolonky Target jméno spouštěné entity.
func_door(_rotating)Dveře - buď na pantu nebo posouvací.
func_healtchargerDoplňovač healtů.
game_*Entity měnící průběh hry.
info_*Entity, které hráč nemůže vidět a pouze předávají informace programu.
npc_*Entity starající se o NPC.
trigger_*Triggery nejsou vidět a jsou svým způsobem scriptovací.
 
.PRVNí maPa
V ukázkové mapě vytvořím dvě místnosti se světlem propojené tunelem.

  1. Nejdříve použijte Texture window pro vybrání optimální textury. Poté Block toolem ve třech oknech upravte délku, šířku a výšku místnosti a stiskněte Enter. Velikost se dá upravit kdykoli později.
    Dobře tedy, máte nedutou místnost. Vzdutíte ji tak, ze po označení Selection toolem kliknete pravým myšítkem a dáte Make Hollow; udaná hodnota je v palcích (musí být větší než 1 nebo menší než -1). Záporné číslo znamená, že zůstanou rozměry místnosti a stěny se podle tloušťky roztáhnou kolem, a kladné že stěny užerou svou šířku z velikosti místnosti.



  2. Zatím máte místnost, ale je v ní tma. Pro osvětlení umístěte dovnitř nejdříve point entitu prop_static, kterou označte, dejte Properties a v položce World model vyberte objekt nějakého svítidla (jsou třeba v props_c17). On sám o sobě ale svítit nebude, takže bude potřeba ještě umístit entitu obstarávající světlo. Ta se nachází v point entitách, říká se jí light a vytvoří svítící bod. Tuto entitu umístěte pod nebo nějak kolem světla, podle vkusu.





  3. Teď máte před sebou trochu funkční místnost, ale je celá potažená jednou stejnou texturou. Pro tyto případy je stvořen Toggle texture application . V jeho okně si vyberte texturu, jako Mode nastavte Apply all a v camera okně klikněte na stranu, kterou tímto otexturujete. Možnosti jsou popsány nahoře.

  4. Trošku mapu oživíme pomocí Entity Tool a umístíme objekty.
    1. Předměty jako lékárnička nebo zbraň jačínají item_* a weapon_*
    2. Objekty jako barel nebo topení se umísťují entitou prop_physics (vzhled se nastavuje v Properties  > World Model)


  5. A teď asi nejdůležitější věc - respawn. V point entitách najděte info_player_start a umístěte ho tak, aby neprotínal žádný jiný objekt.
  1. Jak vytvořil propojovací tunel z místnosti: Nejdříve zeď rozdělte na více částí Clipping toolem (3x klik, aby nemizely odřezávané části) podle rozměrů vchodu do tunelu. Smažte kus zdi a podél těto díry stavte zvenku stěny tunelu Block toolem .


    Pak stačí udělat další místnost s dírou pro tunel a zařídit, aby i v ní bylo útulno a to je vlastně vše.

  2. Vytvoření samotné .bsp mapy se provádí přes kompilaci, ta se provádí stiskem [F9] nebo Map  > Compile. Poté chvíli počkejte než pracovní konzole skončí s výpisem a máte hotovou mapu, blahopřeji.
Tutoriálovou mapu si můžete stáhnout jako .vmf soubor do Hammeru - hl2_tutorial.vmf.
 
.záKLadNí maPPiNg
Jak na oblohu...

Celou mapu si dejte do duté krychle, kterou otexturujte jedině a výhradně texturou tools/toolsskybox. Poté dejte u textur do filtru "sky" a prohlídněte si, které z textur chcete mít na obloze. K sobě vždycky patří ty, jejichž název začíná stejně (třeba day02_05) a končí označením pozice - dn (down), rt (right-top), lf (left). Do Map  > Map Properties  > SkyBox Texture Name napište jméno textur bez označení pozice a tím je obloha hotová.

Jak na sklo...

V texturách najděte texturu tools/toolsnodraw a udělejte s ní okno. Nyní dejte v texturách do filtru "glass" a vyberte texturu skla, kterou ale otexturujte jen přední stranu skleněné plochy. Pak si to celé dejte do entity func_breakable_surf pomocí toEntity v Tools window a v Properties nastavte:
Prop. Data: Glass.Small
Material Type: Glass
Fragility: 250
Surface Type: Glass
 
.tiPy & tRiCKy
  • Největším tipem je odkázání na některý web zabývající mappováním:
    thelambda.sk
    ceskemody.cz
    hl2world.com
    vlatitude.com
    snarkpit.net
    gamedesign.net
    thewavelenght.net
  • Hammer si sám zálohuje aktuální verzi mapy ve formátu .vmx, takže v případě nouze stačí jen přejmenovat na .vmf.
  • Pokud nechcete ztrácet čas u kompilování velké mapy a akorát třeba potřebujete zkontrolovat novou místnost, je lepší nastavit funkce VIS a RAD na fast, aby zbytečně nezahlcovaly kompilaci.
  • V Hammeru existuje klávesová zkratka Alt + P, která prozkoumá mapu a najde případné chyby.
  • Pokud se vám po kopilaci v HL2 menu napíše STEAM validation rejected, nic se neděje, stačí vytvořit server s vytvořenou mapou - pak už se chyba nekoná.
  • Při vytváření žebříku do CSS není potřeba používat entity, stačí před skutečný žebřík dát plochu otexturovanou texturou tools/toolsinvisibleladder.
  • Pokud jste do mapy umístili model jako prop_physics, ale nechce se zobrazit, zkuste změnit jeho entitu na prop_physics_override.
  • Pokud chcete jedním ovládacím prvkem ovládat více entit najednou, stačí je všechny pojmenovat stejně.
  • Pro zmenšení výsledné velikosti mapy je záhodno strany objektů, které nemají být vidět, otexturovat texturou tools/toolsnodraw.
  • Pro přetvoření normálního objektu z již existující entity stačí kliknout v Tools window na toWorld