Příspěvků: 9
• Stránka 1 z 1
Základy - dvere, tlačítka, ...
V tomto topic-u sú vysvetlené základné funkcie a ako ich spraviť.
Ak ste začiatočník, radšej treba začať s niečím jednoduchým. Preto sme si tu pre vás pripravili tie najjednoduchšie
veci vo svete hammer-u. Ak by bolo niečo nejasné, pýtajte sa. ( podpora-f719.html )
Zo začiatku, vložte si do hammeru / jack-u 3 súbory s textúrami (.wad súbory) - cstrike.wad , halflife.wad , zhlt.wad
======================================================================================
Obsah:
======================================================================================
Ostatné dorobím neskôr.
Ak ste začiatočník, radšej treba začať s niečím jednoduchým. Preto sme si tu pre vás pripravili tie najjednoduchšie
veci vo svete hammer-u. Ak by bolo niečo nejasné, pýtajte sa. ( podpora-f719.html )
Zo začiatku, vložte si do hammeru / jack-u 3 súbory s textúrami (.wad súbory) - cstrike.wad , halflife.wad , zhlt.wad
======================================================================================
Obsah:
======================================================================================
Ostatné dorobím neskôr.
XD XD XD
-
chickEZ - Spamerův sluha
- Příspěvky: 991
- Registrován: 29 lis 2016, 08:04
Základy - dvere, tlačítka, ...
A uz jsi vyzkousel treba tohle? 

-
Rumcajz - Patriot
- Příspěvky: 97323
- Registrován: sob 29.led 1999 0:11:22
Posúvacie dvere
Posúvacie dvere
Čo bude potreba?:
Ako prvé, vytvoríme si nejakú budovu, ktorá bude mať otvor na dvere.

Do otvoru vytvoríme brush s texturou nejakých dverí. Najlepšie je si spraviť šírku dverí minimálne o 1 hu (hammer unit) menší z každej strany, ako je šírka steny. Je to kvôli tomu, aby sa v hre nepretínali 2 textury.
(Ja som dal o 4 hu menej)

Označíme si dvere a pomocou "CTRL+T" vytvoríme solid entitu, kde si nastavíme func_door.
==================================================================================
Ideme nastavovať (bude nám potreba iba tieto parametre):
Treba si taktiež aj určiť, kde sa budú tie dvere posúvať. V pravom rohu máte čierny kruh, ktoré to určuje. Uhol určujeme podľa top (x/y) kamery. Keďže som spravil dvere z ľavej strany, tak čiaru dám hore alebo dole.

Taktiež si môžme určiť, či sa nám dvere posunú do hora alebo do dola.

==================================================================================
Keď sa dotkneme dverí, otvoria sa. Ale my si môžme spraviť aj spúšťač, ktorý keď budeme pred dverami, tak sa aktivujú. Na to bude potreba trigger_multiple.
Najprv si ešte nastavíme meno dverí, aby ich ten spúšťač zapol.

Vytvoríme si teda brush, ktorý bude s textúrou AAAtrigger.

Z tohto brushu si vytvoríme solid entitu trigger_multiple a nastavíme, aby spúšťač odkazoval na názov dverí:

Bude potreba nastaviť aj čas, kedy sa nám spúšťač znova zapne. Čas nastavíme rovnaký, aký máme pri dverách ('delay before close')

Aby sme sa dostali vonku z budovy, tak si duplikujeme (SHIFT + ťaháme) 'trigger_multiple' a dáme aj na druhú stranu dverí (v budove).

==================================================================================
PRÍKLADOVÁ MAPA
==================================================================================
Samozrejme, dá sa nastaviť aj spúšťač, ktorý bude tlačítko. To si vysvetlíme pri tutoriály na tlačítko.
Na záver ešte vysvetlivky vo flags:
Čo bude potreba?:
- budova, do ktorej sa bude vchádzať
- func_door
- 2x trigger_multiple
Ako prvé, vytvoríme si nejakú budovu, ktorá bude mať otvor na dvere.

Do otvoru vytvoríme brush s texturou nejakých dverí. Najlepšie je si spraviť šírku dverí minimálne o 1 hu (hammer unit) menší z každej strany, ako je šírka steny. Je to kvôli tomu, aby sa v hre nepretínali 2 textury.
(Ja som dal o 4 hu menej)

