NEWS | ČLÁNKY | DOWNLOAD | GUESTBOOK | TUTORIALS ObnovitZavřít
 
hl - ZONE Half-Life Half-Life 2 Half-Life 3
 
Episode One Episode Two Opposing Force Blue Shift Counter-Strike 1.6
 INFO
Přidat do oblíbených
Nastavit jako Homepage

ICQ: 272-515-771 
Aktualizace:

 SYSTÉM
 TLAČÍTKA
hl-ZONE Button 1
 
hl-ZONE Button 2
 SPOLUPRACUJEME
 Tvorba exteriéru Pátek 03. 11. 2006
<-- Hrátky s kamerou Zvuky - II. část -->

Dneska se podíváme na velmi důležitou věc, kterou budeme mnohokrát v našich mapách potřebovat. Jedná se o tvorbu exteriéru. Tedy venkovních prostranství. Mnohokrát jsme je mohli v Half-Life vidět a světe div se, není to vůbec nic těžkého.

Na úvod:
V dnešním tutoriálu si nejprve vytvoříme nějaké venkovní prostranství, třeba přistávací plochu pro vrtulník (neboli helipad) a následně vytvoříme oblohu pomocí textury SKY. Pak se chvíli budeme věnovat entitě light_environment, která naši mapu osvětlí (jde tedy o "Slunce"). Také si ukážeme jak jednoduše změnit naší oblohu a na závěr si vysvětlíme jak engine Half-Life vlastně simuluje pozadí mapy (pozadím myslím oblohu) a také si vytvoříme vlastní velmi jednoduchou oblohu.

Tip01:
Možná by bylo dobré hned na úvod napsat, že pod pojmem pozadí i obloha myslím jednu věc. Jelikož jde o pozadí mapy včetně skal, které dobře známe z Half-Life budu v dalším textu používat pouze pojem pozadí mapy. To jen pro jistotu, aby se to tady nepletlo.

Helipad - exteriér + pozadí:
Takže a začátek si musíme vytvořit nějaký exteriér. Já jsem již uvedl, že budu dělat helipad, ale je to celkem jedno. Důležité je, aby naše prostranství mělo 4 stěny. Také si do mapy vložte entitu info_player_start, ale světlo zatím, žádné nevkládejte. Já jsem si to ještě trošku zkomplikoval a vytvořil jsem bunkr, ve kterém hráč začíná. Posuďte sami z následujících obrázků.


Obr. 1
Exteriér

Obr. 2
Bunkr

Obr. 3
Celkový pohled na mapu

Pokud tedy budeme mít vytvořen nějaký exteriér (ať už podobný tomu mému, nebo úplně obyčejné prostranství s podlahou a čtyřmi stěnami) musíme nadefinovat plochy, kde se bude zobrazovat pozadí. Pro začátek nám stačí vědět, že k tomu budeme potřebovat brush s texturou SKY. Popřípadě více takových brushů. Takže všude tam, kde má být pozadí ho jednoduše umístíme. Dejte si však pozor na to, aby brushe byly skutečně všude, kde mají být a aby se dotýkali ostatní částí mapy (zdí, …).


Obr. 4
Pozadí pomocí SKY

Obr. 5
Pozadí pomocí SKY

V mém případě jsem tedy do mapy vložil několik takových brushů. Na obrázcích jsou světle modrou barvou. Pokud teď mapu zkompilujeme, uvidíme, že pozadí je skutečně na svém místě. Něco však chybí. Je všude (tím myslím zdi, jelikož pozadí je takové jaké je a světla a stíny v mapě na něj nemají žádný vliv - vysvětlím níže) tma. To proto, že není mapa osvětlena (i když v mapě jsou umístěny entity light).

