Vychytávky - 3. díl (hádanky)

. Posted in Heroes 7 Zobrazeno: 1063

Vítejte, studenti Heroes!
Pokud máte všechna studia za sebou nebo si jen prostě chcete odpočinout, přinášíme vám speciální vychytávky, díky nimž budou vaše mapy do Heroes VII ještě zajímavější a zábavnější.

A abychom neztráceli drahocenný čas, pustíme se rovnou do třetí vychytávky, kterou je vytvoření klasické hádanky - nastavení tří kruhů do různých pozic tak, aby se aktivoval krystal (kterým pak třeba otevřete tajné dveře). Podívejte se nejprve na video, na kterém je vidět celý proces tvorby, a pak si povíme, jak se co a proč dělá.

Soubory ke stažení:

Mapa

(RAR 135 kB)

Shlédnuto? Tak si pojďme ukázat nejdůležitější body tvorby:

  • Nejprve vložte na mapu standardně dva hrdiny.
  • Přepněte se do Unreal Editoru a otevřete Content Browser.
  • Vyhledejte řetězec: visitable a vyberte A_Visitable_Shell. Přesuňte objekt na mapu a třikrát zkopírujte.
  • Vraťte se do Content Browseru a vyhledejte: wheel. Vyberte SM_Shantiri_Elemental_Wheel a klikněte na mapu pravým tlačítkem myši a dejte Add InterpActor: PROP_Shantiri_old.Meshes.SM_Shantiri_Elemental_Wheel.
  • Pokračujte v hledání, zaškrtněte si Static Meshes a zadejte: shantiri. Vyberte SM_Ensemble11 a vložte objekt na mapu.
  • Nyní dejte dohromady jednoduchý mechanizmus hádanky (podstavec a kolo) pomocí přesunu a rotace objektů (viz video).
  • Oboje pak zvětšete a kolo ještě natočte tak, aby měsíc (tmavá tečka) směřoval nahoru a byl tak jakýmsi záchytným bodem, až hráč ve hře získá nějakou formu nápovědy pro kombinaci hádanky. Následně podstavec s kolem dvakrát zkopírujte a umístěte vždy naproti krystalům.
  • Otevřete si znova Content Browser a přepněte se do Particle Systems a vyhledejte: crystal a vyberte PS_RevelationCrystal. Efekt přetáhněte na mapu a umístěte na čtvrtý krystal. Ve vlastnostech efektu nezapomeňte odškrtnout Auto Activate, aby se efekt nespustil hned při načtení mapy.
  • Využijte toho, že máte vybraný efekt krystalu a spusťte Kismet. Vložte proměnnou efektu New Object Var Using Emitter_0, kterou si zatím dejte stranou, neboť ji využijeme až na konec.
  • Označte si první kolo a vytvořte nový klip New Matinee. Dvojklikem si Matinee otevřete a vytvořte si prázdnou skupinu, kterou pojmenujte Wheel a do ní vložte pohybovou stopu Add New Movement Track.
  • Časovou osu stáhněte na 1s a posuvník přesuňte na konec. Kruhem pootočte o -90° a vložte klíčový snímek (Add Key).
  • Do skupiny Wheel přidejte ještě zvukovou stopu Add New AkEvent Track.
  • Otevřete Content Browser a vyhledejte: AkEvent stone a vyberte building_stone_of_enlightment_visited a přidejte klíčový snímek, čímž vložíte zvuk do skupiny.
  • Vyzkoušejte si přehrát animaci pootočení kola. Uslyšíte zvuk, který krásně sedí a kopíruje animační stopu.
  • Vraťte se do Kismetu a klikněte na Matinee. Dole ve vlastnostech zaškrtněte následující položky: Rewind on Play a No Reset On Rewind. Díky tomu se animace bude neustále opakovat při každém navštívení krystalu, ale zároveň se nebude vracet do počáteční pozice ale bude se otáčet dál kolem své osy.
  • Nyní vyberte první krystal a vložte novou událost navštívení krystalu: New Event > H7Trigger_Hero > Hero Visits Shell. Ve vlastnostech zaškrtněte položku One specific shell a klikněte pravým tlačítkem myši na Hero visits shell a vyberte Expose Variable > mShell - Object.
  • Tím se vám vytvoří nový vstup, na který následně připojte proměnnou prvního krystalu vytvořenou přes New Object Var Using H7VisitingShell_10.
  • Propojte Out s Play u Matinee. A udělejte si místo na další objekt.
  • Přes pravé tlačítko vložte přepínač: New Action > Switch > Switch. Ve vlastnostech změňte hodnotu Link Count na 4 a zaškrtněte Looping.
  • Propojte výstup Out se vstupem přepínače In.
  • Stranou si vytvořte proměnnou, ve které bude defaultně uložená informace o tom, že kolo není ve správně pozici: New Variable > Bool. Hodnotu ponechejte na False a pouze změňte Var Name na Wheel_1.
  • Nyní si vytvořte nový objekt, který bude nastavovat hodnotu této proměnné v momentě, kdy bude kolo ve správné pozici: New Action > Set Variable > Bool. Vyberte si pozici kola od 1 do 4 (90°/180°/270°/360°). Pokud chcete třetí pozici (tedy 270°), pak propojte Link 3 a In. Tím zajistíte, že jakmile bude první kolo v této pozici, změní se proměnná Wheel_1 s informací, že je první kolo správně nastavené.
  • Dále musíte říct, na jakou hodnotu se bude proměnná měnit. Klikněte tedy pravým tlačítkem myši na výstup Value a vyberte Create New Bool Variable a změňte hodnotu b Value na 1, tedy True.
  • Pojmenovanou proměnnou vložíte rovněž přes pravé tlačítko: New Variable > Named Variable a změňte hodnotu Find Var Name na Wheel_1. Pokud jste vše správně nastavili, zobrazí se vám zelená fajfka.
  • Tuto proměnnou napojte na Target.
  • Zkopírujte Bool pomocí Ctrl+C a Ctrl+V a přesuňte nově zkopírovaný objekt dolů. Klikněte pravým tlačítkem na Value a dejte Cut Connections. Tím zrušíte původní propojení.
  • Propojte Link 4 ze Switche do In čímž si zajistíte, že otočí-li hráč kolem znova, nastaví se opět chybná pozice v proměnné a nepůjde tak vyřešit hádanka, dokud se kolo neotočí zpět do správné polohy.
  • Nezapomeňte znova vytvořit proměnnou Bool nastavenou na False (Create New Bool Variable).
  • Tím máte 1/3 práce hotovou a můžete si vyzkoušet, jak vše zatím funguje.
  • Vidíte, že pokaždé, když aktivujete krystal (kterému můžete dát jakékoliv jméno a jakýkoliv vzhled z dostupných Static Meshes nebo jej můžete nahradit Cell Triggerem), pootočí se kolo ve směru hodinových ručiček o 90°. Zatím není vytvořena žádná akce pro vyřešení hádanky, jen se otáčí kolo. Takže je na čase práci dokončit.
  • Pro lepší přehlednost si můžete celou sekvenci "zabalit" do komentáře (New Comment (Wrap)) a pojmenovat ji třeba Wheel 1. neboť vás čeká to samé ještě pro druhé a třetí kolo.
  • Pro usnadnění práce si vyberte všechny prvky, zkopírujte je a poté vložte o kus dál. A ještě jednou pro třetí kolo.
  • Nyní máte tři sekvence, ale je třeba změnit všechny staré odkazy, které jsou vázané na první kolo a první krystal, nemluvě o proměnných. Změňte tedy následující:
  • Wheel_1 přejmenujte na Wheel_2, resp. Wheel_3.
  • Smažte proměnnou prvního krystalu/kola a nahraďte ji novou proměnnou druhého, resp. třetího krystalu/kola. Stejného výsledku dosáhnete i vybráním krystalu/kola a kliknutím na proměnnou a vybráním první volby nahoře (Assign...).
  • U prostředního mechanizmu změňte polohu kola, kdy dojde k aktivaci hádanky. Můžete dát například Link 2, čímž bude třeba pootočit kolem 2x o 180°.
  • Pokud máte vše změněno, vyzkoušejte si znovu, zda vše funguje tak, jak má a kola se otáčí.
  • Teď už zbývá jen vytvoření sekvence hlídající správné polohy kol a aktivaci krystalu.
  • Držte klávesu R a stiskněte levé tlačítko myši. Zobrazí se vám tabulka, do které vepište název například: Activate_Crystal. Po odkliknutí se vám vytvoří Remote Event a aktivátor tohoto eventu.
  • Event si ponechejte dole a aktivátor přesuňte do první sekvence Wheel 1.
  • Propojte Out Boolu se správnou polohou kola s In u aktivátoru, ten zkopírujte a ještě dvakrát vložte, vždy do další sekvence a proveďte stejné propojení (viz video).
  • Takto se pokaždé, když se kolo dostane do správné polohy zavolá vzdálená událost Activate_Crystal, která bude porovnávat, zda nejsou všechna kola ve správné poloze. Pokud ano, aktivuje poslední krystal a tím dojde i ke vyřešení hádanky.
  • Vytvořte tedy podmínku s porovnáváním proměnných: New Condition > Comparsion > Compare Bool. 
  • Napojte výstup Out se vstupem In a vytvořte pojmenovanou proměnnou (New Variable > Named Variable) kterou dvakrát zkopírujte nebo rovnou zkopírujte původní proměnné: Wheel_1, Wheel_2 a Wheel_3.
  • Všechny tři proměnné napojte na Bool. Pro aktivaci krystalu vytvořte spínač: New Action > Toggle > Toggle. Propojte výstup True se vstupem Turn On a najděte proměnnou efektu, kterou jste si na začátku odložili stranou a napojte ji na Target.
  • K efektu přidáme ještě zvuk: New Action > AkAudio > AkPostEvent. Spojte výstup True se vstupem Post, otevřete si Content Browser a vyhledejte: pickup_dragon a vyberte pickup_dragon_blood_crystal. Pomocí zelené šipky navažte vybraný zvuk.
  • Tím je tato sekvence hotová a zbývá poslední, která zde pouze zobrazí zprávu o zdárném vyřešení hádanky, ale vy si ji můžete nahradit čímkoliv jiným, například otevřením dveří či finálním bojem s bossem střežícím poklad.
  • Vytvořte novou událost: New Event > H7Trigger_Hero > Hero visits shell a zaškrtněte One specific shell. Přidejte vstup pro proměnnou mShell - Object a na mapě vyberte čtvrtý krystal.
  • Vytvořte proměnnou krystalu a napojte ji na mShell.
  • Nyní vytvořte porovnání proměnných nebo jednoduše zkopírujte z předchozí sekvence včetně všech tří proměnných Wheel_1, 2 a 3.
  • A vložte text se zprávou: New Action > H7NarrationActions > Show Text.

Tags: Heroes VII Mapa Editor

Komentovat články mohou pouze registrovaní uživatelé. Zaregistrujte se / přihlašte se na stránkách pro odesílání komentářů.