Naučte se ovládat výřez hry pomocí akcí posouvání, přibližování a měřítka.

Dobře navržený kamerový systém může pomoci ponořit hráče do herního světa a poskytnout lepší pocit z umístění. Kamera funguje jako oči hráče a umožňuje jim procházet a interagovat s herním světem.

Vytvoření kamerového systému v Godot je jednoduché, ale výkonné. Kameru můžete snadno nastavit tak, aby sledovala hráče, omezila její pohyby na herní plochu a dokonce přidala dynamické přibližování a škálování na základě událostí ve hře.

Vytvoření jednoduché hry

Než začnete, musíte si vytvořit 2D herní svět a postavu ve svém Herní engine Godot kterou může kamera sledovat.

Vytvořte novou 2D scénu a přidejte a CharacterBody2D uzel. To bude sloužit jako naše hráčská postava. Uvnitř CharacterBody2D přidejte a CollisionShape2D a nastavte jeho tvar ObdélníkShape2D poskytnout hráči fyzickou přítomnost ve světě.

Kód použitý v tomto článku je k dispozici v tomto úložiště GitHub a můžete jej používat zdarma pod licencí MIT.

Také dovnitř CharacterBody2D přidejte a

instagram viewer
Sprite2D uzel a přiřaďte mu obrázek sprite hráče. Vytvořte nový skript připojený k uzlu CharacterBody2D a přidejte následující kód:

extends CharacterBody2D

var speed = 200

func _physics_process(delta):
var velocity = Vector2()

if Input.is_action_pressed('ui_right'):
velocity.x += 1

if Input.is_action_pressed('ui_left'):
velocity.x -= 1

if Input.is_action_pressed('ui_down'):
velocity.y += 1

if Input.is_action_pressed('ui_up'):
velocity.y -= 1

velocity = velocity.normalized() * speed
move_and_collide(velocity * delta)

S tímto kódem se nyní postava hráče může pohybovat všemi čtyřmi směry a narazí na plošiny.

Implementace sledovacího kamerového systému

Dalším krokem je vytvoření kamery, která sleduje pohyby hráče. Přidat Fotoaparát 2D uzel jako vaše dítě CharacterBody2D uzel. To zajišťuje, že kamera bude vždy sledovat hráče. Aby byl pohyb plynulejší, povolte vlastnost vyhlazování polohy u Fotoaparát 2D uzel.

$Camera2D.enabled = true
$Camera2D.position_smoothing_enabled = true

Implementace omezení a omezení fotoaparátu

Často je důležité omezit pohled hráče na herní plochu. Pokud s tím ale správně nenaložíte, kamera může odhalit oblasti, které jsou mimo rozsah hry. Mohou zahrnovat mezery nebo neúplné oblasti.

Godot poskytuje snadný způsob, jak nastavit limity kamery a omezit její pohyb v herní oblasti.

V Fotoaparát 2D vlastnosti uzlu, existují čtyři proměnné: limit_left, limit_top, limit_right, a limit_bottom. Ty určují hranice fotoaparátu. Tyto hodnoty můžete nastavit podle velikosti vašeho herního světa.

$Camera2D.limit_left = 0
$Camera2D.limit_top = 0
$Camera2D.limit_right = your_game_area_width
$Camera2D.limit_bottom = your_game_area_height

Nahradit šířka_vaší_herní_oblasti a výška_vaší_herní_oblasti s šířkou a výškou vašeho herního světa. Tento skript účinně omezuje kameru v požadované oblasti a poskytuje hráči čistý a soustředěný herní zážitek.

Manipulace se zoomováním a změnou měřítka fotoaparátu

Dynamické zoomování a škálování mohou být nápomocné při vytváření působivých momentů ve hře. Můžete například chtít přiblížit postavu hráče během silné akce nebo oddálit, abyste odhalili velkého nepřítele nebo panoramatický pohled na herní svět.

Obrazový kredit: Xbox Game Studios/orithegame.com

Godot usnadňuje přibližování a škálování pomocí Zvětšení vlastnictvím Fotoaparát 2D uzel. Tato vlastnost je Vector2, přičemž (1, 1) je výchozí úroveň přiblížení. Vyšší hodnoty oddálí, takže zobrazené objekty budou vypadat menší, zatímco nižší hodnoty přiblíží, takže objekty budou vypadat větší.

Pro přiblížení můžete použít:

$Camera2D.zoom = Vector2(0.7, 0.7)

A pro resetování zoomu použijte:

$Camera2D.zoom = Vector2(1, 1)

Hodnoty, které předáte do Vector2(), určují úroveň přiblížení na osách X a Y. Hodnota zoomu (0,7, 0,7) znamená, že kamera přiblíží, zatímco hodnota (1,5, 1,5) ji oddálí.

Obvykle byste měli zachovat stejnou hodnotu pro obě osy, abyste zachovali poměr stran, ale můžete experimentovat s různými hodnotami, abyste dosáhli jedinečných efektů.

Včetně dalších funkcí

Při vytváření kamerového systému pro vaši hru existuje mnoho dalších funkcí, které můžete začlenit pro vylepšení zážitku.

Chvění fotoaparátu

Běžný efekt používaný v mnoha hrách, zvláště plošinovky, je chvění fotoaparátu. To se obvykle používá k vyjádření dopadu nebo intenzity během určitých okamžiků ve hře, jako je exploze nebo silný útok postavy.

Tuto funkci můžete v Godot snadno přidat vytvořením a otřást() funkce. Dobu trvání a intenzitu třesení můžete určit podle konkrétní události ve hře.

Zvuky mohou výrazně zlepšit pocit místa a pohybu ve hře. To může být tak jednoduché, jako hrát swoosh Zvukové efekty když se kamera rychle pohybuje nebo panorámuje, nebo je to tak složité, jako je úprava hlasitosti nebo výšky okolních zvuků nebo hudebních stop na základě umístění kamery nebo úrovně přiblížení.

Můžete například chtít snížit hlasitost skladby, když se kamera oddaluje, aby byla cítit vzdálenost.

Dynamické osvětlení

S fotoaparátem můžete také spojit dynamické světelné efekty. Jak se vaše kamera pohybuje po herním světě, můžete měnit světelné podmínky tak, aby odrážely nové prostředí nebo zvýraznily konkrétní oblasti nebo objekty.

To může zahrnovat věci jako postupné ztmavování scény, když se kamera ponoří do jeskyně, nebo zvýraznění klíčového objektu bodovým světlem.

Přechodové efekty fotoaparátu

Při přepínání mezi kamerami můžete vytvářet různé přechodové efekty. Může se jednat o jednoduchý střih, kdy pohled okamžitě přeskakuje z jedné kamery na druhou, nebo o fade, kdy pohled postupně přechází z jedné kamery do druhé.

Můžete použít složitější přechody, jako je stírání, snímek nebo iris, s dalším kódováním a animací.

Doporučené postupy pro přidání kamerového systému

Když do hry přidáváte kamerový systém, je třeba mít na paměti několik osvědčených postupů, abyste zajistili co nejlepší herní zážitek.

Vyhněte se prudkým pohybům fotoaparátu

Náhlé posuny v perspektivě kamery mohou být pro hráče dezorientující a mohou narušit hru. Vždy se zaměřte na plynulé přechody fotoaparátu, abyste zůstali ponořeni.

Omezte otřesy fotoaparátu

Zatímco chvění kamery může určitým událostem přidat vliv, příliš mnoho může způsobit, že hru bude těžké sledovat a hrát ji nepříjemně. Používejte tento efekt střídmě a s mírou.

Vyzkoušejte různé úrovně přiblížení

Různé hry a různé situace ve hře mohou vyžadovat různé úrovně přiblížení. Důkladně otestujte, abyste našli nejvhodnější úroveň přiblížení pro každou situaci.

Pečlivě zvažte hranice fotoaparátu

Hranice fotoaparátu by měly být promyšleně nastaveny tak, aby odpovídaly designu vašich úrovní. Nechcete, aby hráč viděl mimo herní svět nebo aby mu unikli důležité prvky mimo obrazovku.

Upřednostněte hráčský zážitek

Hlavním cílem kamerového systému by vždy mělo být vylepšení hráčského zážitku. Ať už jde o poskytování nejlepšího pohledu na akci, zdůraznění klíčových momentů nebo pomoc hráči v orientaci v prostředí, kamera by vždy měla přispívat k lepšímu hernímu zážitku.

Díky kamerovému systému budou hry Godot poutavější

Dobře implementovaný kamerový systém může umocnit celkový herní zážitek. Může zdůraznit akci, pomoci při vyprávění a poskytnout více pohlcující zážitek.

Ovládáním toho, co hráč vidí a kdy to vidí, můžete vést jeho cestu herním světem a učinit hru dynamičtější a poutavější.