Sužinokite, kaip valdyti žaidimo peržiūros sritį slinkimo, mastelio keitimo ir mastelio keitimo veiksmais.
Gerai suprojektuota kamerų sistema gali padėti žaidėjams pasinerti į žaidimų pasaulį ir geriau suvokti vietą. Kamera veikia kaip žaidėjo akys, leidžiančios naršyti ir bendrauti su žaidimų pasauliu.
Sukurti fotoaparato sistemą Godot yra paprasta, bet galinga. Galite lengvai nustatyti kamerą sekti žaidėją aplinkui, apriboti jo judesius žaidimo srityje ir netgi pridėti dinaminį priartinimą ir mastelio keitimą pagal žaidimo įvykius.
Paprasto žaidimo kūrimas
Prieš pradėdami, turite sukurti 2D žaidimų pasaulį ir savo personažą Godot žaidimų variklis kad kamera gali sekti.
Sukurkite naują 2D sceną ir pridėkite a CharacterBody2D mazgas. Tai bus mūsų žaidėjo personažas. CharacterBody2D viduje pridėkite a CollisionShape2D ir nustatykite jo formą Stačiakampio forma2D užtikrinti žaidėjo fizinį buvimą pasaulyje.
Šiame straipsnyje naudojamas kodas pateikiamas čia GitHub saugykla ir jūs galite nemokamai naudotis pagal MIT licenciją.
Taip pat CharacterBody2D viduje pridėkite a Sprite2D mazgą ir priskirkite jam savo grotuvo sprite vaizdą. Sukurkite naują scenarijų, pridėtą prie CharacterBody2D mazgo, ir pridėkite šį kodą:
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)
Su šiuo kodu žaidėjo veikėjas dabar gali judėti visomis keturiomis kryptimis ir susidurs su platformomis.
Stebėjimo kameros sistemos įdiegimas
Kitas žingsnis – sukurti kamerą, kuri sektų žaidėjo judesius. Pridėti Kamera 2D mazgas kaip jūsų vaikas CharacterBody2D mazgas. Taip užtikrinama, kad kamera visada seks grotuvą. Kad judesys būtų sklandesnis, įjunkite padėties išlyginimo savybę Kamera 2D mazgas.
$Camera2D.enabled = true
$Camera2D.position_smoothing_enabled = true
Kameros ribų ir apribojimų įgyvendinimas
Dažnai svarbu apriboti žaidėjo vaizdą iki žaidimo zonos. Tačiau jei to nesielgsite tinkamai, fotoaparatas gali atskleisti sritis, kurios nepatenka į žaidimo sritį. Tai gali būti tarpų arba neužbaigtų sričių.
Godot suteikia paprastą būdą nustatyti fotoaparato ribas ir apriboti jos judėjimą žaidimo srityje.
Viduje Kamera 2D mazgo savybės, yra keturi kintamieji: limit_left, limit_top, limit_right, ir limit_bottom. Jie nustato fotoaparato ribas. Galite nustatyti šias reikšmes pagal savo žaidimo pasaulio dydį.
$Camera2D.limit_left = 0
$Camera2D.limit_top = 0
$Camera2D.limit_right = your_game_area_width
$Camera2D.limit_bottom = your_game_area_height
Pakeiskite jūsų_žaidimo_sritis_plotis ir jūsų_žaidimo_sritis_aukštis atsižvelgiant į jūsų žaidimų pasaulio plotį ir aukštį. Šis scenarijus efektyviai apriboja kamerą norimoje srityje, suteikdamas žaidėjui švarų ir koncentruotą žaidimo patirtį.
Kameros mastelio keitimo ir mastelio keitimas
Dinaminis priartinimas ir mastelio keitimas gali būti naudingi kuriant įspūdingas žaidimo akimirkas. Pavyzdžiui, galbūt norėsite priartinti žaidėjo personažą atliekant galingą veiksmą arba nutolinti, kad atskleistumėte didelį priešą arba panoraminį žaidimo pasaulio vaizdą.
„Godot“ leidžia lengvai priartinti ir keisti mastelį priartinti nuosavybė Kamera 2D mazgas. Ši savybė yra Vector2, kur (1, 1) yra numatytasis mastelio keitimo lygis. Didesnės reikšmės sumažins mastelį, todėl žiūrimi objektai atrodys mažesni, o mažesnės vertės priartins, todėl objektai atrodys didesni.
Norėdami priartinti, galite naudoti:
$Camera2D.zoom = Vector2(0.7, 0.7)
Ir norėdami iš naujo nustatyti mastelį, naudokite:
$Camera2D.zoom = Vector2(1, 1)
Vertės, kurias perduodate Vector2() nustato X ir Y ašių mastelio keitimo lygį. Priartinimo reikšmė (0,7, 0,7) reiškia, kad fotoaparatas priartins, o reikšmė (1,5, 1,5) sumažins fotoaparatą.
Paprastai turėtumėte išlaikyti tą pačią abiejų ašių vertę, kad išlaikytumėte formato santykį, tačiau galite eksperimentuoti su skirtingomis reikšmėmis, kad pasiektumėte unikalių efektų.
Įskaitant papildomas funkcijas
Kurdami savo žaidimo kamerų sistemą, galite įtraukti daugybę papildomų funkcijų, kad pagerintumėte patirtį.
Kameros drebėjimas
Dažnas efektas, naudojamas daugelyje žaidimų, ypač platformingo žaidimai, yra fotoaparato drebėjimas. Tai paprastai naudojama norint perteikti poveikį arba intensyvumą tam tikromis žaidimo akimirkomis, pvz., sprogimo ar veikėjo galingo puolimo metu.
Galite lengvai pridėti šią funkciją Godot sukurdami a purtyti () funkcija. Galite nurodyti drebėjimo efekto trukmę ir intensyvumą pagal konkretų žaidimo įvykį.
Garsai gali labai pagerinti vietos ir judėjimo pojūtį žaidime. Tai gali būti taip paprasta, kaip žaisti „swoosh“. garso efektas kai fotoaparatas greitai juda ar slenka, arba taip sudėtinga, kaip aplinkos garsų ar muzikos takelių garsumo ar aukščio keitimas, atsižvelgiant į fotoaparato vietą arba priartinimo lygį.
Pavyzdžiui, galbūt norėsite sumažinti dainos garsumą, kai fotoaparatas tolsta, kad pajustumėte atstumą.
Dinaminis apšvietimas
Taip pat prie fotoaparato galite susieti dinaminius apšvietimo efektus. Kai fotoaparatas juda žaidimo pasaulyje, galite keisti apšvietimo sąlygas, kad atspindėtų naują aplinką arba paryškintumėte konkrečias sritis ar objektus.
Tai gali apimti tokius dalykus kaip laipsniškas scenos tamsinimas, kai kamera įsiskverbia į urvą, arba pagrindinio objekto paryškinimas prožektoriumi.
Kameros perėjimo efektai
Perjungdami kameras galite sukurti įvairius perėjimo efektus. Tai gali būti paprastas pjūvis, kai vaizdas akimirksniu peršoka iš vienos kameros į kitą, arba išnykimas, kai vaizdas palaipsniui pereina iš vienos kameros į kitą.
Su papildomu kodavimu ir animacija galite naudoti sudėtingesnius perėjimus, pvz., valymą, slinkimą ar rainelę.
Geriausia fotoaparato sistemos pridėjimo praktika
Kai prie žaidimo pridedate kameros sistemą, reikia atsiminti keletą geriausių praktikų, kad užtikrintumėte geriausią įmanomą žaidimų patirtį.
Venkite staigių fotoaparato judesių
Staigūs fotoaparato perspektyvos pokyčiai gali suklaidinti žaidėjus ir sutrikdyti žaidimą. Visada siekite sklandų fotoaparato perėjimą, kad išlaikytumėte panardinimą.
Apriboti fotoaparato drebėjimą
Nors fotoaparato drebėjimas gali turėti įtakos tam tikriems įvykiams, dėl per didelio žaidimo gali būti sunku sekti žaidimą ir jį žaisti bus nepatogu. Naudokite šį efektą saikingai ir saikingai.
Išbandykite skirtingus mastelio keitimo lygius
Skirtingiems žaidimams ir skirtingoms žaidimo situacijoms gali prireikti skirtingų priartinimo lygių. Kruopščiai išbandykite, kad surastumėte tinkamiausią priartinimo lygį kiekvienai situacijai.
Atidžiai apsvarstykite fotoaparato ribas
Kameros ribos turėtų būti apgalvotai nustatytos, kad atitiktų jūsų lygių dizainą. Jūs nenorite, kad žaidėjas matytų už žaidimo pasaulio ribų arba praleistų svarbius elementus už ekrano ribų.
Pirmenybę teikite žaidėjo patirčiai
Pagrindinis kameros sistemos tikslas visada turėtų būti pagerinti žaidėjo patirtį. Nesvarbu, ar tai yra geriausias veiksmo vaizdas, svarbiausių momentų akcentavimas ar padėti žaidėjui naršyti aplinkoje, fotoaparatas visada turėtų prisidėti prie geresnės žaidimo patirties.
Kad „Godot“ žaidimai būtų patrauklesni su fotoaparato sistema
Gerai įdiegta kamerų sistema gali pagerinti bendrą žaidimo patirtį. Tai gali pabrėžti veiksmą, padėti pasakoti ir suteikti daugiau įtraukiančios patirties.
Valdydami, ką žaidėjas mato ir kada mato, galite nukreipti jo kelionę į žaidimų pasaulį ir padaryti žaidimą dinamiškesnį bei patrauklesnį.