Naučte sa ovládať výrez hry pomocou akcií posúvania, približovania a mierky.
Dobre navrhnutý kamerový systém môže pomôcť ponoriť hráčov do herného sveta a poskytnúť lepší pocit z miesta. Kamera funguje ako oči hráča a umožňuje im navigovať a interagovať s herným svetom.
Vytvorenie kamerového systému v Godot je jednoduché, ale výkonné. Kameru môžete jednoducho nastaviť tak, aby sledovala hráča, obmedzila jeho pohyb na hernú plochu a dokonca pridala dynamické približovanie a škálovanie na základe udalostí v hre.
Vytvorenie jednoduchej hry
Pred začatím si musíte vytvoriť 2D herný svet a postavu vo svojom Herný engine Godot že kamera môže sledovať.
Vytvorte novú 2D scénu a pridajte a CharacterBody2D uzol. Toto bude slúžiť ako postava nášho hráča. Vo vnútri CharacterBody2D pridajte a CollisionShape2D a nastavte jej tvar Obdĺžnikový tvar 2D poskytnúť hráčovi fyzickú prítomnosť vo svete.
Kód použitý v tomto článku je dostupný v tomto úložisko GitHub a môžete ho bezplatne používať na základe licencie MIT.
Vo vnútri CharacterBody2D tiež pridajte a Sprite2D uzol a priraďte mu obrázok sprite hráča. Vytvorte nový skript pripojený k uzlu CharacterBody2D a pridajte nasledujúci kód:
extends CharacterBody2D
var speed = 200
func _physics_process(delta):
var velocity = Vector2()if Input.is_action_pressed('ui_right'):
velocity.x += 1if Input.is_action_pressed('ui_left'):
velocity.x -= 1if Input.is_action_pressed('ui_down'):
velocity.y += 1if Input.is_action_pressed('ui_up'):
velocity.y -= 1
velocity = velocity.normalized() * speed
move_and_collide(velocity * delta)
S týmto kódom sa teraz postava hráča môže pohybovať všetkými štyrmi smermi a narazí na plošiny.
Implementácia systému sledovania kamier
Ďalším krokom je vytvorenie kamery, ktorá sleduje pohyby hráča. Pridaj Fotoaparát 2D uzol ako vaše dieťa CharacterBody2D uzol. To zaisťuje, že kamera bude vždy sledovať prehrávač. Aby bol pohyb plynulejší, povoľte vlastnosť vyhladzovania polohy Fotoaparát 2D uzol.
$Camera2D.enabled = true
$Camera2D.position_smoothing_enabled = true
Implementácia obmedzení a obmedzení kamier
Často je dôležité obmedziť pohľad hráča na hernú plochu. Ak s tým však nepracujete správne, kamera môže odhaliť oblasti, ktoré sú mimo rámca hry. Môžu zahŕňať medzery alebo neúplné oblasti.
Godot poskytuje jednoduchý spôsob, ako nastaviť limity kamery a obmedziť jej pohyb v rámci hernej oblasti.
V Fotoaparát 2D vlastnosti uzla, existujú štyri premenné: limit_left, limit_top, limit_right, a limit_bottom. Tie určujú hranice fotoaparátu. Tieto hodnoty môžete nastaviť podľa veľkosti vášho herného sveta.
$Camera2D.limit_left = 0
$Camera2D.limit_top = 0
$Camera2D.limit_right = your_game_area_width
$Camera2D.limit_bottom = your_game_area_height
Nahradiť your_game_area_width a your_game_area_height so šírkou a výškou vášho herného sveta. Tento skript účinne obmedzuje kameru v požadovanej oblasti a poskytuje hráčovi čistý a sústredený herný zážitok.
Obsluha približovania a zmeny mierky fotoaparátu
Dynamické približovanie a škálovanie môžu byť nápomocné pri vytváraní pôsobivých momentov v hre. Môžete napríklad chcieť priblížiť postavu hráča počas silnej akcie alebo oddialiť, aby ste odhalili veľkého nepriateľa alebo panoramatický pohľad na herný svet.
Godot uľahčuje približovanie a škálovanie pomocou priblížiť majetok z Fotoaparát 2D uzol. Táto vlastnosť je Vector2, pričom (1, 1) je predvolená úroveň priblíženia. Vyššie hodnoty oddialia, čím sa prezerané objekty zdajú menšie, zatiaľ čo nižšie hodnoty priblížia, čím sa objekty budú javiť väčšie.
Na priblíženie môžete použiť:
$Camera2D.zoom = Vector2(0.7, 0.7)
A na resetovanie priblíženia použite:
$Camera2D.zoom = Vector2(1, 1)
Hodnoty, ktoré prenesiete do Vector2(), určujú úroveň priblíženia na osiach X a Y. Hodnota priblíženia (0,7, 0,7) znamená, že kamera priblíži, zatiaľ čo hodnota (1,5, 1,5) ju oddiali.
Zvyčajne by ste mali zachovať rovnakú hodnotu pre obe osi, aby ste zachovali pomer strán, ale môžete experimentovať s rôznymi hodnotami, aby ste dosiahli jedinečné efekty.
Vrátane ďalších funkcií
Pri vytváraní kamerového systému pre vašu hru existuje množstvo ďalších funkcií, ktoré môžete začleniť na zlepšenie zážitku.
Chvenie fotoaparátu
Bežný efekt používaný v mnohých hrách, najmä plošinovky, je chvenie fotoaparátu. Toto sa zvyčajne používa na vyjadrenie dopadu alebo intenzity počas určitých momentov v hre, ako je výbuch alebo silný útok postavy.
Túto funkciu môžete jednoducho pridať v Godot vytvorením a triasť() funkciu. Môžete určiť trvanie a intenzitu efektu trasenia podľa konkrétnej udalosti v hre.
Zvuky môžu výrazne zlepšiť pocit miesta a pohybu v hre. Môže to byť také jednoduché, ako hrať swoosh zvukový efekt keď sa kamera rýchlo pohybuje alebo posúva, alebo je to také zložité, ako je úprava hlasitosti alebo výšky okolitých zvukov alebo hudobných skladieb na základe polohy kamery alebo úrovne priblíženia.
Môžete napríklad chcieť znížiť hlasitosť skladby, keď sa kamera vzďaľuje, aby ste získali pocit vzdialenosti.
Dynamické osvetlenie
K fotoaparátu môžete tiež pripojiť dynamické svetelné efekty. Keď sa vaša kamera pohybuje po hernom svete, môžete meniť svetelné podmienky tak, aby odrážali nové prostredia alebo aby ste zvýraznili konkrétne oblasti alebo objekty.
To môže zahŕňať veci ako postupné stmavovanie scény, keď sa kamera ponorí do jaskyne, alebo zvýraznenie kľúčového objektu reflektorom.
Prechodové efekty fotoaparátu
Pri prepínaní medzi kamerami môžete vytvárať rôzne prechodové efekty. Môže ísť o jednoduchý strih, pri ktorom pohľad okamžite preskočí z jednej kamery na druhú, alebo o fade, kde pohľad postupne prechádza z jednej kamery do druhej.
Môžete použiť zložitejšie prechody, ako je stieranie, snímka alebo dúhovka, s dodatočným kódovaním a animáciou.
Osvedčené postupy pri pridávaní kamerového systému
Pri pridávaní kamerového systému do vašej hry existuje niekoľko osvedčených postupov, ktoré treba mať na pamäti, aby ste si zaistili čo najlepší herný zážitok.
Vyhnite sa náhlym pohybom fotoaparátu
Náhle zmeny v perspektíve kamery môžu byť pre hráčov dezorientujúce a môžu narušiť hru. Vždy sa zamerajte na plynulé prechody fotoaparátu, aby ste udržali ponorenie.
Obmedzte otrasy fotoaparátu
Aj keď otrasy kamery môžu pridať určitým udalostiam vplyv, príliš veľa môže sťažiť sledovanie hry a jej hranie bude nepríjemné. Tento efekt používajte s mierou a s mierou.
Vyskúšajte rôzne úrovne priblíženia
Rôzne hry a rôzne situácie v hre môžu vyžadovať rôzne úrovne priblíženia. Dôkladne otestujte, aby ste našli najvhodnejšiu úroveň priblíženia pre každú situáciu.
Starostlivo zvážte hranice fotoaparátu
Hranice fotoaparátu by mali byť premyslene nastavené tak, aby zodpovedali dizajnu vašich úrovní. Nechcete, aby hráč videl mimo herného sveta alebo aby mu unikli dôležité prvky mimo obrazovky.
Uprednostnite hráčsky zážitok
Hlavným cieľom kamerového systému by vždy malo byť umocnenie zážitku hráča. Či už ide o poskytnutie najlepšieho pohľadu na akciu, zdôraznenie kľúčových momentov alebo pomoc hráčovi pri navigácii v prostredí, kamera by mala vždy prispieť k lepšiemu hernému zážitku.
Vďaka kamerovému systému budú hry Godot pútavejšie
Dobre implementovaný kamerový systém môže umocniť celkový zážitok z hry. Môže zdôrazniť akciu, pomôcť pri rozprávaní príbehu a poskytnúť pohlcujúcejší zážitok.
Ovládaním toho, čo hráč vidí a kedy to vidí, môžete viesť jeho cestu herným svetom a urobiť hru dynamickejšou a pútavejšou.