Sdílet prostřednictvím


Kurz Mesh 101 Kapitola 3: Přidání interaktivity pomocí skriptování vizuálů mesh



Teď, když jsme dokončili fázi nastavení, přejděme k tomu, aby vaše objekty GameObjects byly interaktivní! V této kapitole se podíváme na skriptování vizuálů mesh, které můžete použít k přidání vlastní logiky do prostředí.

Poznámka

  • Existují dva typy skriptování mesh: skriptování mesh cloudu, které používá kód jazyka C#, a vizuální skriptování mesh, kde vytvoříte skriptovací graf a pak přidáte uzly (označované také jako jednotky) v posloupnosti pro vytvoření logiky kódování. Tato verze kurzu Mesh 101 používá skriptování vizuálů mesh; Předchozí verze používala skriptování mesh cloudu.

  • Skriptování sítě se nevyžaduje pro každé prostředí, ale budete ho potřebovat pro funkce, které sem přidáme: vytvoření interaktivního tlačítka, aktivaci informačního textového okna a teleportování po scéně.

Stanice 3.1: Create tlačítko pro interakci

Pro náš první úkol chceme vytvořit tlačítko, které přehraje video, když ho stiskne avatar. Avatar pak může stisknutím stejného tlačítka video zastavit.

  • V okně Scéna přejděte na terasu Sphere, která obsahuje stanice pro Kapitolu 3, a upravte zobrazení tak, abyste se dívali na první stanici 3.1 – Přehrávání videa, jak je znázorněno níže.

Snímek obrazovky s oknem přehrávání videa v okně scény Unity zobrazující první stanici v prostředí

Jak vidíte, obrazovka videa už je na místě, ale potřebuje tlačítko Přehrát/Zastavit. Jak je vysvětleno v textovém poli stanice, vytvoříme graf skriptů s určitou logikou tlačítek, aby bylo možné pomocí tlačítka zapnout a vypnout videopřehrávačku a změnit text tlačítka.

Přidání tlačítka do scény

  1. V Unity se ujistěte, že herní objekt s názvem Kapitola3 a jeho podřízený objekt s názvem 3.1 – Video jsou rozbalené.

    Snímek obrazovky s rozbalenými složkami s videi v kapitole 3 a 3.1

  2. V okně Projekt vyhledejte prefab ButtonBase . Ujistěte se, že jste jako filtr Searchzvolili VŠE.

    Snímek obrazovky s výrazem Buttonbase hledaným v okně Projekt v Unity

  3. Přetáhněte ButtonBase z okna Projekt a potom ho v hierarchii přesuňte na Objekt GameObject s názvem 3.1 – Video tak, aby buttonBase byl umístěn jako podřízený do 3.1 – Video.

    Snímek obrazovky Buttonbase přetažen do hierarchie a přidaný do objektu GameObject s názvem 3.1 - Video

    Ujistěte se, že hodnoty pozice transformace> pro ButtonBase jsou 0, 0, 0.

    ButtonBase je ve scéně o něco níže, než chceme. Opravíme to.

  4. Ujistěte se, že je v hierarchii vybraná možnost ButtonBase.

  5. V inspektoru změňte hodnotu Transform Position>>Y na "1".

Skvělé! ButtonBase je teď správně umístěn přímo pod obrazovkou videa.

Snímek obrazovky Unity znázorňující ButtonBase pod objektem BackplateBase

Přejmenování tlačítka

  • Když je vybraná možnost ButtonBase , změňte v inspektoru název ButtonBase na PlayVideoButton.

    Snímek obrazovky Unity zobrazující ButtonBase přejmenovaný na PlayVideButton

Změna popisku tlačítka

V této chvíli je na tlačítku text Popisek. Pojďme to změnit na "Přehrát".

  1. V hierarchii rozbalte PlayVideoButton GameObject tak, aby se zobrazil jeho podřízený objekt Button, rozbalte Tlačítko , aby se zobrazily podřízené objekty, a pak vyberte podřízený objekt Popisek .

    Snímek obrazovky Unity znázorňující hierarcchy se zvýrazněnou možností Popisek pro tlačítko

  2. V inspektoru přejděte na komponentu TextMeshPro -- Text a pak v poli Textové zadání změňte text na Přehrát.

    Snímek obrazovky Unity zobrazující inspektor pro popisek tlačítka se zvýrazněným textem Přehrát