Označíme si dvere a pomocou "CTRL+T" vytvoríme solid entitu, kde si nastavíme func_door.
==================================================================================
Ideme nastavovať (bude nám potreba iba tieto parametre):
- Speed:
- 150 (rýchlosť posunu dverí)
- Snappy Metal Door (môžte si zvoliť aj iný zvuk - keď sa budú posúvať dvere)
- Snappy Metal Stop (môžte si zvoliť aj iný zvuk - keď sa dvere zastavia)
- 3 (čas, ako dlho budú dvere otvorené)
- -1 (o koľko viac hu sa posunú dvere - používam '-1' kvôli tomu, aby sa textúry nepretínali)
- 0 (koľko vezme hráčovi HP, keď ich blockne)
- no (či budú neviditeľné dvere - chcem ich vidieť, tak vždy bude 'no')
Treba si taktiež aj určiť, kde sa budú tie dvere posúvať. V pravom rohu máte čierny kruh, ktoré to určuje. Uhol určujeme podľa top (x/y) kamery. Keďže som spravil dvere z ľavej strany, tak čiaru dám hore alebo dole.

Taktiež si môžme určiť, či sa nám dvere posunú do hora alebo do dola.

==================================================================================
Keď sa dotkneme dverí, otvoria sa. Ale my si môžme spraviť aj spúšťač, ktorý keď budeme pred dverami, tak sa aktivujú. Na to bude potreba trigger_multiple.
Najprv si ešte nastavíme meno dverí, aby ich ten spúšťač zapol.

Vytvoríme si teda brush, ktorý bude s textúrou AAAtrigger.

Z tohto brushu si vytvoríme solid entitu trigger_multiple a nastavíme, aby spúšťač odkazoval na názov dverí:
- Target:
- doors_01

Bude potreba nastaviť aj čas, kedy sa nám spúšťač znova zapne. Čas nastavíme rovnaký, aký máme pri dverách ('delay before close')
- Delay before reset:
- 3

Aby sme sa dostali vonku z budovy, tak si duplikujeme (SHIFT + ťaháme) 'trigger_multiple' a dáme aj na druhú stranu dverí (v budove).

==================================================================================
PRÍKLADOVÁ MAPA
==================================================================================
Samozrejme, dá sa nastaviť aj spúšťač, ktorý bude tlačítko. To si vysvetlíme pri tutoriály na tlačítko.
Na záver ešte vysvetlivky vo flags:
- 'func_door'
- Starts open: Dvere sa otvoria na začiatku kola.
Passable: Dvere sú priechodné - môžme prejsť cez ne aj keď sú otvorené.
Toggle: Dvere sa neotvoria/nezatvoria, dokým ich znova neotvoríte/nezavrete (napr. dotykom, alebo tým spúšťačom - otvoriť, čakať 3 sekúndy - zavrieť).
Use only: Dvere sa otvoria len pomocou "E" (+use).
Not in Deathmatch: Dvere budú fungovať len v singleplayer-i.
- 'trigger_multiple'
- No players, entity only: Hráč nemôže spustiť tento spúšťač, iba cez akúkoľvek inú entitu.
Pushables: Spúšťač môže zapnúť aj brush, ktorý je vo funkcií func_pushable.
XD XD XD
-
chickEZ - Spamerův sluha
- Příspěvky: 991
- Registrován: 29 lis 2016, 08:04
Rotačné dvere
Rotačné dvere
Čo bude potreba?:
Ako prvé, vytvoríme si nejakú budovu, ktorá bude mať otvor na dvere.

Do otvoru vytvoríme brush s texturou nejakých dverí. Na kraji dverí vytvoríme ďalší malý brush, ktorý bude mať textúru origin. Ten brush musí byť tak, aby stred (X) toho brushu bol na hrane dverí (podľa top (x/y) kamery).


Označíme si obidva brushe (dvere + origin brush), a vytvoríme z nich solid entitu func_door_rotating.
==================================================================================
Ideme nastavovať (bude nám potreba iba tieto parametre):
==================================================================================
Pri flags X axis a Y axis určujeme uhol rotácie podľa čierneho kruhu v pravom rohu.