Sluníčko, popojdi maličko:
Jak jsme si tedy řekli v minulém odstavci, mapa je tmavá. Potřebuje osvětlit a k tomu je určená entita light_environment. Je to zvláštní druh světla, který v Half-Life reprezentuje něco jako Slunce, i když ke skutečnému Slunci to má opravdu daleko. Její použití je opět velmi snadné. Umístěte ji tam, kde chcete mít zdroj záření (tedy odkud má Slunce svítit). To by mělo být někde nahoře, ale pochopitelně, že to záleží na situaci. Nyní se podívejme na nastavení entity:

light_environment - záložka Class_info:
Name: jméno entity, pomocí kterého se na ni odvoláme (jistě vás tedy napadne, že jde vypínat a zapínat, efekt je ale otřesný a simulace západu Slunce nepřichází v úvahu)
Pitch Yaw Rall (Y Z X): úhel směru záření (pouze horizontální)
Pitch: vertikální úhel svitu ve stupních; pro svit paprsků dolů použijte záporné hodnoty
Brightness: stejné jako u normálního světla, nastavení barvy Slunce ve formátu R G B, přičemž poslední číslo udává jas

Takže jak vidíte, nic složitého. Položka Name nemá veliké využití. Světlo se jednoduše vypne, tedy okolí ztmavne, ale pozadí zůstane stejné. Druhá položka je o něco zajímavější. Určuje směr, kterým bude světlo (Slunce) svítit, ale pouze v horizontálním směru. Pro určení vertikálního úhlu slouží kolonka Pitch. Pro docílení efektu, že paprsky dopadají směrem dolů je nutné zadat záporné hodnoty jinak budou svítit nahoru. A konečně poslední kolonka je jasná.

Nastavení si vyzkoušejte sami. Je to velmi jednoduché. A tím máme tvorbu exteriéru zdárně za sebou. Jak jsem říkal je to opravdu jednoduché. Pro rekapitulaci vám stačí několik brushů s texturou SKY a jedna entita light_environment. Toť vše. Ale co když chceme jiné pozadí, než to, které je právě vidět? Čtěte dál…


Obr. 6
Mapa bez Slunce

Obr. 7
Exteriér s light_environmental

Hráč není bůh:
Před tím, než se podíváme na další druhy pozadí v našich mapách trošičku odbočím a zmíním se ještě o jednom problému. Jde o to, že pokud by bylo pozadí v místě, kde by k němu měl hráč přístup (například v Counter-Strike při změně gravitace mapy), vzniká nemilý problém. Brush s texturou SKY sice určuje, kde se má pozadí zobrazovat, ale je Not Solid, tedy hráč jím může bez problémů projít a ocitnout se mimo mapu. A to je chyba.

Naštěstí je velmi jednoduché jí opravit. Ve VHE existuje textura CLIP, která ve hře není vidět, ale zamezí hráči v průchodu. Je to tedy taková neviditelná zeď, přes níž se nic nedostane (teda, kulky, rakety, granáty, … ano). Proto je dobrým zvykem ji používat všude tam, kam se hráč nemá dostat (např.: pokud chceme aby hráč nemohl spadnou z římsy, použijeme právě brush s touto texturou).


Obr. 8
Textura CLIP

Obr. 9
Mapa s CLIP brushema

A to řeší i náš problém. Jednoduše vytvoříme několik brushů s texturou CLIP a umístíme je těsně před naše pozadí (brushe s texturou SKY). A tím máme klid a možnost, že by hráč opustil mapu projitím pozadí odpadá. Tuto problematiku nepodceňujte a hojně používejte. Ale teď už k dalším pozadím.

Jiné pozadí:
Jistě jste si při hraní Half-Life všimli, že se v jednotlivých mapách vyskytují různá pozadí (hodně patrné je to především Counter-Strike), třeba v Black Mesa a následně na Xenu. V Half-Life jich je hned několik a vůbec není těžké zvolit právě to, které se vám líbí a které vystihuje tu správnou atmosféru mapy.