Create vizuálního skriptu pro tlačítko

  1. V hierarchii se ujistěte, že je vybraná možnost PlayVideoButton .

  2. V inspektoru klikněte na Přidat komponentu a pak vyberte Počítač se skripty.

    Všimněte si, že do inspektoru byly přidány dvě nové komponenty: skriptovací počítač a proměnné. V dolní části inspektoru je také nové okno s názvem Diagnostika vizuálního skriptování mesh. Toto okno vám poskytne zpětnou vazbu k vizuálnímu skriptu a může být užitečné při řešení potíží.

    Snímek obrazovky Unity znázorňující dvě přidané komponenty: Skriptovací počítač a Proměnné

  3. Všimněte si, že v komponentě Počítač se skripty je možnost Zdroj nastavená na Graph. Pro zdroj máte dvě možnosti: Graf a Vložení. Klikněte na rozevírací seznam Zdroj a pak vyberte Vložit.

    Tip

    Graph a Embed mají výhody a nevýhody; Další informace o nich najdete v článku Počítač se skripty Unity. Rozhodli jsme se použít funkci Vložit sem, protože mimo jiné můžete přímo odkazovat na uzly scény bez vytváření zprostředkujících proměnných objektů.

  4. V komponentě Skriptovací počítač zadejte do pole Název grafu název: "Chování přehrávače videa".

  5. Do pole Souhrn grafu zadejte popis: Definice chování přehrávače videa.

Nastavení grafu skriptů

  1. V komponentě Skriptovací počítač klikněte na Upravit graf. Otevře se okno Graph skriptů . Přetáhněte ho a umístěte vedle karty Projekt a Konzola , pokud tam ještě není, abychom viděli graf skriptů a okno Scéna najednou.

    Snímek obrazovky Unity zobrazující zvýrazněnou komponentu Skriptovací počítač s otevřeným grafem skriptů

    Když přidáváme uzly, můžete chtít v okně více místa. Můžete kliknout na tlačítko se třemi tečky a pak vybrat Maximalizovat , abyste toho dosáhli, nebo můžete kliknout na tlačítko Celá obrazovka v pravém horním rohu okna.

  2. Nepotřebujeme výchozí uzly OnStart a OnUpdate . odstraňte je.

Zjištění, jestli se na tlačítko kliklo

Tento graf skriptů si můžeme představit jako tři hlavní cíle:

  1. Zjistěte, kdy se klikne na tlačítko Přehrát/Zastavit videopřehrávač.
  2. Když na něj kliknete, přehrajte video.
  3. Až na něj kliknete znovu, zastavte video.

První cíl, zjistit, kdy se na tlačítko klikne, bude vyžadovat tři uzly. GameObject v projektu, který skutečně "naslouchá" a reaguje na kliknutí, je Tlačítko. Pojďme to přidat do grafu skriptů.

Poznámka

Uzel se také nazývá jednotka ve vizuálním skriptování. V tomto kurzu budeme pokračovat v používání termínu uzel.

  1. Přetáhněte tlačítko z hierarchie a potom ho přesuňte do grafu skriptů.

    Snímek obrazovky uniy znázorňující přetahování tlačítka do grafu skriptů

  2. V nabídce Uzel vyberte Tlačítko. Do grafu se přidá uzel Literál herního objektu odkazující na tento objekt.

    Snímek obrazovky Unity znázorňující vybraný graf skriptu a objekt tlačítka zobrazený v okně Graf skriptů


TIP: Možná budete chtít chvíli zde prozkoumat některé komponenty pro Tlačítko GameObject:

Interagovatelné nastavení sítě: Díky tomu se z Buttonu vytvoří objekt, se kterým můžete pracovat. Tato komponenta pomáhá sledovat interakce – všimněte si, že na obrázku pod ní je vybrané nastavení přechodu myší. Další informace o této komponentě najdete v našem článku s názvem Grab, hold and throw with Interactables.

Snímek obrazovky Unity znázorňující okno nastavení Mesh s možností interakce a zahrnutá nastavení