==================================================================================
PRÍKLADOVÁ MAPA
==================================================================================
Dvere máme hotové.
Vysvetlivky vo flags:
Čo bude potreba?:
- budova, do ktorej sa bude vchádzať
- func_door_rotating
- zhlt.wad (hlavne textúra ORIGIN)
Ako prvé, vytvoríme si nejakú budovu, ktorá bude mať otvor na dvere.

Do otvoru vytvoríme brush s texturou nejakých dverí. Na kraji dverí vytvoríme ďalší malý brush, ktorý bude mať textúru origin. Ten brush musí byť tak, aby stred (X) toho brushu bol na hrane dverí (podľa top (x/y) kamery).


Označíme si obidva brushe (dvere + origin brush), a vytvoríme z nich solid entitu func_door_rotating.
==================================================================================
Ideme nastavovať (bude nám potreba iba tieto parametre):
- Speed:
- 100 (rýchlosť posunu dverí)
- Servo (Sliding) (môžte si zvoliť aj iný zvuk - keď sa budú posúvať dvere)
- Chunk (môžte si zvoliť aj iný zvuk - keď sa dvere zastavia)
- 3 (čas, ako dlho budú dvere otvorené)
- 0 (o koľko viac hu sa posunú dvere - používam '0' pri func_door_rotating, keďže tam nie je potreba, aby sa niekde viac posunuli dvere)
- 0 (koľko vezme hráčovi HP, keď ich blockne)
- no (či budú neviditeľné dvere - chcem ich vidieť, tak vždy bude 'no')
==================================================================================
Pri flags X axis a Y axis určujeme uhol rotácie podľa čierneho kruhu v pravom rohu.

==================================================================================
PRÍKLADOVÁ MAPA
==================================================================================
Dvere máme hotové.
Vysvetlivky vo flags:
- 'func_door_rotating'
- Starts open: Dvere sa otvoria na začiatku kola.
Reverse dir: Ak chcete nahnevať hráča - dvere sa budú otvárať v smere, kde je hráč.
Passable: Dvere sú priechodné - môžme prejsť cez ne aj keď sú otvorené.
One-Way: Dvere sa budú otvárať len v jednom smere, ako ich určite.
Toggle: Dvere sa neotvoria/nezatvoria, dokým ich znova neotvoríte/nezavrete (napr. dotykom, alebo tým spúšťačom - otvoriť, čakať 3 sekúndy - zavrieť).
X axis Dvere sa budú rotovať po X osi.
Y axis: Dvere sa budú rotovať po Y osi.
Use only: Dvere sa otvoria len pomocou "E" (+use).
Not in Deathmatch: Dvere budú fungovať len v singleplayer-i.
XD XD XD
-
chickEZ - Spamerův sluha
- Příspěvky: 991
- Registrován: 29 lis 2016, 08:04
Tlačítko
Tlačítko
Čo bude potreba?:
Ako prvé, vytvorím si nejakú vec, ktorú budem spúšťať - napr. dvere.

Z dverí si spravíme func_door (tutoriál na dvere) a nastavíme - Name: doors_01. Ďalej si vytvoríme nejaký brush, ktorý bude mať textúru tlačítka.
Označenie pre tlačítka je +0 (vypnuté tlačítko) a +A (zapnuté tlačítko).

Z tohto brushu vytvoríme solid entitu func_button, kde nastavíme nasledovne:
==================================================================================
Pokiaľ chceme, aby sa dvere otvárali a zatvárali vtedy, keď sa stlačí tlačítko, tak nastavíme takto:
==================================================================================
PRÍKLADOVÁ MAPA
==================================================================================
Dvere na tlačítko máme hotové.
Vysvetlivky vo flags:
Čo bude potreba?:
- nejakú vec, ktorú budeme spúšťať (na príklad dám dvere)
- func_button
- func_door
Ako prvé, vytvorím si nejakú vec, ktorú budem spúšťať - napr. dvere.

Z dverí si spravíme func_door (tutoriál na dvere) a nastavíme - Name: doors_01. Ďalej si vytvoríme nejaký brush, ktorý bude mať textúru tlačítka.
Označenie pre tlačítka je +0 (vypnuté tlačítko) a +A (zapnuté tlačítko).

