Přejít na hlavní obsah

Jak vytvořit efekt dne a noci v Unity 2D: průvodce krok za krokem

Unity 2D je výkonným nástrojem pro vytváření her s prostorovou pohyblivou grafikou. Jedním z nejdůležitějších aspektů vytvoření zábavné hry je vytvořit atmosféru, která hráče zaujme a udrží jeho zájem. Jedním ze způsobů, jak toho dosáhnout, je přidat do hry efekt dne a noci. Tento efekt vytváří změnu osvětlení a okolní atmosféry v závislosti na denní době.

V tomto průvodce krok za krokem prozkoumáme, jak vytvořit efekt dne a noci v Unity 2D.k tomu použijeme komponenty a skripty, které již Unity má.

Prvním krokem bude vytvoření časového cyklu, který bude řídit změnu osvětlení a okolní atmosféry. Skript můžeme použít k nastavení počáteční denní doby a poté jej každý snímek aktualizovat.

Dále budeme muset upravit světlé a tmavé osvětlení pro den a noc. K tomu můžeme použít světelné zdroje a různé efekty, jako je bloom a odraz.

Krok 1: Vytvoření pozadí a oblohy

1. Chcete-li začít, vytvořte nový objekt pozadí v Unity.

2. Vyberte obrázek pro pozadí vaší hry a importujte jej do Unity.

3. Přetáhněte vybrané pozadí na dříve vytvořený objekt pozadí.

4. Přizpůsobte velikost a umístění pozadí podle svých potřeb.

5. Poté vytvořte nový objekt oblohy v Unity.

6. Vyberte obrázek oblohy a importujte jej do Unity.

7. Přetáhněte vybraný obrázek oblohy na vytvořený objekt oblohy.

8. Nastavte velikost a umístění oblohy stejně jako pozadí.

Nyní máte pozadí a oblohu pro svou herní scénu, kterou můžete použít k vytvoření efektu změny denní doby.

Krok 2: Ovládání osvětlení

V Unity 2D můžete použít komponenty osvětlení, jako je Directional Light a Point Light, k přidání osvětlení do vaší scény. Directional Light vytváří iluzi paralelního osvětlení jako sluneční světlo, zatímco Point Light vytváří iluzi bodového zdroje světla, jako jsou žárovky.

Chcete-li vytvořit efekt dne a noci, budete muset během hry změnit nastavení osvětlení. Můžete například změnit intenzitu světla a jeho barvu, abyste vytvořili přechodový efekt z jasného denního světla na tmavé noční světlo.

Pro ovládání osvětlení v Unity 2D můžete použít skripty a komponenty. Můžete například vytvořit skript, který změní nastavení osvětlení podle časovače nebo události, jako je změna denní doby.

Kromě změny nastavení osvětlení můžete také použít skřítky a textury k vytvoření efektu přechodu ze dne na noc. Můžete například změnit texturu pozadí nebo použít skřítky k vytvoření efektu soumraku nebo úsvitu.

V dalším kroku se podíváme na to, jak přidat skript pro správu osvětlení a vytvořit efekt dne a noci v Unity 2D.

Krok 3: přepínání mezi dnem a nocí

Nyní, když jsme vytvořili základ pro efekt dne a noci, Naučme se přepínat mezi těmito stavy.

K tomu budeme muset přidat skript do našeho herního objektu, který je zodpovědný za přepínání denní doby. Vytvořte nový skript a přidejte jej do svého objektu.

V tomto skriptu použijeme výčet (enum) k zobrazení denní doby. Vytvořte nový seznam s názvem "TimeOfDay", který obsahuje dvě hodnoty:" Day "A"Night".

Dále vytvořte veřejné pole typu " TimeOfDay "a pojmenujte jej"currentTime". Toto pole zobrazí aktuální denní dobu.

Nyní přidáme metodu pro přepínání denní doby. Vytvořte veřejnou metodu nazvanou" ToggleTimeOfDay", která změní hodnotu proměnné" currentTime " na opačnou hodnotu (pokud je aktuální čas dnem, přepne se na noc a naopak).

K přepnutí denní doby použijeme podmíněné operátory. Pokud je aktuální čas den, budeme ho měnit na noc a naopak.

Přidejte do své metody "ToggleTimeOfDay"následující kód:

if (currentTime == TimeOfDay.Day)

currentTime = TimeOfDay.Night;

else

currentTime = TimeOfDay.Day;

Nyní naše metoda přepne denní dobu pokaždé, když je zavolána.

Nakonec přivážeme naši metodu "ToggleTimeOfDay" na klávesu klávesnice nebo tlačítko myši, abychom mohli během hraní přepínat denní dobu.

V Unity lze metodu snadno připnout ke stisknutí konkrétní klávesy nebo tlačítka myši pomocí speciálního nástroje v editoru.

Otevřete okno " Project Settings "a vyberte kartu"Input". Kliknutím na tlačítko" Create "vytvoříte nový záznam v tabulce"Axes". Zadejte název záznamu a vyberte tlačítko nebo klíč, kterým chcete přiřadit denní dobu.

Poté ve skriptu vašeho objektu vyhledejte metodu " Update "a přidejte kód, který zkontroluje stisknutí tlačítka nebo klávesy, a v odpovědi vyvolejte metodu" ToggleTimeOfDay".

Zde je příklad tohoto kódu:

if (Input.GetKeyDown(KeyCode.Space))

ToggleTimeOfDay();

Nyní, když spustíte hru a stisknete tlačítko nebo klávesu, kterou jste si vybrali, denní doba se bude přepínat mezi dnem a nocí.

Tímto končíme Krok 3. Nyní máte ve své hře funkční efekt dne a noci.