Skriptovací počítač: Obsahuje graf skriptů s názvem Chování základu tlačítka.

Snímek obrazovky Unity znázorňující okno chování základního tlačítka pro skriptovací počítač

Pokud přejdete do režimu přehrávání, uvidíte, že se do tlačítka přidá nová komponenta s názvem Mesh Interactable Body.

Snímek obrazovky Unity znázorňující novou komponentu Mesh Interactable Body přidanou do komponenty Button

Tato komponenta je automaticky přidána za běhu do interagovatelných těl; Zpřístupňuje různé vlastnosti vizuálního skriptování, například IsHovered a IsSelected, což se za chvíli bude hodit.


Do grafu skriptů přidáme uzel, který nám dá vědět, kdy je tlačítko vybrané.

  1. Pokud potřebujete, ukončete režim přehrávání a pak v hierarchii vyberte PlayVideoButton, abyste měli jistotu, že se v okně Script Graph zobrazuje jeho vložený graf.

  2. V grafu skriptů klikněte na port outportu uzlu Herní objekt a podržte ho a pak uvolněte tlačítko myši. Tím se otevře Fuzzy Finder. UPOZORNĚNÍ: Jakmile otevřete Fuzzy Finder, neklikejte nikam mimo rozhraní Unity. Tím se zavře vyhledávání fuzzy a způsobí nepředvídatelné chování v grafu skriptů.

    Snímek obrazovky s popisem přehrávání videa

  3. Search v části Je vybráno a pak v seznamu vyberte Interagovatelný text sítě: IsSelected.

    Snímek obrazovky s popisem přehrávání videa

    Poznámka: Tento uzel vypíše logickou hodnotu; to můžete potvrdit v Kontrole grafů.

  4. Přetáhněte konektor z výstupního portu uzlu Je vybráno a pak vytvořte nový uzel s názvem Microsoft Mesh: On State Changed. (Ve vyhledávání fuzzy vyhledejte při změně stavu.)

    Snímek obrazovky s popisem přehrávání videa

Toto jsou naše tři uzly detekce kliknutí na tlačítko. Uzel Je vybrán začíná hodnotou False, ale po kliknutí na tlačítko se hodnota změní na True a předá se uzlu Při změně stavu . Tento uzel pak aktivuje uzly pro přehrávání/zastavení, které přidáme jako další.

Přehrání nebo zastavení videa

Pokud má při změně stavu hodnotu true, video se přehraje. Pokud se už přehrává a tlačítko je stisknuté, při změně stavu se změní na hodnotu false a video se přestane přehrávat. Naším dalším krokem je přidání uzlu if pro určení tohoto toku.

  1. Přetáhněte konektor z portu Výstup ovládacího prvku uzlu Při změně stavu a pak vytvořte nový uzel if . (Ve vyhledávacím panelu Fuzzy vyhledejte if.)

    Snímek obrazovky s popisem přehrávání videa

  2. Přetáhněte konektor z portu Výstup dat uzlu Při změně stavu na port Vstupu dat uzlu if .

    Snímek obrazovky s popisem přehrávání videa

Create proměnnou k určení, jestli se video přehrává nebo ne.

  1. V tabuli přejděte na kartu Objekt a vytvořte proměnnou s názvem isPlaying. Nastavte typ "Boolean" a nechejte políčko Hodnota zaškrtnuté. To dává logické hodnotě výchozí hodnotu false.

    Snímek obrazovky s popisem přehrávání videa

  2. Přetáhněte konektor z portu True Control Output uzlu If a pak vytvořte nový uzel Nastavit proměnnou objektu . (Ve vyhledávacím panelu Fuzzy vyhledejte objekt set.)

    Snímek obrazovky s popisem přehrávání videa

  3. V uzlu Nastavit proměnnou objektu klikněte na rozevírací seznam název proměnné a pak vyberte isPlaying.

    Snímek obrazovky s popisem přehrávání videa

    Proměnná isPlaying zde musí provádět dvojité zpracování. Abychom měli jistotu, že má isPlaying vždy správnou hodnotu, dáme mu vstup z uzlu Negate .

  4. Přetáhněte konektor z portu vstupu dat uzlu Set Object Variable: isPlaying a pak vytvořte nový uzel Negate . (Ve vyhledávání fuzzy vyhledejte negate.)

    Snímek obrazovky s popisem přehrávání videa

  5. Přetáhněte konektor z portu Vstupu dat uzlu Negate a pak vytvořte nový uzel Získat proměnnou objektu . (Ve vyhledávání fuzzy vyhledejte proměnnou get object.)

  6. V uzlu Získat proměnnou objektu klikněte na rozevírací seznam s názvem proměnné a pak vyberte isPlaying.

    Snímek obrazovky s popisem přehrávání videa