Z tohto brushu vytvoríme solid entitu func_button, kde nastavíme nasledovne:
- Target:
- doors_01 (odkazujeme na dvere)
- delay before reset (-1 stay):
- 3 (čas, za koľko sa nám tlačítko znova obnoví)
==================================================================================
Pokiaľ chceme, aby sa dvere otvárali a zatvárali vtedy, keď sa stlačí tlačítko, tak nastavíme takto:
- func_button
- Target:
- doors_01
Vo flags zaškrtneme Don't move a Toggle.

-------------------------------------------------------------------------
func_door
- Vo flags zaškrtneme Toggle.

==================================================================================
PRÍKLADOVÁ MAPA
==================================================================================
Dvere na tlačítko máme hotové.
Vysvetlivky vo flags:
- 'func_button'
- Don't move: Tlačítko sa nepohne, keď bude stlačené.
Toggle: Tlačítko sa nebude resetovať (bude on/off ako spínač)
Touch activates: Spustenie tlačítka dotykom.
XD XD XD
-
chickEZ - Spamerův sluha
- Příspěvky: 991
- Registrován: 29 lis 2016, 08:04
Rebrík
Rebrík
Čo bude potreba?:
==================================================================================
Spravíme si nejakú vyššiu budovu, kam budeme liezť - napr. na strechu.

Niekde tam si vytvoríme ďalší brush s texturou rebríka, ktorý bude pred budovou a od podlahy vysoký až po hornú hranu budovy, široký 32 hu a hlboký 2 hu (môže byť aj viac hlboký, najlepšie je ale mať 1 - 2 hu).
Ak rebrík nemáme vycentrovaný, tak pomocou toolu Texture Application Mode (Shift+A) vycentrujeme (C) - v toole si vyberieme mód Lift+Select, v 3D kamere označíme prednú stenu rebríka a dáme (C)


Z tohto brushu rebríka si vytvoríme solid entitu func_wall, kde si nastavíme:
Pred rebrík si vytvoríme ďalší brush, ktorý bude mať textúru AAAtrigger a dáme ho hneď pred náš rebrík (func_wall) - musia sa brushe dotýkať.

Z tohto brushu s texturou AAAtrigger vytvoríme solid entitu func_ladder, kde netreba nič nastavovať. Hlavne je iba, aby sa tie brushe dotýkali seba.

==================================================================================
Rebrík máme hotový.
PRÍKLADOVÁ MAPA
==================================================================================
Čo bude potreba?:
- budova, kam sa bude liezť
- func_wall
- func_ladder
==================================================================================
Spravíme si nejakú vyššiu budovu, kam budeme liezť - napr. na strechu.

Niekde tam si vytvoríme ďalší brush s texturou rebríka, ktorý bude pred budovou a od podlahy vysoký až po hornú hranu budovy, široký 32 hu a hlboký 2 hu (môže byť aj viac hlboký, najlepšie je ale mať 1 - 2 hu).
Ak rebrík nemáme vycentrovaný, tak pomocou toolu Texture Application Mode (Shift+A) vycentrujeme (C) - v toole si vyberieme mód Lift+Select, v 3D kamere označíme prednú stenu rebríka a dáme (C)


Z tohto brushu rebríka si vytvoríme solid entitu func_wall, kde si nastavíme:
- Render Mode:
- Solid - no light (aby nám zmizla modrá (na obrázku čierna) textúra)
- no
Pred rebrík si vytvoríme ďalší brush, ktorý bude mať textúru AAAtrigger a dáme ho hneď pred náš rebrík (func_wall) - musia sa brushe dotýkať.

Z tohto brushu s texturou AAAtrigger vytvoríme solid entitu func_ladder, kde netreba nič nastavovať. Hlavne je iba, aby sa tie brushe dotýkali seba.

==================================================================================
Rebrík máme hotový.
PRÍKLADOVÁ MAPA
==================================================================================
XD XD XD
-
chickEZ - Spamerův sluha
- Příspěvky: 991
- Registrován: 29 lis 2016, 08:04
Voda
Voda
Čo bude potreba?:
==================================================================================
Vytvoríme si nejaké koryto, alebo nejaký bazén, kde budeme mať vodu.

Do vnútra toho koryta, vytvoríme ďalší brush s textúrou vody. Výšku vody si určite vy, ale krajšie to vypadá, keď je o pár hu menej. Tento brush sa musí dotýkať vnútorných stien koryta / bazéna.

