Opi hallitsemaan pelisi näkymää panorointi-, zoomaus- ja skaalaustoiminnoilla.

Hyvin suunniteltu kamerajärjestelmä voi auttaa upottamaan pelaajat pelimaailmaan ja antamaan paremman sijainnin tunteen. Kamera toimii pelaajan silminä, jolloin hän voi navigoida ja olla vuorovaikutuksessa pelimaailman kanssa.

Kamerajärjestelmän luominen Godotissa on yksinkertaista mutta tehokasta. Voit helposti asettaa kameran seuraamaan pelaajaa ympäriinsä, rajoittamaan sen liikkeet pelialueelle ja jopa lisäämään dynaamista zoomausta ja skaalausta pelin tapahtumien perusteella.

Yksinkertaisen pelin luominen

Ennen kuin aloitat, sinun on luotava 2D-pelimaailma ja hahmo Godot pelimoottori jota kamera voi seurata.

Luo uusi 2D-näkymä ja lisää a CharacterBody2D solmu. Tämä toimii pelaajahahmonamme. Lisää CharacterBody2D: n sisään a CollisionShape2D ja aseta sen muoto SuorakaideShape2D tarjoamaan pelaajan fyysistä läsnäoloa maailmassa.

Tässä artikkelissa käytetty koodi on saatavilla tässä GitHub-arkisto ja sen käyttö on ilmaista MIT-lisenssin alaisena.

instagram viewer

Lisää myös CharacterBody2D: n sisään a Sprite2D solmu ja määritä siihen soittimen sprite-kuvasi. Luo uusi komentosarja, joka on liitetty CharacterBody2D-solmuun ja lisää seuraava koodi:

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)

Tällä koodilla pelaajahahmo voi nyt liikkua kaikkiin neljään suuntaan ja törmää alustoihin.

Seurantakamerajärjestelmän käyttöönotto

Seuraava askel on luoda kamera, joka seuraa pelaajan liikkeitä. Lisää Kamera 2D solmu lapsena CharacterBody2D solmu. Tämä varmistaa, että kamera seuraa aina soitinta. Jos haluat tehdä liikkeestä sujuvampaa, ota käyttöön asennon tasoitusominaisuus Kamera 2D solmu.

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

Kameran rajojen ja rajoitusten käyttöönotto

Usein on tärkeää rajoittaa pelaajan näkymä pelialueelle. Jos et käsittele tätä oikein, kamera voi kuitenkin paljastaa alueita, jotka eivät kuulu pelin piiriin. Nämä voivat sisältää välilyöntejä tai epätäydellisiä alueita.

Godot tarjoaa helpon tavan asettaa kameran rajoituksia ja rajoittaa sen liikkeitä pelialueella.

Vuonna Kamera 2D solmun ominaisuudet, muuttujia on neljä: raja_vasen, limit_top, raja_oikeus, ja limit_bottom. Nämä määrittävät kameran rajat. Voit asettaa nämä arvot pelimaailmasi koon mukaan.

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

Korvata your_game_area_width ja your_game_area_height pelimaailmasi leveyden ja korkeuden kanssa. Tämä skripti rajoittaa tehokkaasti kameran halutulla alueella tarjoten pelaajalle puhtaan ja keskittyneen pelikokemuksen.

Kameran zoomauksen ja skaalauksen käsittely

Dynaaminen zoomaus ja skaalaus voivat auttaa luomaan vaikuttavia hetkiä pelissä. Saatat esimerkiksi haluta lähentää pelaajahahmoa voimakkaan toiminnan aikana tai loitontaa paljastaaksesi suuren vihollisen tai panoraamanäkymän pelimaailmaan.

Kuvan luotto: Xbox Game Studios/orithegame.com

Godot tekee zoomauksesta ja skaalauksesta helppoa Zoomaus omaisuutta Kamera 2D solmu. Tämä ominaisuus on Vector2, jossa (1, 1) on oletuszoomaustaso. Suuremmat arvot loitontaa, jolloin katsotut kohteet näyttävät pienemmiltä, ​​kun taas pienemmät arvot lähentyvät, jolloin kohteet näyttävät suuremmilta.

Zoomaaksesi voit käyttää:

$Camera2D.zoom = Vector2(0.7, 0.7)

Ja nollataksesi zoomauksen käytä:

$Camera2D.zoom = Vector2(1, 1)

Vector2():lle välitettävät arvot määrittävät zoomaustason X- ja Y-akseleilla. Zoomausarvo (0,7, 0,7) tarkoittaa, että kamera lähentää, kun taas arvo (1,5, 1,5) loitontaa kameraa.