Uzel Negate změní hodnotu IsPlaying na opak toho, na co je aktuálně nastavená. Když se scéna spustí, isPlaying má hodnotu false (výchozí nastavení). Když kliknete na tlačítko Přehrát/Zastavit, uzel Negate způsobí nastavení isPlaying v uzlu Nastavit proměnnou objektu na hodnotu true a tím se video přehraje. Když na tlačítko kliknete znovu, uzel Negate způsobí, že se funkce isPlaying resetuje na false a video se zastaví.

Zapnutí nebo vypnutí videa

Teď přidáme uzly, které zjišťují, jestli jepřehrávání změn; video se na základě této změny přehraje nebo zastaví.

  1. V dolní části grafu přidejte uzel Získat proměnnou objektu a nastavte jeho hodnotu na isPlaying. (Můžete kliknout pravým tlačítkem na graf a pak vybrat Přidat uzel.)

    Snímek obrazovky s popisem přehrávání videa

  2. Přetáhněte konektor z výstupního datového portu uzlu Get Object Variable: isPlaying a pak vytvořte nový uzel On State Changed . (Ve vyhledávání fuzzy vyhledejte při změně stavu.)

    Snímek obrazovky s popisem přehrávání videa

  3. Přetáhněte konektor z výstupního portu ovládacího prvku uzlu Při změně stavu a vytvořte nový uzel If . (Ve vyhledávacím panelu Fuzzy vyhledejte if.)

  4. Přetáhněte konektor z výstupního datového portu uzlu On State Changed (Při změně stavu) a pak ho připojte k portu Vstupu dat uzlu if .

    Snímek obrazovky s popisem přehrávání videa

Přehrávání videa

  1. V hierarchii rozbalte VideoPlayer GameObject a všimněte si, že má dva podřízené objekty: Video a VideoStill.

  2. Vyberte Video a pak v inspektoru mějte na paměti následující:

    • Video má komponentu s názvem Video Player s připojeným videem s názvem WindTurbine.

    Snímek obrazovky s popisem přehrávání videa

    • Video je neaktivní (zaškrtávací políčko vedle jeho názvu je prázdné).
  3. V hierarchii vyberte VideoStill GameObject a pak v inspektoru mějte na paměti následující:

    • VideoStill má připojený imagi.

    • VideoStill je aktivní (zaškrtnuté políčko vedle jeho názvu).

    Snímek obrazovky s popisem přehrávání videa

Při spuštění scény se na obrazovce videa zobrazí fotografie (kvůli aktivní funkci VideoStill ) a video se nepřehrává (kvůli tomu, že video je neaktivní). Když účastník stiskne tlačítko Přehrát/Zastavit, zatímco se zobrazuje Přehrát, aktivuje se video , což způsobí, že se video přehraje, a současně videoStill přestane být neaktivní, čímž se snímek skryje. Popisek tlačítka se také změní z Přehrát na Zastavit Když účastník tlačítko znovu stiskne, Video se změní na neaktivní, zastaví se video a VideoStill se znovu aktivuje, takže se na obrazovce videa znovu zobrazí fotografie.

