Naučite se upravljati vidno polje svoje igre s premikanjem, povečavo in spreminjanjem velikosti.

Dobro zasnovan sistem kamer lahko pomaga potopiti igralce v svet igre in daje boljši občutek lokacije. Kamera deluje kot oči igralca, ki mu omogoča navigacijo in interakcijo s svetom igre.

Ustvarjanje sistema kamer v Godotu je preprosto, a zmogljivo. Kamero lahko preprosto nastavite tako, da sledi igralcu naokoli, omejite njeno gibanje na območje igre in celo dodate dinamično povečavo in spreminjanje velikosti glede na dogodke v igri.

Ustvarjanje preproste igre

Preden začnete, morate ustvariti 2D svet igre in lik v svoji Godot Game Engine ki jim lahko kamera sledi.

Ustvarite novo 2D sceno in dodajte a CharacterBody2D vozlišče. To bo služilo kot naš igralski lik. Znotraj CharacterBody2D dodajte a CollisionShape2D in mu nastavite obliko RectangleShape2D zagotoviti fizično prisotnost igralca v svetu.

Koda, uporabljena v tem članku, je na voljo tukaj Repozitorij GitHub in je brezplačen za uporabo pod licenco MIT.

instagram viewer

Poleg tega znotraj CharacterBody2D dodajte a Sprite2D vozlišče in mu dodelite sliko sprite svojega igralca. Ustvarite nov skript, priložen vozlišču CharacterBody2D, in dodajte naslednjo kodo:

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 to kodo se lahko igralčev lik zdaj premika v vse štiri smeri in bo trčil v platforme.

Implementacija sistema sledilne kamere

Naslednji korak je ustvariti kamero, ki sledi igralčevim gibom. Dodaj a Kamera2D vozlišče kot vaš otrok CharacterBody2D vozlišče. To zagotavlja, da bo kamera vedno sledila igralcu. Če želite narediti gibanje bolj gladko, omogočite lastnost glajenja položaja Kamera2D vozlišče.

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

Implementacija meja in omejitev kamere

Pogosto je pomembno omejiti igralčev pogled na območje igre. Če tega ne ravnate pravilno, lahko kamera razkrije področja, ki so izven obsega igre. Ti lahko vključujejo presledke ali nepopolna območja.

Godot ponuja preprost način za nastavitev omejitev kamere in omejevanje njenega gibanja v območju igre.

V Kamera2D lastnosti vozlišča, obstajajo štiri spremenljivke: limit_left, limit_top, limit_right, in limit_bottom. Ti določajo meje kamere. Te vrednosti lahko nastavite glede na velikost svojega igralnega sveta.

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

Zamenjati your_game_area_width in vaša_višina_območja_igre s širino in višino vašega igralnega sveta. Ta skript učinkovito omeji kamero znotraj želenega območja, kar igralcu zagotavlja čisto in osredotočeno izkušnjo igranja.

Upravljanje povečave in skaliranja kamere

Dinamično povečevanje in spreminjanje velikosti je lahko ključnega pomena pri ustvarjanju impresivnih trenutkov v igri. Na primer, morda boste želeli povečati lik igralca med močno akcijo ali pomanjšati, da razkrijete velikega sovražnika ali panoramski pogled na svet igre.

Avtorstvo slike: Xbox Game Studios/orithegame.com

Godot omogoča preprosto povečevanje in spreminjanje velikosti z povečava lastnina Kamera2D vozlišče. Ta lastnost je Vector2, pri čemer je (1, 1) privzeta stopnja povečave. Višje vrednosti bodo pomanjšale, zaradi česar bodo prikazani predmeti videti manjši, medtem ko bodo nižje vrednosti povečale, zaradi česar bodo predmeti videti večji.

Za povečavo lahko uporabite:

$Camera2D.zoom = Vector2(0.7, 0.7)

Za ponastavitev povečave uporabite:

$Camera2D.zoom = Vector2(1, 1)

Vrednosti, ki jih posredujete v Vector2(), določajo stopnjo povečave na oseh X in Y. Vrednost povečave (0,7, 0,7) pomeni, da bo kamera povečala, vrednost (1,5, 1,5) pa bi kamero pomanjšala.