Sinun tulisi yleensä säilyttää sama arvo molemmille akseleille kuvasuhteen säilyttämiseksi, mutta voit kokeilla erilaisia ​​arvoja saadaksesi ainutlaatuisia tehosteita.

Sisältää lisäominaisuuksia

Kun luot pelillesi kamerajärjestelmän, voit lisätä lukuisia lisäominaisuuksia pelikokemuksen parantamiseksi.

Kamera tärisee

Varsinkin monissa peleissä käytetty yleinen tehoste tasohyppelypelit, on kameran tärinä. Tätä käytetään tyypillisesti välittämään vaikutusta tai voimakkuutta pelin tiettyinä hetkinä, kuten räjähdyksen tai hahmon voimakkaan hyökkäyksen aikana.

Voit helposti lisätä tämän toiminnon Godotiin luomalla a ravista () toiminto. Voit määrittää tärinäefektin keston ja voimakkuuden tietyn pelin sisäisen tapahtuman mukaan.

Äänet voivat parantaa huomattavasti paikan ja liikkeen tunnetta pelissä. Tämä voi olla yhtä yksinkertaista kuin swooshin pelaaminen äänitehoste kun kamera liikkuu tai panoroi nopeasti, tai niin monimutkainen kuin ympäristön äänien tai musiikkikappaleiden äänenvoimakkuuden tai korkeuden muuttaminen kameran sijainnin tai zoomaustason perusteella.

Voit esimerkiksi haluta alentaa kappaleen äänenvoimakkuutta kameran loitontaessa antaaksesi etäisyyden tunteen.

Dynaaminen valaistus

Voit myös liittää kameraan dynaamisia valaistustehosteita. Kun kamerasi liikkuu pelimaailmassa, voit muuttaa valaistusolosuhteita heijastaaksesi uusia ympäristöjä tai korostaaksesi tiettyjä alueita tai kohteita.

Tämä voi sisältää esimerkiksi näkymän asteittaista tummenemista kameran sukeltaessa luolaan tai avainkohteen korostamista kohdevalolla.

Kameran siirtymätehosteet

Voit luoda erilaisia ​​siirtymätehosteita vaihdettaessa kameroiden välillä. Tämä voi olla yksinkertainen leikkaus, jossa näkymä siirtyy välittömästi kamerasta toiseen, tai häivytys, jossa näkymä siirtyy asteittain kamerasta toiseen.

Voit käyttää monimutkaisempia siirtymiä, kuten pyyhkäisyä, diaa tai iiristä, lisäkoodauksella ja animaatiolla.

Parhaat käytännöt kamerajärjestelmän lisäämiseen

Kun lisäät peliisi kamerajärjestelmän, on hyvä pitää mielessä useita parhaita käytäntöjä parhaan mahdollisen pelikokemuksen varmistamiseksi.

Vältä äkillisiä kameran liikkeitä

Äkilliset muutokset kameran perspektiivissä voivat hämmentää pelaajia ja häiritä pelaamista. Pyri aina tasaisiin kameran siirtymiin uppoamisen ylläpitämiseksi.

Rajoita kameran tärinää

Vaikka kameran tärinä voi lisätä vaikutusta tiettyihin tapahtumiin, liian paljon voi tehdä pelistä vaikeasti seurattavan ja epämukavan pelata. Käytä tätä tehostetta säästeliäästi ja kohtuudella.

Testaa eri zoomaustasoja

Eri pelit ja erilaiset tilanteet pelin sisällä voivat vaatia erilaisia ​​zoomaustasoja. Testaa huolellisesti löytääksesi kuhunkin tilanteeseen sopivin zoomaustaso.

Harkitse kameran rajoja huolellisesti

Kameran rajat tulee asettaa harkitusti tasosi suunnitteluun sopiviksi. Et halua pelaajan näkevän pelimaailman ulkopuolelle tai näkevän tärkeitä elementtejä ruudun ulkopuolelta.

Aseta pelaajakokemus etusijalle

Kamerajärjestelmän päätavoitteena tulee aina olla pelaajakokemuksen parantaminen. Tarjoaapa sitten parhaan näkymän toiminnasta, korostaa keskeisiä hetkiä tai auttaa pelaajaa navigoimaan ympäristössä, kameran pitäisi aina edistää parempaa pelikokemusta.

Tee Godot-peleistä kiinnostavampia kamerajärjestelmän avulla

Hyvin toteutettu kamerajärjestelmä voi parantaa yleistä pelikokemusta. Se voi korostaa toimintaa, auttaa tarinankerronnassa ja tarjota mukaansatempaavamman kokemuksen.

Hallitsemalla, mitä pelaaja näkee ja milloin he näkevät sen, voit ohjata hänen matkaansa pelimaailman halki ja tehdä pelaamisesta dynaamisemman ja kiinnostavamman.