K tomu všemu dochází na zbývajících uzlech v našem grafu.

  1. Přetáhněte konektor z portu True Control Output uzlu if a vytvořte nový herní objekt: Nastavit aktivní uzel. (Ve vyhledávání fuzzy vyhledejte nastavit aktivní.)

  2. V uzlu Game Object: Set Active (Objekt hry: Nastavit aktivní ) klikněte na tlačítko kruhu v poli GameObject a pak v okně Select GameObject vyhledejte a vyberte Video.

  3. Zaškrtněte políčko Hodnota uzlu, které uzel aktivuje.

    Snímek obrazovky s popisem přehrávání videa

  4. Přetáhněte konektor z portu Výstup ovládacího prvku Herní objekt: Nastavit aktivní uzel a pak vytvořte další nový herní objekt: Nastavit aktivní uzel.

  5. V novém uzlu Herní objekt: Nastavit aktivní klikněte na tlačítko zaokrouhlení v poli GameObject (které aktuálně zobrazuje Toto) a pak v okně Vybrat GameObject vyhledejte a vyberte VideoStill.

  6. Políčko Hodnota nechejte zaškrtnuté. Uzel tak bude neaktivní.

    Když teď na tlačítko kliknete, video se přehraje a obrázek bude skrytý. V této posloupnosti potřebujeme ještě jednu věc. Vzhledem k tomu, že tlačítko Přehrát/Zastavit je přepínač, musíme zajistit, aby se po kliknutí účastníka na Přehrát změnil popisek tlačítka na Zastavit . Po dalším kliknutí se popisek změní zpět na Přehrát. Abychom toho dosáhli, přidáme uzel TextMeshPro .

  7. Přetáhněte konektor z portu Výstup ovládacího prvku posledního uzlu Game Object: Set Active a vytvořte nový uzel Text Mesh Pro: Set Text . (Ve vyhledávání fuzzy vyhledejte nastavený text.)

    Snímek obrazovky s popisem přehrávání videa

    Musíme nastavit cílový gameobject tohoto uzlu na Label. V projektu je však spousta objektů GameObject "Label" a všechny vypadají stejně v místním seznamu uzlu, takže přidáme tento objekt pomocí metody drag and drop.

  8. Přetáhněte objekt Label GameObject, který je podřízený objektu Button , z hierarchie a potom ho přesuňte do prvního pole v uzlu Nastavit test .

    Snímek obrazovky s popisem přehrávání videa

  9. Do textového pole pro uzel zadejte "Stop".

    Snímek obrazovky s popisem přehrávání videa

Zastavení videa

Jen tři další uzly pro tento graf! Pro tlačítko musíme nastavit podmínku false, takže pokud se při přehrávání videa klikne na tlačítko, proměnná isPlaying se změní na false a způsobí, že se video zastaví a popisek tlačítka se znovu změní na Přehrát .

Tady můžeme použít zkratku.

  1. Se stisknutou klávesou Ctrl klikněte na poslední tři uzly, které jste přidali. Tím je vyberete.

  2. Klikněte pravým tlačítkem na graf skriptů a pak v místní nabídce vyberte Duplikovat výběr.

  3. Přetáhněte duplicitní uzly do prázdného místa v grafu těsně pod uzly, které jste duplikovali.

    Snímek obrazovky s popisem přehrávání videa

  4. Přetáhněte konektor z výstupního portu false ovládacího prvku posledního uzlu if a připojte ho ke vstupnímu portu ovládacího prvku prvního herního objektu: Nastavit aktivní uzel v duplicitní sadě uzlů.

  5. Ve stejném prvním herním objektu: Nastavit aktivní uzel (ten, který obsahuje Video) zrušte výběr hodnoty.

  6. Ve druhém herním objektu: Nastavit aktivní uzel v duplicitní sadě (ten, který obsahuje VideoStill) vyberte Hodnota.

  7. V uzlu Nastavit text změňte text z Zastavit na Přehrát.

    Snímek obrazovky s popisem přehrávání videa

Sdílení interakcí s přehrávačem videa s ostatními v prostředí

Někdy může dojít k tomu, že chcete, aby události skriptu prožíval jenom účastník, který události spouští, a jindy, kdy chcete, aby události prožívali všichni ve scéně. Můžete to řídit pomocí komponenty Místní rozsah skriptů .

  1. V hierarchii se ujistěte, že je vybraná možnost PlayVideoButton .

  2. V inspektoru klikněte na tlačítko Přidat komponentu a pak přidejte obor místního skriptu.

    Snímek obrazovky s popisem přehrávání videa

