Lekce 4 - 3D střílečka v Unity - Práce s Asset Store a model zbraně
V minulé lekci, 3D střílečka v Unity - Otáčení kamery pomocí myši, jsme se naučili ovládat pohled herní postavy pomocí myši, zároveň definovat herní objekt novým způsobem a přidávat sílu v aktuálním směru os.
V dnešním Unity 3D tutoriálu se naučíme importovat balíčky z obchodu Unity Asset Store a pracovat s nimi. Naším cílem bude přidání modelu zbraně do hry.
V tomto kurzu použijeme speciální balíček, který již není dostupný v Unity Asset Store. Místo toho si ho stáhneme přímo zde, pod tímto článkem.
Obchod Unity Asset Store
Díky obchodu Unity Asset Store máme spoustu možností, ze kterých můžeme vybírat. Obchod Unity je plný modelů jak zadarmo, tak i placených. Ukážeme si jak vyhledat, stáhnout a naimportovat balíček z Unity Asset Store, který je zdarma
Stažení a import balíčku z Unity Asset Store
Pro získání assetu do hry se musíme přihlásit na oficiální stránce Unity Asset Store přes vlastní Unity účet:
Stažení balíčku z Unity Asset Store
Do vyhledávacího pole napíšeme název našeho požadované balíčku
například: Low Poly FPS Pack
. Vpravo zaklikneme políčko
volné zdroje, aby se nám ukázaly assety, které
jsou zdarma:
Klikneme na miniaturu obrázku balíčku LOW POLY GUNS. Po otevření uvidíme v pravé části modré tlačítko přidat do mých zdrojů. Klikneme na něj. Následně klikneme na tlačítko Otevřít v Unity. Po kliknutí se nám ukáže vyskakovací okno, ve kterem klikneme na Spustit v aplikaci Unity Editor.
Poté se nám otevře Unity Editor a ukáže se okno Package Manager s našim přidaným assetem. Vpravo dole klikneme na tlačítko Download:
Import balíčku do projektu
Po stáhnutí balíčku klikneme na tlačítko Import, které se zobrazí na stejném místě, jako před chvílí tlačítko Download. Po chvilce se otevře vyskakovací okno s nápisem Import Unity Package:
V pravém dolním rohu klikneme na tlačítko Import. Nyní se bude balíček nějaký čas importovat do našeho projektu.
V záložce Project nyní vidíme novou složku s názvem importovaného balíčku. To je náš naimportovaný balíček. Dvakrát na složku klikneme:
Stažení a import balíčku z tohoto článku
Nyní si stáhneme a naimportujeme balíček, který již není v Unity Asset Store. S tímto balíčkem budeme pracovat, až do konce tohoto kurzu.
Stažení balíčku z tohoto článku
Na konci tohoto článku najdete tlačítko ke stažení balíčku:
Klikneme na něj a stáhneme soubor do svého počítače. Po stažení souboru ho rozbalíme, abychom viděli tento soubor připravený k importu:
Import balíčku do Unity projektu
Ujistíme se, že máme otevřený náš Unity projekt. Následně otevřeme stažený soubor. Po otevření balíčku se objeví vyskakovací okno Import Unity Package, kde je zobrazen obsah balíčku:
V pravém dolním rohu klikneme na tlačítko Import. Balíček se nyní začne importovat do našeho projektu.
Kontrola naimportovaného balíčku
Po dokončení importu najdeme v záložce Project novou složku s
názvem Low Poly F…
, která obsahuje naimportovaný balíček.
Pro přístup k obsahu dvakrát klikneme na složku:
Demo importovaného balíčku
Nyní si vyzkoušíme funkčnost importovaného balíčku na demu, který
obsahuje. Ze složky
Assets/Low Poly FPS PACK/Demo_Scenes/Weapon_Demo_Scenes/Assault_Rifle_01_Demo/
si spustíme soubor Assault_Rifle_01.Demo
. Otevře se nám již
hotová demo scéna, kde stačí pouze stisknout tlačítko pro
zapnutí hry a můžeme hrát. Vše, co je v demu obsaženo, je z našeho
naimportovaného balíčku.
Balíček obsahuje i skripty pro pohyb a ovládání, které ale budeme odstraňovat, protože se učíme programovat vlastní logiku hry a ne ji lepit z cizích skriptů
Vložení objektu z balíčku na scénu
Nás bude zajímat objekt rukou se zbraní.
Nebudeme vkládat celou postavu hráče, protože by stejně nebyla z pohledu první osoby naší hry vidět.
Ve složce balíčku přejdeme do složky
Assets/Low Poly FPS PACK/Prefabs/Example_P…/Arms/
, v které se
nachází soubor s obrázkem ruce se zbraní s názvem
Assault_Rif…
. Na tento soubor klikneme levým tlačítkem myši a
držíme, táhneme myší se souborem do okénka Hierarchy a následně
tlačítko pustíme. Tímto se nám soubor přesune na scénu:
Deaktivace starého hráče (kapsle)
Nyní klikneme na objekt Capsule a odklikneme čtvereček vedle krychle:
Tímto úkonem jsme deaktivovali objekt kapsle, který budeme nahrazovat našim novým objektem rukou se zbraní.
Odstranění skriptů
Klikneme na objekt s názvem
Assault_Rifle01_FPSController, který se nachází v
záložce Hierarchy. V pravé části okna se nám zobrazí záložka
Inspector. Uvidíme již předpřipravený skript autora balíčku.
Skript se jmenuje Fps Controller LPFP (Script)
. Tento skript
smažeme kliknutím na zvýrazněné tři tečky a výběrem Remove
Component z roletového menu:
Rozbalení prefabu
Stažený objekt hráče je vytvořený jako prefab. V záložce Hierarchy klikneme opět na objekt Assault_Rifle01_FPSController, tentokrát pravým tlačítkem. Rozroluje se nám menu s možnostmi, kde zvolíme Unpack Prefab Completely. Tímto se nám ze vzorového objektu, který jsme si naimportovali, stal náš vlastní objekt s vlastnostmi vzorového, které můžeme libovolně měnit:
Umístění hráče na terén
Když již máme tento objekt rozkliknutý, změníme mu polohu, aby se
nacházel na terénu. Změníme mu souřadnice v záložce Inspector,
podzáložka Transform. Souřadnice si zvolíme libovolně. Já jsem
například zvolil v pořadí x, y,
z, hodnoty 5
,1.4
,5
.
Odstranění skriptů
Než připojíme k hernímu objektu své skripty pro pohyb, musíme vymazat poslední skripty, které objekt má. Klikneme na levou šipku hned vedle našeho herního objektu Assault_Rifle01_FPSController. Tím se nám rozbalí podobjekty, které jsou ve spojení s naším hlavním objektem Assault_Rifle01_FPSController. Po rozbalení klikneme na šipku podobjektu Assault_Rifle01_Arms. Poté klikneme pravým tlačítkem na objekt nazvaný Player Canvas a vybereme možnost Delete:
Jakmile toto máme hotové, klikneme levým tlačítkem na objekt
arms_assault_rifle01 a smažeme skript umístěný na
tomto objektu. Skript má název
Automatic Gun Script LPFP (Script)
.
Přetažení objektu na kameru
Poslední, co potřebujeme udělat, než budeme moci aplikovat naše skripty, je kliknout levým tlačítkem na objekt arms_assault_rifle01 a držet. Objektem táhneme na místo objektu Gun Camera, což je kamera nad zbraní, která již byla v balíčku. Vedle objektu Gun Camera se nám ukáže šipka a po kliknutí se nám jako podobjekt zobrazí právě tažený objekt arms_assault_rifle01:
Až budeme otáčet kameru, bude se nám s ní nyní otáčet i zbraň. Protože pokud otočíme objektem, jeho podobjekty se také otočí.
Aplikace našich skriptů na objekt
Máme hotovo. Pojďme použít naše skripty na nový objekt a hru zprovoznit.
Otáčení hráče
Jako první klikneme na objekt Gun Camera. Dříve jsme na naší
kameru umístili náš skript CameraMove
. Nyní je Gun
Camera naší kamerou, a proto na ní umístíme náš skript. Klikneme na
tlačítko Add Component. Do vyhledávacího pole napíšeme
CameraMove
a přidáme náš skript:
Jakmile skript přidáme, musíme opět definovat, kdo je náš
Player
. Klikneme na kolečko v pravé části pole s nápisem
None (Game Object)
a vybereme objekt s názvem
Assault_Rifle01_FPSController:
Další možností je chytnout objekt
Assault_Rifle01_FPSController a přetáhnout do proměnné
Player
.
Pokud si nyní hru spustíme, mělo by se nám dařit otáčet hráčem
pomocí myši. Jelikož jsme si deaktivovali kapsli (hráče), tak se nám
deaktivovala i naše stará kamera, která je podobjektem kapsle. Tím pádem se
nám bude zobrazovat obraz "natáčený" novou Gun Camera. Tato kamera
byla již v souboru Assault_Rifle_01_FPSController
.
Pohyb hráče
Teď už nám zbývá jen pohyb hráče. Klikneme levým tlačítkem na
objekt Assault_Rifle01_FPSContoller a přidáme mu
komponentu (skript) s názvem Move
, podobně jako jsme přidali
skript na otáčení kamery na Gun Camera. Tento skript nám
zajišťuje pohyb hráče. Jelikož tento objekt již má na
sobě Rigidbody, nemusíme zařizovat nic jiného, než přidat
skript.
Při spuštění hry zjistíme, že se náš hráč hýbe pomalu. To je
zapříčiněno váhou hráče u komponenty Rigidbody. Pro zvýšení
rychlosti stačí změnit hodnotu z puvodnich 5
na menší číslo,
například na 0.6
:
Dostali jsme se do stavu jako na začátku, ale máme nové modely:
V následujícím kvízu, Kvíz - Terén, hráč, otáčení kamery, Asset Store v Unity3D, si vyzkoušíme nabyté zkušenosti z předchozích lekcí.
Stáhnout
Stažením následujícího souboru souhlasíš s licenčními podmínkamiStaženo 437x (25.06 MB)