Lekce 11 - 3D střílečka v Unity - Příprava animací přebíjení zbraně
V minulé lekci, 3D střílečka v Unity - Vložení modelu nepřítele do scény, jsme si naimportovali model nepřítele a vložili ho do scény.
V dnešní lekci si vytvoříme přechody k animaci s nabíjením zbraně.
Nejdříve si vytvoříme přechod mezi animacemi a poté přidáme jednotlivé
podmínky k přechodům, aby náš program věděl, kdy má jaké animace
spouštět. Nebojte, tvorba přechodů nebude tak rozsáhlá, jako naposledy,
kdy jsme pracovali v Animatoru
V příloze máte umístěný soubor s jednotlivými balíčky používanými v tomto kurzu.
Animator
Klikneme na šipku vedle objektu
Assault_Riffle_01_FPSController
, tím jsme si rozrolovali
podobjekty. Nyní klikneme na šipku vedle podobjektu s názvem
Gun Camera
a dále levým tlačítkem na podobjekt
arms_assault_rifle_01
. V okénku Inspector se nám
zobrazí komponenta Animator
.
Tato komponenta má mnoho vlastností, my dvakrát klikneme na nápis
assault_rifle_01
v obdélníku, vedle kterého je napsáno
Controller:

Tímto úkonem se nám otevře Animator.
Proč budeme tvořit nové parametry
Pokud v levé části nevidíte parametry, klikněte na záložku Parameters, kde se nacházejí všechny parametry pro daný objekt, který ovládáme. Vidíme parametry Inspect, Holster, Run, Aim, Walk a Shoot. Abychom mohli určovat, kdy se bude spouštět animace nabíjení, potřebujeme vytvořit dva nové parametry. Možná byste si mysleli, že nám bude stačit jeden, ale nebude. Tvůrce našeho balíčku nám totiž vytvořil dvě animace:
Reload Out Of Ammo
- Ta se nám bude spouštět tehdy, když nemáme už žádné náboje.Reload Ammo Left
- Tato animace se nám bude spouštět, když nám ještě budou zbývat náboje, ale budeme si chtít přebít.
To je důvod, proč potřebujeme dva parametry.
Naše parametry budou typu Trigger
z důvodu, že naši animaci
vždy chceme spustit pouze jednou, a to když stiskneme klávesu
R.
Přechod z Aim Fire
do animace nabíjení
Budeme tvořit i přechod mezi animací Aim Fire
a našimi
přebíjecími animacemi, protože po každém výstřelu, kdy míříme, nám
zůstane přehrávána animace Aim Fire
v nekončícím klipu. Sami
se můžete podívat, když budete mít otevřené okno
Animator, spuštěnou hru a zkusíte vystřelit, když
míříte. Po výstřelu bude vždy aktivní animace Aim Fire
a to
máme, protože jinak by se nám pak spustila animace výstřelu jednou, když
držíme levé tlačítko myši a ne pokaždé, když skončí animace
výstřelu a my stále držíme tlačítko.
Tvorba parametrů
Klikneme na tlačítko se znakem plus, které se nachází v okénku se
stávajícími parametry. Zvolíme možnost Trigger. Trigger
pojmenujeme Reload
. Tento bude pro všechna naše spojení s
animací Reload Ammo Left
. Obdobným způsobem přidáme nový
Trigger, který tentokrát pojmenujeme
ReloadNoAmmo
:

Tvorba přechodů
Pustíme se do tvorby přechodů.
Idle
-> Reload Out Of Ammo
Klikneme pravým tlačítkem na animaci s názvem Idle
a
vybereme možnost Make transition. Poté přesuneme myš na
pozici animace Reload Out Of Ammo
a klikneme levým tlačítkem na
animaci Reload Out Of Ammo
. Takto jsme vytvořili přechod.
Nyní klikneme na nově vytvořený přechod. V záložce
Inspector se nám objeví prázdný seznam s názvem
Conditions. Pod ním se nachází tlačítko se symbolem plus.
Klikneme na něj. V listu Conditions se nám zobrazí
obdélník s nápisem Inspect nebo jiným parametrem. My zde
zvolíme hodnotu ReloadNoAmmo
:

Na obrázku jsou modře označené následující položky: Přechod
Idle
-> Reload Out Of Ammo
, parametr
přidávaný tomuto přechodu: ReloadNoAmmo
. Poté vypneme možnost
Has Exit Time. Díky tomu se bude moci animace stání kdykoliv
přerušit.
Tímto máme náš přechod pro přebíjení když stojíme hotový. Stejně
uděláme i ostatní přechody, jen budeme měnit parametr buď za
Reload
nebo ponecháme hodnotu ReloadNoAmmo
.
Idle
-> Reload Ammo Left
Klikneme pravým na animaci Idle
a zvolíme Make
transition. Klikneme na animaci Reload Ammo Left
.
Následně klikneme na nově vzniklé spojení a přidejme mu parametr
Reload
. Deaktivujeme možnost Has Exit Time:

Walk
-> Reload Out Of Ammo
Walk
přidáme také transition na animaci
Reload Out Of Ammo
a nastavíme přechodu parametr
ReloadNoAmmo
. Vypneme Has Exit Time.
Walk
-> Reload Ammo Left
Walk
přidáme další přechod na Ammo Left
,
nastavíme parametr Reload
a vypneme Has Exit
Time.
Aim In
-> Reload Out Of Ammo
Nový přechod z Aim In
povede do
Reload Out Of Ammo
, parametr bude ReloadNoAmmo
,
nezapomeneme vypnout Has Exit Time:

Nyní už se nám může stát, že se špatně hledají jednotlivá spojení. Pro ověření se můžeme podívat u každého spojení do záložky Inspector, kde uvidíme mezi jakými animacemi je to přechod.
Aim In
-> Reload Ammo Left
Z Aim In
vytvoříme přechod do Reload Ammo Left
s
parametrem Reload
a vypnutým Has Exit Time.
Aim Fire
-> Reload Out Of Ammo
Aim Fire
povedeme přechodem do Reload Out Of Ammo
s parametrem ReloadNoAmmo
. Zas vypneme Has Exit
Time.
Aim Fire
-> Reload Ammo Left
Z Aim Fire
dále přidáme přechod do
Reload Ammo Left
s parametrem Reload
. I tentokrát
vypneme Has Exit Time.
Nyní máme vše připravené, abychom mohli vytvořit značení počtu nábojů na obrazovce pomocí textu.
V příští lekci, 3D střílečka v Unity - Přebíjení, si vytvoříme ovládání pro přebíjení a značení nábojů ve zbrani.
Stáhnout
Staženo 27x (25.09 MB)
Komentáře
Zatím nikdo nevložil komentář - buď první!