Pro účely tohoto kurzu chceme, aby všichni účastníci v prostředí viděli všechny interakce s přehrávačem videa a viděli přehrávání a pozastavení samotného videa. Abyste to zajistili, ujistěte se, že je vybraná možnost Sdílet proměnné vizuálního skriptu u tohoto herního objektu . V informačním poli pod touto možností se dozvíte, co se sdílí a co zůstává místní.

Snímek obrazovky s popisem přehrávání videa

Testování práce

  1. V Unity uložte projekt a stiskněte tlačítko Unity Editor Přehrát.

  2. V okně Hra klikněte na tlačítko Přehrát pod přehrávačem videa. To způsobí, že se popisek na tlačítku změní na Zastavit a krátké video o větrných turbínách se přehraje na obrazovce nad tlačítkem.

    Snímek obrazovky s popisem přehrávání videa

  3. Až přehrávání videa dokončíte, stiskněte tlačítko, které jste znovu upravovali (teď má popisek Zastavit).

  4. Stisknutím tlačítka Unity Editor Přehrát ukončete režim přehrávání.

Stanice 3.2: Dialogové okno aktivace informací

U této funkce vylepšíme existující vizuální skript, který způsobí, že se zobrazí dialogové okno s informacemi, když avatar stiskne tlačítko.

  1. V hierarchii sbalte 3.1 – Video GameObject.

  2. V okně Scéna si všimněte, že aktivační stanice informačního dialogového okna je napravo od stanice 3.1 – Přehrávání videa . Upravte zobrazení tak, abyste jasně viděli Stanici 3.2.

    Snímek obrazovky s popisem počítače

  3. V inspektoru rozbalte GameObject s názvem 3.2 -- Info Dialog.

  4. V hierarchii vyberte InfoButtonWrapper.

    Snímek obrazovky verze 3.2 – Info_Dialog Hierarchy GameObject s vybranou Information_Button

    V inspektoru si všimněte, že InfoButtonWrapper má připojenou komponentu Local Script Scope a že není vybraná možnost Sdílet proměnné vizuálního skriptu u tohoto herního objektu .

    Snímek obrazovky verze 3.2 – Info_Dialog Hierarchy GameObject s vybranou Information_Button

    Důvodem je to, že když účastník klikne na tlačítko, které zobrazí dialogové okno s informacemi, tlačítko se mu skryje. Pokud je tato možnost vybraná, tlačítko se stane skrytým pro všechny uživatele ve scéně, což nechceme.

  5. V inspektoru přejděte na komponentu Skriptovací počítač , která obsahuje graf Zobrazit dialogové okno , a klikněte na tlačítko Upravit graf .

    Snímek obrazovky inspektoru Information_Button

  6. V grafu přetáhněte konektor z portu True Control Output uzlu If a pak vytvořte nový uzel Microsoft Mesh: Zobrazit dialogové okno . (V fuzzy finderu vyhledejte dialogové okno zobrazit.)

    Snímek obrazovky znázorňující připojení uzlu if k novému uzlu Zobrazit dialogové okno

  7. V uzlu Zobrazit dialogové okno klikněte na pole Zpráva a nahraďte slovo Zpráva touto větou:

    Věděli jste, že největší větrná turbína na světě má kotouče delší než fotbalové hřiště?

    Toto je zpráva, která se zobrazí v dialogovém okně s informacemi.

    Snímek obrazovky zobrazující uzel Zobrazit dialogové okno s přidanou zprávou

  8. Vyberte rozevírací seznam, ve které se aktuálně zobrazuje OK, a pak v automaticky otevírané nabídce zrušte výběr OK a vyberte Pokračovat. Tím se do dialogového okna s informacemi přidá tlačítko Pokračovat , na které může uživatel po dokončení čtení zprávy dialogové okno zavřít.

    Snímek obrazovky zobrazující uzel Zobrazit dialogové okno s přidanou zprávou

Testování práce

  1. V Editor Unity uložte projekt a stiskněte tlačítko Unity Editor Play.

  2. Pomocí navigačních kláves můžete avatara vrátit zpět od tlačítka. Všimněte si, že když je avatar vzdálen do určité vzdálenosti, tlačítko se otočí a není možné ho vybrat.

  3. Jděte směrem k tlačítku. V určitém okamžiku se tlačítko přestane otáčet a signalizovat, že ho teď můžete vybrat.

  4. Vyberte tlačítko. Zobrazí se dialogové okno s informacemi, ve které se zobrazí zpráva, kterou jste dříve přidali do uzlu Zobrazit dialogové okno .

    Poznámka

    Vzhled dialogového okna s informacemi v režimu přehrávání se liší od toho, jak se bude zobrazovat ve sítě, kde se bude zobrazovat podobně jako ostatní panely na terase Sphere.

  5. Až dialogové okno s informacemi dokončíte, klikněte na tlačítko Pokračovat . Všimněte si, že po kliknutí na tlačítko zmizí. Pokud chcete tlačítko znovu použít, musíte ho ukončit a pak znovu přejít do režimu přehrávání.

    Tip

    Vzdálenost a aktivační prvky, které se zde používají, jsou určeny komponentami ProximityDetector GameObject.

    Snímek obrazovky zobrazující objekt ProximityDetector GameObject v hierarchii.

  6. Stisknutím tlačítka Unity Editor Přehrát ukončete režim přehrávání.

Stanice 3.3: Teleportovat do generátoru turbíny

Pro tuto funkci přidáme do grafu skriptů některé uzly, které účastníkům ve scéně umožní teleportovat. Když účastník stiskne tlačítko, teleportuje se ze svého aktuálního umístění na stanici 3.3 na vyvýšenou plošinu, která je připojená k generátoru větrných turbín. Pak mohou prozkoumat generátor.

Obrázek obsahující venkovní, text, snímek obrazovky, větrný mlýn Popis automaticky vygenerovaný

Aktualizace grafu skriptů

  1. V okně Scéna si všimněte, že 3.3 -Teleport do turbínové stanice je vpravo od aktivační stanice 3.2 -- Info Dialog. Upravte zobrazení tak, abyste jasně viděli Stanici 3.3.

  2. V hierarchii sbalte 3.2 – Info Dialog GameObject a pak rozbalte 3.3 - Teleport GameObject .

    Snímek obrazovky

    Tlačítko je všechno nastavené pro vás--- stačí přidat uzly do grafu skriptů, které mu poskytnou chování teleportu.

  3. V hierarchii rozbalte ChapterLabel GameObject a pak vyberte TeleportToWindTurbineButton GameObject.

    Snímek obrazovky

    Všimněte si, že v inspektoru je komponenta Skriptovací počítač s grafem skriptů s názvem Teleport to Open Air Platform. Možnost Zdroj je nastavená na Vložení, což znamená, že graf skriptu je vložený do scény.

    Snímek obrazovky

  4. Klikněte na tlačítko Upravit graf . Stejně jako v předchozí kapitole už má náš graf některé uzly nastavené.

    Snímek obrazovky

Uzly přidáme do tohoto grafu skriptů za chvíli.

Create cestovního bodu a přidejte na něj odkaz.

Tak co je "Cestovní bod", možná se ptáte ... ? V podstatě jde o komponentu, kterou můžete použít k definování bodu v prostoru, ke kterému se má vytvořit nebo se teleportovat. Za normálních okolností byste nejdřív vytvořili skupinu cest a pak do ní přidali jeden nebo více cestovních bodů. Už jsme pro vás v tomto projektu vytvořili cestovní skupinu, takže v následujících krocích přidáme do této skupiny cestovní bod. Tento bod cesty pak použijeme jako umístění, na které avatar přejde, když klikne na tlačítko Teleportovat . Další informace najdete v našem článku s názvem Create body pro vytvoření avatara a teleportování.

  1. V hierarchii vytvořte nový prázdný Objekt GameObject jako podřízený objekt TravelGroup a pak ho přejmenujte na TeleportLocationWindTurbine.

    Snímek obrazovky

  2. V inspektoru klikněte na tlačítko Přidat komponentu a potom vyhledejte a přidejte komponentu Cestovní bod .

    Snímek obrazovky

  3. V inspektoru v komponentě Transform zadejte následující hodnoty:

    Pozice:

    X = 6
    Y = 58
    Z = 61

    Otočení:

    X = 0
    Y = 270
    Z = 0

    Snímek obrazovky

    Avatar se bude teleportovat do tohoto umístění.

  4. V inspektoru nastavte Objekt GameObject TeleportLocationWindTurbine jako neaktivní tak, že zrušíte zaškrtnutí políčka vedle jeho názvu. Pokud máte za běhu aktivních více než jeden objekt TravelPoint, Unity náhodně vybere jeden z aktivních cestovních bodů jako bod vytváření avatara. Chceme zajistit, aby se avatar vytvořil v místě označeném objektem TeleportLocationChapter3 GameObject, takže by to měl být jediný aktivní cestovní bod. V důsledku toho, že je teleportLocationWindTurbine neaktivní, se v hierarchii zobrazí šedě.

    Snímek obrazovky

