Animácia mapy
Z Armed Assault nápověda
Obsah |
Úvod
Možno ste už niekedy pri editácii potrebovali priamo v misii zobraziť hráčovi mapu a ukázať mu tak dôležité body pre ďalší postup v misii, alebo ste jednoducho potrebovali upútať jeho pozornosť tak aby nahliadol do mapy, prípade briefingového notesa.
Takéto upozornenie sa dá samozrejme zrealizovať aj priamo v briefingu (napr. zmenou úloh - objStatus), alebo nejakým hint-om so zvukovým oznámením v ľavom hornom rohu obrazovky.
Naše riešenie ktoré si v tomto tutoriále ukážeme je ale elegantnejšie a proste "cool".
Naučíme sa vytvoriť jednoduchú animáciu mapy, ktorú môžete neskôr rozšíriť a doplniť napríklad o hudbu alebo dabing, prípadne celú animáciu včleniť do už pripravenej cutscény.
Príkazov pre zobrazenie a animáciu mapy nieje veľa a sú prehľadne zoradené v tomto off-line helpe v záložke Skupiny príkazov -> Príkazy pre mapu, alebo tu. Preto by nebolo na škodu keby ste si ich pred ďalšími krokmi v tomto tutoriále naštudovali, aby ste vedeli o čom je reč.
Prvé kroky
Pre potreby nášho tutoriálu nám bude stačiť ostrov Rahmadi, pretože ho hra hneď po spustení načíta, nemusíme čakať po spustení editora hry.
Otvorte teda mapu a na ostrove vo štvorci Bb88 na kóte 23 si najskôr vytvoríme vojaka - hráča.
Ja som mu nastavil toto:
- Strana: BLUFOR
- Hodnost: Poručík
- Třída: Lidé
- Jednotka: Záškodník SJ
- Speciální: Nic
- Azimut: nastavte smer približne na neďalekú obec
Teraz si vytvoríme pár značiek na ktorých pozície sa bude zameriavať a presúvať kamera nad mapou.
Prvú značku vytvorte (Značky F6) vo štvorci Bd 88 niekde na križovatke s nasledovným nastavením:
- Název: sipka
- Typ: Ikona
- Barva: Zelená
- Ikona: Šipka
- Vedlejší poloosa: 3
- Úhel: nastavte smer približne na neďalekú obec
Druhou značkou zároveň označíme nad neďalekou obcou nepriateľské územie.
Presunte sa teda nad obec a približne v strede vytvorte značku s týmito nastaveniami:
- Název: obec
- Typ: Elipsa
- Barva: Červená průhledná
- Výplň: Šikmo křížem
- Hlavní poloosa: 75
- Vedlejší poloosa: 75
- Úhel: 0
Tak to by boli naše značky ktoré by sme neskôr použili aj pre interaktívny briefing. Teraz nám ale pomožu vytvoriť animáciu mapy.
Poznámka:
Tieto značky nemusia byť samozrejme vždy viditeľné. Veľmi jednoducho môžete ľubovoľnú značku umiestniť kamkoľvek na mape s nulovými rozmermi (Hlavní poloosa + Vedlejší polosa = 0) a hra o nej bude vedieť, takže akýkoľvek odkaz na túto značku bude funkčný, ale hráč ju na mape nebude vidieť.
mapa.sqs
Všetky potrebné záchytné body pre animáciu máme vytvorené, môžeme teda vytvoriť samotný skript animácie.
Prepnite sa do Windows a spustite si svoj obľúbený textový editor pre tvorbu skriptov. Nakopírujte si nasledovný kód animácie a uložte ho napríklad s nečakaným názvom napríklad "mapa.sqs".
;-- Animacia mapy v hre ArmA: Armed Assault v1.08 ;-- Vytvorene podla tutorialu na http://help.bigames.info ;--- zakazany pristup hraca disableUserInput TRUE ;--- ukrytie prislusenstva na standardnej mape showPad FALSE showWatch FALSE showCompass FALSE showGPS FALSE ;--- zobrazenie mapy forceMap TRUE ;--- prva pozicia - hrac mapAnimAdd [0, 0.01, position player] mapAnimCommit ~2 ;--- druha pozicia - znacka s nazvom sipka mapAnimAdd [4, 0.08, markerPos "sipka"] mapAnimCommit ;--- tretia pozicia - znacka s nazvom obec mapAnimAdd [4, 0.05, markerPos "obec"] mapAnimCommit ;-- kontrola dokoncenia animacie mapy a cakanie na danej pozicii 2 sekundy @mapAnimDone ~2 ;--- zrusenie animacie mapy mapAnimClear ;--- zrusenie zobrazenia mapy forceMap FALSE ;--- obnovenie ukryteho prislusenstva na standardnej mape showPad TRUE showWatch TRUE showCompass TRUE showGPS TRUE ;--- povoleny pristup hraca disableUserInput FALSE ;--- koniec skriptu exit
Poznámky:
Na začiatku skriptu (a samozrejme aj na konci) je uvedený príkaz disableUserInput pomocou ktorého zabránime hráčovi násilne prerušiť animáciu mapy (alebo celú misiu) cez klávesnicu alebo myšítko.
Pri používaní tohto príkazu buďte ale prosím opatrný, pretože ak by ste zabudli na konci skriptu uviesť povolenie ovládania hráčom (atribút "FALSE"), po skončení animácie by nebolo možné žiadnym spôsobom ovládať a ani vypnúť hru -> musel by nasledovať tvrdý reset PC !
Preto ak niekedy použijete tento príkaz, napíšte si do skriptu najskôr obe varianty (TRUE/FALSE) a potom medzi tieto dva príkazy vpisujte ostatné.
Ďalej je v skripte uvedených niekoľko príkazov pre ukrytie a na konci skriptu aj zobrazenie príslušenstva pred zrakom hráča zo štandardnej mapy.
Príkaz forceMap totižto iba nasilu zobrazí štandardnú mapu na celú obrazovku. Keby sme teda neukryli poznámkový blok a ostatné príslušenstvo, pohľad na mapu by nebol zrovna ideálny. Ak ale samozrejme chcete, môžete nechať napríklad zobrazený kompas, alebo hodinky. Všetko závisí od tvorcu misie.
Druhy zobrazeného príslušenstva samozrejme závisia od toho čo nastavíme k dispozícii hráčovi vo vyhradenom súbore Description.ext.
Na ďalších riadkoch skriptu sú potom už iba uvedené jednotlivé príkazy pre plynulú animáciu od bodu k bodu.
Ako je vidieť pri prvom odkaze na miesto pre animáciu mapy, nemusí to byť vždy iba značka. Takto môžete odkazovať aj na ľubovoľnú AI jednotku, alebo hráča ako je tomu v našom prípade. Toto má ale nevýhodu v tom, že ak je daná AI jednotka stále aktívna, môže meniť svoju pozíciu a tak by mohla byť výsledná animácia pre hráča nepresná.
Spustenie animácie
Všetko potrebné máme už vytvorené a dúfam aj dostatočne vysvetlené, zostáva nám len nejako spustiť samotnú animáciu mapy. Toto zrealizujeme pomocou malého spínača do ktorého inicializačného políčka zadáme jednoduchý príkaz na spustenie skriptu - [] exec "mapa.sqs".
Niekde pred hráčom si teda vytvorte jednoduchý spínač s týmito nastaveniami:
- Hlavní poloosa: 5
- Vedlejší poloosa: 50
- Úhel: nastavte v smere pochodu hráča k obci
- Typ: Obdélník
- Aktivace: BLUFOR (ak máte hráča samozrejme za stranu BLUFOR)
- Při aktivaci: [] exec "mapa.sqs"
Takto hráč svojim presunom spustí danú animáciu mapy. Samozrejme takúto animáciu môžete rovnako spustiť aj v inom skripte, alebo cez inicializačné políčko inej jednotky, prípadne waypointu.
Ak ste doteraz postupovali správne, po spustení misie a presune hráča na spúšťací spínač by sa vám mala prehrať animácia mapy od pozície hráča, až po obsadené územie v obci s meniacim sa zoomom (mierkou) mapy počas tejto animácie.