Z brushu vody si vytvoríme solid entitu func_water a v nastavení nás budú zaujímať iba 2 veci:
Pokiaľ chceme, aby vodu bolo menej vidno, tak si nastavíme k tomu aj:
Vo flags je všetko odškrtnuté!
==================================================================================
Samozrejme, je tam veľa vecí v nastavovaní, lebo táto funkcia slúži taktiež ako dvere - napr. pri JB atrakcií - klietka s vodou - vodu vysunie hore, aby utopila hráča.
PRÍKLADOVÁ MAPA
==================================================================================
Čo bude potreba?:
- koryto / bazén
- func_water
==================================================================================
Vytvoríme si nejaké koryto, alebo nejaký bazén, kde budeme mať vodu.

Do vnútra toho koryta, vytvoríme ďalší brush s textúrou vody. Výšku vody si určite vy, ale krajšie to vypadá, keď je o pár hu menej. Tento brush sa musí dotýkať vnútorných stien koryta / bazéna.

Z brushu vody si vytvoríme solid entitu func_water a v nastavení nás budú zaujímať iba 2 veci:
- Contents:
- Water (čo obsahuje ten brush - vodu, dá sa aj láva, ktorá uberá HP)
- 0.2 (výška vĺn - 0 žiadne vlny)
Pokiaľ chceme, aby vodu bolo menej vidno, tak si nastavíme k tomu aj:
- Render mode:
- Texture some light
- 130 (cca taký stred, môžte si aj pridať hodnotu alebo ubrať)
Vo flags je všetko odškrtnuté!
==================================================================================
Samozrejme, je tam veľa vecí v nastavovaní, lebo táto funkcia slúži taktiež ako dvere - napr. pri JB atrakcií - klietka s vodou - vodu vysunie hore, aby utopila hráča.
PRÍKLADOVÁ MAPA
==================================================================================
XD XD XD
-
chickEZ - Spamerův sluha
- Příspěvky: 991
- Registrován: 29 lis 2016, 08:04
Teleport
Teleport
Čo bude potreba?:
==================================================================================
Prvej si vytvoríme miesto, odkiaľ a kam sa budeme teleportovať. Ja si vytvorím jednoduchú stenu.
Vytvorím entitu env_sprite, kde nastavíme:

==================================================================================
Ďalšia vec je, že si vytvoríme brush s texturou AAAtrigger a dáme ho do nášho env_sprite
(aby sa pretínali). Z tohto brushu vytvoríme entitu trigger_teleport.

Túto entitu nastavíme takto:
==================================================================================
Teraz ideme vytvoriť miesto, kam sa portneme. Presuniem sa teda na druhú stranu múru.
Tam si vytvorím entitu info_teleport_destination a nastavím ho takto:

==================================================================================
Teleport máme hotový. Môžme vytvoriť taktiež spätný teleport. Postup je rovnaký.
PRÍKLADOVÁ MAPA
==================================================================================
Čo bude potreba?:
- nejaká budova alebo miestnosť, kde sa chceme teleportovať
- trigger_teleport
- info_teleport_destination
- env_sprite (nepotrebné až tak, ale pre príklad dám)
==================================================================================
Prvej si vytvoríme miesto, odkiaľ a kam sa budeme teleportovať. Ja si vytvorím jednoduchú stenu.
Vytvorím entitu env_sprite, kde nastavíme:
- Render Mode:
- Additive
- vyberieme si zo zložky sprites (valve/sprites ../.. cstrike/sprites) nejaký teleport
- pr. valve/sprites/tele1.spr
- Start On

==================================================================================
Ďalšia vec je, že si vytvoríme brush s texturou AAAtrigger a dáme ho do nášho env_sprite
(aby sa pretínali). Z tohto brushu vytvoríme entitu trigger_teleport.

Túto entitu nastavíme takto:
- Target:
- td_tele1
==================================================================================
Teraz ideme vytvoriť miesto, kam sa portneme. Presuniem sa teda na druhú stranu múru.
Tam si vytvorím entitu info_teleport_destination a nastavím ho takto:
- Name:
- td_tele1
- nastavíme si pomocou čierneho kruhu, ktorým smerom sa hráč bude pozerať,
keď sa teleportne - podľa top kamery