Přidání teleportových uzlů

  1. V grafu skriptu Teleport to Open Air Platform přetáhněte konektor z portu ovládacího prvku Výstup true uzlu If a pak vytvořte nový uzel s názvem Objekt hry: Nastavit aktivní. (Ve vyhledávání přibližných sousí vyhledejte nastavit aktivní.)

    Snímek obrazovky

  2. Přetáhněte objekt TeleportLocationWindTurbine z hierarchie a pak ho přesuňte do pole, které zobrazuje Toto v uzlu Herní objekt: Nastavit aktivní .

    Snímek obrazovky

  3. Výběrem možnosti Hodnota uzlu ho aktivujte.

Přidání uzlu Cestovní bod

  1. Přetáhněte spojnici z portu Výstup ovládacího prvku Herní objekt: Nastavit aktivní uzel a pak vytvořte nový uzel s názvem Cestovní bod: Cesta k bodu. (Ve Vyhledávání přibližných shod vyhledejte bod cesty: cestování.)

  2. V uzlu Cestovní bod: Cesta do bodu klikněte na tlačítko kruhu v poli, které zobrazuje Toto, a pak v okně Vybrat cestovní bod vyberte TeleportLocationWindTurbine.

    Snímek obrazovky

Tím se graf dokončí.

Snímek obrazovky

Testování práce

  1. V Editor Unity uložte projekt a stiskněte tlačítko Unity Editor Play.

  2. Přejděte na Station 3.3 a kliknutím na tlačítko Teleport se teleportujte do generátoru větrné turbíny.

    Snímek obrazovky

    Snímek obrazovky s automaticky vygenerovaným počítačem Popis

  3. V poli 3.3 – Informace o generátoru vyberte tlačítko Zobrazit/skrýt generátor . Na straně větrné turbíny se otevře okno a vidíte generátor uvnitř.

    Snímek obrazovky počítače s popisem zařízení

Nebojte se přiblížit generátoru a podívat se. Je to v pohodě! Až budete hotovi, vraťte se zpět a stiskněte tlačítko Zobrazit/skrýt generátor . Tím okno zavřete.

Přejít na kapitolu 4

V tomto okamžiku by účastník prostředí byl připraven přejít na Kapitolu 4 a seznámit se s aktivitami větrné turbíny souvisejícími s fyzikou. Stejně jako u Kapitoly 3 je zde terasa Sphere, která obsahuje stanice pro Kapitolu 4. Dostanete se tam:

  1. Otočte se opačným směrem od generátoru větrné turbíny a přejděte směrem k 3.3 – Přejděte do informačního pole Kapitola 4.

    Snímek obrazovky s popisem počítače

  2. Stiskněte tlačítko Teleportovat do kapitoly 4 .

    Snímek obrazovky s popisem počítače

    Jak je uvedeno, umístí avatar před stanice pro Kapitolu 4 a Fyziku sítě.

    Obrázek obsahující text, snímek obrazovky, multimediální software, grafický software Popis automaticky vygenerovaný

Kapitola 3: Souhrn

V této kapitole jste pomocí vizuálního skriptování mesh přidali funkce, které účastníkům ve vašem prostředí umožní provádět následující akce:

  1. Stiskněte tlačítko, které způsobí, že se přehraje vzdělávací video o větrných turbínách.

  2. Stiskněte tlačítko, které aktivuje zobrazení dialogového okna s informacemi o větrných turbínách.

  3. Stiskněte tlačítko, které teleportuje účastníka od základů na platformu připojenou k generátoru větrné turbíny, kde si mohou generátor zblízka prohlédnout.

Další kroky