A jak na to? Ve VHE klikněte na Map -> Map Properties. Vyskočí vám tabulka, která je na následujícím obrázku. Jedná se o nastavení samotné mapy. Jednotlivé možnosti nebudu popisovat, protože nejsou předmětem dnešního tutoriálu, ale jen krátce uvedu, že zde máme možnost nastavit jméno kapitoly, číslo zvukové stopy na CD, maximální viditelnost v jednotkách, možnost Fade In/Out (tedy postupné rozsvícení/ztmavnutí obrazovky), texty v mapě atd.). Nás však zajímá kolonka environment map (cl_skyname).


Obr. 10
Map Properties

Zde se uvádí název pozadí, které chceme v naší mapě nechat zobrazovat. Obrázky níže jsou jednotlivá pozadí, které jsou v Half-Life standardně obsaženy. Jak bylo vidět na předchozím obrázku, vybral jsem pozadí Dusk, takže pokud teď mapu zkompilujeme, budeme mít nové pozadí. Ještě by bylo dobré poznamenat, že je jako defaultní (standardní) pozadí nastaveno Desert. A teď již jednotlivá pozadí.

2desert:

alien1:

alien2:

alien3:

black:

city:

cliff:

desert:

dusk:

morning:

neb1:

neb2b:

neb6:

neb7:

night:

space:

xen8:

xen9:

xen10:

Takže nyní už víme, jak vypadají jména a jednotlivá pozadí. Takže je můžeme s chutí začít používat. Ještě však musím uvést, kde jsou uloženy v adresáři hry a jak se k nim dostaneme. Budeme k tomu potřebovat program PakScape, který si pochopitelně můžete stáhnout z našich stránek. Pozadí jsou uložena v souboru pak0.pak, který je v Half-Life -> valve. Otevřete si ho (pomocí výše zmiňovaného programu) a pokračujte do složky Gfx -> env.

Tam je celá řada obrázků, která začínají jménem pozadí a končí divnými písmeny. A pochopitelně příponou .bmp nebo .tga. Divných písmen na konci jména si zatím nebudeme všímat a řekneme si, že do environment map (cl_SKYname) se zadávají pouze samotné názvy jednotlivých pozadí. Ještě uvedu, že jedna mapa může mít pouze jedno pozadí (ale dá se to obejít).


Obr. 11
Změna pozadí...

Obr. 12
...a jaký je to rozdíl

Vlastní pozadí:
Myslím, že je tedy jasné, jak se vytvoří exteriér a jak se zvolí jiné pozadí než to nastavené ve VHE a jak zjistíme, která pozadí máme k dispozici. Nyní se pojďme podívat jak si vytvořit vlastní pozadí v mapě. Dopředu uvádím, že je to trochu těžší záležitost a je k tomu potřeba nějakého programu, který umí generovat povrchy (vhodný je třeba Terragen) a proto si to velmi zjednodušíme a budeme potřebovat pouze Malování, které je ve Windows.

Než se však pustíme do samotné tvorby pozadí, je nutné si vysvětlit jak funguje jeho zobrazování v enginu Half-Life. Máme mapu a do ní vložíme brush s texturou SKY. Tam, kde bude umístěn se zobrazí i pozadí. Pokud takový brush v mapě existuje, engine vytvoří okolo mapy pomyslnou dutou krychli (můžeme ji nazývat SKYbox) a na její stěny jsou nataženy jednotlivé části pozadí. A to i přesto, že v naší mapě je potažen texturou SKY pouze jeden Face (tedy stěna brushe). A to přímo souvisí s divnými písmeny na konci jednotlivých jmen pozadí v souboru pak0.pak. Ty písmena jsou vlastně zkratky, které určují přesnou polohu obrázku ve SKYboxu, který engine vytvoří.

Je tedy více než patrné, že každé pozadí se skládá z šesti obrázků. Přední, zadní, boky, dno a vršek. Pokud tedy chceme vytvořit vlastní pozadí musíme správně pojmenovat jednotlivé obrázky. Níže je seznam zkratek a jejich popis. Mějme tedy pozadí, které jednoduše pojmenujeme pozadi. Jména obrázků potom budou:

Dno: pozadiDN
Přední střena: pozadiFT
Levá stěna: pozadiLF
Zadní stěna: pozadiBK
Pravá stěna: pozadiRT
Víko: pozadiUP

Nyní si otevřeme Malování a vytvoříme 6 obrázků našeho pozadí. Já jsem si to ulehčil a použil jsem pouze text, který popisuje jednotlivé části. Moje pozadí se tedy bude skládat z následujících obrázků (podotýkám, že čáry v rozích a uprostřed stran jsou pouze pro lepší orientaci, aby bylo vidět jak vše na sebe jednotlivé části navazují).


Obr. 13
Dno: pozadiDN

Obr. 14
Přední střena: pozadiFT

Obr. 15
Levá stěna: pozadiLF

Obr. 16
Zadní stěna: pozadiBK

Obr. 17
Pravá stěna: pozadiRT

Obr. 18
Víko: pozadiUP

Teď už nám zbývá jednotlivé obrázky nahrát do složky Half-Life -> valve -> Gfx -> env (pochopitelně ze je můžeme uložit i do souboru pak0.pak, ale toto nám výrazně urychlí práci) a uložíme je ve formátu .TGA o velikosti 256x256 pixelů a 72 DPI. Pak už jenom zbývá přepsat název pozadí v environment map (cl_skyname) na pozadi, mapu zkompilovat a pokochat se naším novým výtvorem.

Závěr:
Zde bych naše vyprávění ukončil. Jak je patrné z dnešního tutoriálu, tvorba pozadí není vůbec složitá a jediné co je potřeba vědět je, že se používá brush s texturou SKY a entita light_environment pro osvětlení mapy (exteriéru). Také bývá dobrým zvykem zamezit procházení pozadím (tedy brushem s texturou SKY) pomocí brushe s texturou CLIP.


Obr. 19
Mapa s naším pozadím

Obr. 20
Mapa s naším pozadím

Není ani nic těžkého změnit pozadí mapy na jiné, které je obsažené ve složce Half-Life a v podstatě ani tvorba vlastního. Je to pouze piplačka a musíme se naučit tvořit v třeba již zmiňovaném Terragen, což není zase tak obtížné (na internetu je spousta návodů).

A co říci na úplný závěr? Snad jen to, že se příště konečně vrátíme ke zvukům a vytvoříme monolog policisty. Také se mrkneme na již zmiňovaný soubor sentences.txt. Ale to až příště. Takže prozatím ZDAR!!!

 

SOUBORY

 

KOMENTÁŘE

 

hAssassin (email: voker@email.cz)

nonToxic> nejspíš je blbě uložená a nemůže jí to najít a zkopírovat do adresaře maps, ze kterýho se mapy spouštěj, takže ji to nespustí. Skus ji najít na disku a ručně zkopčit do maps. Pak by to mělo fungovat.

Díky za pochvalu, pokračování bude brzy... Snad se bude líbit...

Odpovědět


Boss

Tak tohle se fakt hodí... Díky za návod a jen tak dál - doufám, že pokračování bude co nejdříve

Odpovědět


nonTOXic (email: toxic26@seznam.cz)

POTŘEBUJU PORADIT!!!! Normálně sem si dělal mapy podle turtoriálu a šli v pohodě ale těd sem si udelal vlastni mapu a nejde mi zapnout!! (ale kdyz sem delal jednotlivý části tak to vzdycky šlo)... píše mi to chybu:

Executing...
** Command: Copy File
** Parameters: "d:\counter\cstrike\maps\glassworld11.bsp" "D:\counter\valve\maps\glassworld11.bsp"

The command failed. Windows reported the error:
"Systém nemůže nalézt uvedený soubor."

Předem děkuji za odpověd...:) MIMOCHODEM SUPER TURTORIAL!!!!

Odpovědět

 

 

<-- Hrátky s kamerou Zvuky - II. část -->

NAHORU ...

 ČERSTVÉ NOVINKY
 POSLEDNÍ TUTORIÁLY
 ANKETA
Staré ankety
 REKLAMA