Unity 2D - je to výkonný nástroj pro tvorbu her, který umožňuje programátorům implementovat různé mechaniky a funkce. Jednou z důležitých mechanik, kterou je třeba znát při vytváření hry, je chůze postavy. V této příručce vám řekneme, jak vytvořit chůzi v Unity 2D, aby se vaše postava mohla pohybovat po herním světě.
Chůze v Unity 2D vyžaduje implementaci několika důležitých komponent. V první řadě je nutné přizpůsobit animace postavy tak, aby byly plynulé a realistické. Poté je třeba nastavit ovládání postavy, aby hráč mohl ovládat jeho pohyb. Nakonec je nutné upravit kolize, aby postava mohla interagovat s jinými objekty ve hře.
Pro začátek vytvořte animaci chůze pro svou postavu. K vytvoření více snímků animace chůze můžete použít animační nástroj Unity. Ujistěte se, že každý snímek zobrazuje postavu s různými pozicemi, aby animace vypadala hladce a přirozeně.
Kroky k vytvoření chůze v Unity 2D: průvodce
- Vytvořte skřítky pro chůzi: Začněte vytvořením skřítků pro animaci chůze vaší postavy. Rozdělte animaci do několika snímků, které zobrazují různé polohy nohou a rukou postavy.
- Vytvořte ovladač animátoru: Chcete-li ovládat animace vaší postavy, vytvořte animátor ovladač v Unity. Přidejte animace chůze do animátoru ovladač a přizpůsobte přechody mezi nimi.
- Vytvořte skript pro ovládání chůze: Napište skript do Unity, který bude zodpovědný za řízení chůze vaší postavy. V tomto skriptu byste měli zajistit pohyb postavy tam a zpět a také ovládání animace v závislosti na směru pohybu.
- Připojte skript k postavě: Po napsání skriptu jej připojte k Vaší postavě v Unity. To vám umožní ovládat chůzi postavy prostřednictvím skriptu.
- Nastavte ovládání: Upravte ovládání chůze své postavy pomocí klávesnice nebo pomocí joysticku. Ve skriptu zadejte příslušná tlačítka nebo klávesy, které budou zodpovědné za chůzi.
Podle těchto kroků můžete vytvořit chůzi pro svou postavu v Unity 2D. Pamatujte, že tyto kroky jsou pouze základem a můžete je přizpůsobit a doplnit tak, aby vyhovovaly potřebám vaší hry.
Vytvoření animace postavy
Prvním krokem je vytvoření animovaného objektu, který bude obsahovat všechny potřebné skřítky a nastavení animace. V Unity 2D se to provádí pomocí komponenty Animator. Chcete-li vytvořit animovaný objekt, vyberte postavu v hierarchii objektů a klikněte pravým tlačítkem myši. V kontextové nabídce vyberte " create Empty "a pojmenujte objekt"CharacterAnimation".
Dále je třeba do animačního objektu přidat komponentu Animator. Vyberte objekt "CharacterAnimation" a přejděte do okna Inspector. Ve spodní části okna Inspector najdete tlačítko "Add Component". Klikněte na něj, vyhledejte komponentu Animator v seznamu komponent a přidejte ji k objektu.
Nyní je nutné vytvořit animační stavy pro postavu. Animovaný stav je samostatná animace, která se bude přehrávat v různých situacích. Například jeden stav lze použít k chůzi vpřed, druhý k chůzi dozadu atd.
Chcete-li vytvořit animovaný stav, přejděte do okna Animator. Otevřete jej kliknutím na komponentu Animator v okně Inspector. V okně Animator najdete vlevo oblast "States". Klikněte pravým tlačítkem v této oblasti a vyberte "Create State" -> "Empty".
Po vytvoření stavu jej vyberte a přejděte na okno Inspector. V tomto okně najdete seznam možností animace. Přidejte možnost "IsWalking" typu "Boolean" a možnost "Speed"typu " Float". "IsWalking "umožní přepínat animace chůze a" Speed " bude ovládat rychlost animace.
Nakonec je nutné vytvořit animaci pro stav. Vytvořte složku v projektu Unity 2D, která bude obsahovat skřítky pro animace. Poté přetáhněte skřítky ze složky do okna Animator. Unity automaticky vytvoří animaci a přidá ji ke stavu. Nastavte dobu trvání animace a nastavení rychlosti v okně Animator.
Nyní můžete přepínat animace postavy změnou hodnoty možnosti "IsWalking" ve skriptu pro správu postavy. Pokud se hodnota parametru " IsWalking "rovná" true", postava ztratí animaci chůze. Pokud se hodnota parametru " IsWalking "rovná" false", postava se zastaví.
To jsou základy vytváření animace postavy v Unity 2D. Můžete pokračovat ve vývoji animace přidáním různých stavů a změnou parametrů animace podle vašich potřeb.
Nastavení ovládání postavy
1. Použití kláves klávesnice:
Jednou z nejjednodušších a nejběžnějších metod ovládání postavy je použití klávesnice. Budete muset přiřadit klávesy pro pohyb vpřed, vzad, doleva a doprava. Případně můžete přidat další klávesy pro provádění různých akcí, jako je skok nebo útok.
2. Použití myši:
Pokud vaše hra vyžaduje přesné ovládání nebo interakci s objekty na obrazovce, můžete k ovládání postavy použít myš. Můžete například použít levé tlačítko myši k přesunu postavy na daný bod nebo k interakci s předměty.
3. Použití dotykového vstupu:
Pro mobilní hry nebo hry vyvinuté pro zařízení s dotykovými obrazovkami můžete k ovládání postavy použít dotykový vstup. K pohybu postavy nebo provádění jiných akcí můžete například použít přejezdy nebo dotyky.
Neexistuje jediný správný způsob, jak upravit správu postavy v Unity 2D. výběr metody závisí na požadavcích a preferencích vaší hry. Je důležité otestovat a shromáždit zpětnou vazbu od hráčů, abyste zjistili, která metoda je pro vaši hru nejpohodlnější a nejúčinnější.
Implementace skriptu pohybu postavy
Chcete-li implementovat pohyb postavy v Unity 2D, musíte napsat skript, který bude ovládat pohyb objektu hráče. V této části se podíváme na hlavní kroky pro vytvoření takového skriptu.
Nejprve musíme vytvořit nový skript v Unity, přidat jej do objektu hráče a otevřít jej pro úpravy. Chcete-li to provést, musíte kliknout pravým tlačítkem na objekt hráče v hierarchii, vybrat položku "create Empty" a poté v okně "Inspector" kliknout na tlačítko "Add Component" a vybrat dříve vytvořený skript.
Poté se otevře skript v editoru kódu Unity. Uvnitř skriptu budeme používat funkce FixedUpdate a Input.GetAxis pro zvládnutí pohybu postavy.
Nejprve oznámíme proměnné, které budou ukládat rychlost pohybu a součást Rigidbody2D objektu hráče:
public class PlayerMovement : MonoBehaviour
public float speed = 5f;
private Rigidbody2D rb;
Poté ve funkci Start získáme přístup ke komponentě Rigidbody2D objektu hráče:
Nyní jsme připraveni přistoupit k realizaci provozu. Ve funkci FixedUpdate zavoláme funkci MoveCharacter, která zpracuje vstup hráče a přesune postavu podle něj:
Funkce MoveCharacter bude používat funkci Input.GetAxis pro získání hodnoty osy horizontálního vstupu hráče a přesouvání postavy podle této hodnoty:
float moveHorizontal = Input.GetAxis("Horizontal");
rb.velocity = new Vector2(moveHorizontal * speed, rb.velocity.y);
Nyní, když je skript připraven, můžeme jej uložit a vrátit se do Unity k testování.
V této části jsme se zabývali základními kroky k vytvoření skriptu pohybu postavy v Unity 2D. Nyní můžete experimentovat s různými nastaveními skriptu a přidat další funkce, jako jsou skoky nebo animace, aby to bylo pro hráče ještě zajímavější.