Običajno morate ohraniti enako vrednost za obe osi, da ohranite razmerje stranic, vendar lahko eksperimentirate z različnimi vrednostmi, da dosežete edinstvene učinke.

Vključno z dodatnimi funkcijami

Ko ustvarjate sistem kamer za svojo igro, lahko vključite številne dodatne funkcije, da izboljšate izkušnjo.

Tresenje fotoaparata

Pogost učinek, ki se uporablja v številnih igrah, zlasti platformne igre, je tresenje fotoaparata. To se običajno uporablja za izražanje vpliva ali intenzivnosti v določenih trenutkih v igri, kot je eksplozija ali močan napad lika.

To funkcijo lahko enostavno dodate v Godot tako, da ustvarite tresenje() funkcijo. Določite lahko trajanje in intenzivnost učinka tresenja glede na določen dogodek v igri.

Zvoki lahko močno povečajo občutek mesta in gibanja v igri. To je lahko preprosto kot igranje swoosha zvočni efekt ko se kamera hitro premika ali pomika, ali tako zapleteno, kot je spreminjanje glasnosti ali višine zvokov iz okolja ali glasbenih posnetkov glede na lokacijo kamere ali stopnjo povečave.

Na primer, morda boste želeli znižati glasnost pesmi, ko se kamera pomanjša, da dobite občutek razdalje.

Dinamična osvetlitev

Na kamero lahko povežete tudi dinamične svetlobne učinke. Ko se vaša kamera premika po svetu igre, lahko spremenite svetlobne pogoje, da odražajo nova okolja ali da poudarite določena območja ali predmete.

To lahko vključuje stvari, kot je postopno zatemnitev prizora, ko se kamera poglobi v jamo, ali osvetlitev ključnega predmeta z reflektorjem.

Učinki prehoda kamere

Pri preklapljanju med kamerami lahko ustvarite različne učinke prehoda. To je lahko preprost rez, kjer pogled takoj preskoči z ene kamere na drugo, ali bledenje, kjer pogled postopoma prehaja iz ene kamere v drugo.

Uporabite lahko bolj zapletene prehode, kot so brisanje, diapozitiv ali šarenica, z dodatnim kodiranjem in animacijo.

Najboljše prakse za dodajanje sistema kamer

Ko svoji igri dodajate sistem kamer, morate upoštevati več najboljših praks, da zagotovite najboljšo možno igralno izkušnjo.

Izogibajte se nenadnim premikom kamere

Nenadni premiki v perspektivi kamere lahko zmedejo igralce in lahko motijo ​​igranje. Vedno si prizadevajte za gladke prehode kamere, da ohranite potopitev.

Omejite tresenje kamere

Medtem ko lahko tresenje kamere dodatno vpliva na določene dogodke, lahko preveč ogrozi spremljanje igre in neprijetno igranje. Ta učinek uporabljajte zmerno in zmerno.

Preizkusite različne stopnje povečave

Različne igre in različne situacije v igri lahko zahtevajo različne stopnje povečave. Temeljito preizkusite, da najdete najprimernejšo stopnjo povečave za vsako situacijo.

Previdno upoštevajte meje kamere

Meje kamere morajo biti premišljeno nastavljene tako, da ustrezajo zasnovi vaših ravni. Ne želite, da igralec vidi zunaj sveta igre ali zamudi pomembne elemente zunaj zaslona.

Dajte prednost izkušnji igralca

Glavni cilj sistema kamer mora vedno biti izboljšanje igralčeve izkušnje. Ne glede na to, ali zagotavlja najboljši pogled na dogajanje, poudarja ključne trenutke ali pomaga igralcu pri navigaciji v okolju, mora kamera vedno prispevati k boljši izkušnji igranja.

Naredite igre Godot bolj privlačne s sistemom kamer

Dobro implementiran sistem kamer lahko izboljša celotno izkušnjo igre. Lahko poudari dogajanje, pomaga pri pripovedovanju zgodb in zagotovi bolj poglobljeno izkušnjo.

Če nadzirate, kaj igralec vidi in kdaj to vidi, lahko vodite njegovo potovanje skozi svet igre in naredite igranje bolj dinamično in zanimivo.