==================================================================================
Teleport máme hotový. Môžme vytvoriť taktiež spätný teleport. Postup je rovnaký.
PRÍKLADOVÁ MAPA
==================================================================================
XD XD XD
-
chickEZ - Spamerův sluha
- Příspěvky: 991
- Registrován: 29 lis 2016, 08:04
Zbrane na mape
Zbrane na mape
Čo bude potreba?:
Vytvoríme miestnosť, v ktorom budú zbrane.

Spravil som si tam stôl, takže na ten stôl budem dávať zbrane. Na to potrebujeme entitu armoury_entity.
Entitu treba dať tak, aby sa spodok entity dotýkal povrchu (napr. stola) brushu. *obr. 1
Nastavujeme armoury_entity:
obr. 1

------------------------------------------------------------------
obr. 2

==================================================================================
A máme na mape zbrane.
PRÍKLADOVÁ MAPA
==================================================================================
Čo bude potreba?:
- miesto, kde budú položené zbrane/položená zbraň
- armoury_entity
Vytvoríme miestnosť, v ktorom budú zbrane.

Spravil som si tam stôl, takže na ten stôl budem dávať zbrane. Na to potrebujeme entitu armoury_entity.
Entitu treba dať tak, aby sa spodok entity dotýkal povrchu (napr. stola) brushu. *obr. 1
Nastavujeme armoury_entity:
- Item:
- weapon_awp - vložili sme si AWP, je tam aj viac na výber (viz. obrázok *obr. 2)
- 1 - počet (v našom pripade) AWP-čiek, ak dáme napr. 5, bude tam naraz 5x AWP
obr. 1

------------------------------------------------------------------
obr. 2

==================================================================================
A máme na mape zbrane.
PRÍKLADOVÁ MAPA
==================================================================================
XD XD XD
-
chickEZ - Spamerův sluha
- Příspěvky: 991
- Registrován: 29 lis 2016, 08:04
Modrá textura ( '{' )
Modrá textura ( '{' )
Čo bude potreba?:
Spravíme si záhradku, ktorú oplotíme. Jednoducho.

Oplotíme to brush-mi s texturou plotu (background je modrý a začiatok mena textúry začína zátvorkou " { " ):


Teraz si označíme všetky brushe, ktoré slúžia ako plot a spravíme z nich jednu entitu func_wall.
Nastavujeme túto entitu:
Additive moc neodporúčam, keďže to nevypadá moc pekne a vyžaruje to dosť svetlá.. ale texture - some light nie je na škodu.
Máme teda výsledok. Najlepšie je si aj onullovať z vrchu, a na miestach, kde končí jeden brush plotu (nemyslím tým celú entitu - viz. obrázok NULL).. takýto výsledok vypadá krajšie. Viac o nullovaní nájdete tu - optimalizacia-mapy-part-1-t206892.html

NULL

==================================================================================
Máme hotovo!
PRÍKLADOVÁ MAPA
==================================================================================
Čo bude potreba?:
- func_wall
- nejaká textura s modrým pozadím (napr. plot)
Spravíme si záhradku, ktorú oplotíme. Jednoducho.

Oplotíme to brush-mi s texturou plotu (background je modrý a začiatok mena textúry začína zátvorkou " { " ):


Teraz si označíme všetky brushe, ktoré slúžia ako plot a spravíme z nich jednu entitu func_wall.
Nastavujeme túto entitu:
- Render Mode:
- Solid - no light - taktiež môžme dať aj Additive alebo Texture - some light.
Additive moc neodporúčam, keďže to nevypadá moc pekne a vyžaruje to dosť svetlá.. ale texture - some light nie je na škodu.
Máme teda výsledok. Najlepšie je si aj onullovať z vrchu, a na miestach, kde končí jeden brush plotu (nemyslím tým celú entitu - viz. obrázok NULL).. takýto výsledok vypadá krajšie. Viac o nullovaní nájdete tu - optimalizacia-mapy-part-1-t206892.html

NULL

==================================================================================
Máme hotovo!

PRÍKLADOVÁ MAPA
==================================================================================
XD XD XD
-
chickEZ - Spamerův sluha
- Příspěvky: 991
- Registrován: 29 lis 2016, 08:04
Příspěvků: 9
• Stránka 1 z 1
Kdo je online
Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků