Opi tekemään omia valotehosteitasi piristämään pelejäsi.

Dynaaminen valaistus ja varjot voivat parantaa Godot-peliesi visuaalista laatua ja pelikokemusta. Ne lisäävät syvyyttä, tunnelmaa ja realismia tehden pelimaailmastasi mukaansatempaavamman ja mukaansatempaavamman.

Godotin tehokkailla ominaisuuksilla, kuten CanvasModulate ja PointLight2D, dynaamisen valaistuksen ja varjojen luominen ja mukauttaminen on helppoa.

Godot-pelin perustaminen

Ennen kuin sukellat dynaamiseen valaistukseen, luo 2D-peruspeli Godot-pelimoottori. Luo uusi kohtaus ja lisää a CharacterBody2D pelaajalle.

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

Sisällä CharacterBody2D, lisää CollisionShape2D suorakaiteen muotoinen ja a Sprite2D edustamaan pelaajan luonnetta. Luo myös joitain alustoja käyttämällä StaticBody2D solmut.

Toteuta nyt pelaajan liike ja törmäys näytön rajojen kanssa GDScriptin avulla:

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ämän koodin avulla pelaaja voi liikkua vasemmalle, oikealle, ylös ja alas samalla kun on rajoitettu näytön rajojen sisällä.

Tummenna loput kohtaukset

Dynaamisen valaistuksen vaikutuksen saavuttamiseksi sinun on tummennettava muu kohtaus paitsi valonlähteiden valaisemat alueet. Voit tehdä tämän Godot'n avulla CanvasModulate ominaisuus.

extends Node2D

const DARKNESS = 0.7

func _ready():
var canvas_modulate = CanvasModulate.new()
canvas_modulate.color = Color(0, 0, 0, DARKNESS)
add_child(canvas_modulate)

Liitä tämä skripti uuteen Node2D lisätty kohtauksen juureen. The CanvasModulate node käyttää puoliläpinäkyvää mustaa peittokuvaa, joka tummentaa koko kohtauksen valoilla valaistuja alueita lukuun ottamatta.

Luo vakiomuuttuja PIMEYS, joka määrittää kohtaukseen sovellettavan pimeyden voimakkuuden. Säätämällä arvoa PIMEYS, voit hallita, kuinka tumma kohtaus tulee, kun sitä ei valaista valoilla. Suurempi arvo johtaa tummempaan kohtaukseen, kun taas pienempi arvo tekee kohtauksesta vähemmän tumman.

Valo varjo

Luodaksesi varjoja sinun on määritettävä LightOccluder2D solmuja esteissä, joiden pitäisi estää valoa. Jos sinulla on esimerkiksi seiniä, tasoja tai muita esineitä, joiden pitäisi luoda varjoja, lisää a LightOccluder2D jokaiselle.

Luoda uusi LightOccluder2D solmu ja säädä sen muoto vastaamaan pelisi esteen muotoa. Voit myös säätää sulkijan ominaisuuksia, kuten monikulmiot ja segmenttejä hienosäätääksesi varjojen luomista.

Lisää monisuuntaiset valot

Lisää nyt a PointLight2D solmu, jonka tekstuuri edustaa valonlähdettäsi. Pistevalot säteilevät valoa kaikkiin suuntiin ja luovat realistisen valaistusvaikutelman.

extends PointLight2D

var light_color = Color(1, 1, 0.8)

func _ready():
energy = 2.5
color = light_color

Voit mukauttaa ominaisuuksia ohjaamaan säteilemän valon aluetta ja väriä PointLight2D.

Voit myös luoda tai tuoda mukautetun vaalean tekstuurin määrittääksesi valonlähteesi muodon ja ulkonäön. Se voi olla yksinkertainen ympyrä tai monimutkaisempi muoto riippuen ilmapiiristä, jonka haluat luoda.

Voit soveltaa tekstuurin PointLight2D node, noudata näitä ohjeita:

  1. Valitse PointLight2D solmu kohtauspuussa.
  2. Etsi Tarkastaja-paneelista Texture-ominaisuus alta Rakenne osio.
  3. Napsauta tyhjää pintakuvioruutua ja valitse haluamasi vaalea tekstuuri tiedostoselaimesta.

Nyt valonlähteesi säteilee määritellyn muodon ja värin omaavaa valoa, mikä lisää visuaalisesti houkuttelevan silauksen dynaamiseen valaistukseen ja varjoihin.

Sisältää lisäominaisuuksia

Dynaamisen valaistuksen ja varjojen perusasetusten lisäksi voit esitellä useita lisäominaisuuksia visuaalisen viehätyksen ja pelikokemuksen parantamiseksi. Tässä on joitain ajatuksia harkittavaksi:

Kevyet animaatiot

Herätä valonlähteesi eloon lisäämällä niihin animaatioita. Voit esimerkiksi luoda välkkyviä valoja soihtuihin tai kynttilöitä varten, simuloida nuotion liikettä tai jopa lisätä sykkivää tehostetta maagisiin palloihin.

Päivä-yö sykli

Toteuta dynaaminen päivä-yö-sykli, joka muuttaa valojen voimakkuutta ja väriä asteittain pelin aikana. Tämä ominaisuus voi tehostaa uppoamista ja luoda erilaisia ​​tunnelmia vuorokaudenajasta riippuen.

Valo häipyminen

Luo tasaisia ​​siirtymiä valon voimakkuuden muutoksille välttääksesi äkilliset siirtymät, jotka voivat katkaista upottamisen. Himmentämällä valoja asteittain sisään ja ulos, voit saavuttaa luonnollisemman ja visuaalisesti miellyttävämmän vaikutelman.

Dynaamiset varjot

Staattisten varjojen käyttämisen sijaan harkitse dynaamisten varjojen lisäämistä liikkuviin objekteihin tai hahmoihin. Voit tehdä tämän käyttämällä lisävalolähteitä, jotka seuraavat hahmojen liikettä ja luovat illuusion reaaliaikaisista varjopäivityksistä.

Tekijänoikeusvapaat äänitehosteet

Äänitehosteilla on ratkaiseva rooli, jotta pelimaailmasi tuntuu elävältä ja dynaamiselta. Harkitse sisällyttämistä tekijänoikeusvapaat äänitehosteet täydentämään dynaamista valaistusta ja varjojasi.

Dynaamisen valaistuksen ja varjojen parhaat käytännöt

Vaikka dynaaminen valaistus ja varjot voivat parantaa peliäsi huomattavasti, virheellinen toteutus voi heikentää suorituskykyä ja visuaalista laatua. Tässä on joitain parhaita käytäntöjä, jotka kannattaa pitää mielessä:

Optimoi valonlähteet

Rajoita aktiivisten valonlähteiden määrä vähimmäismäärään, joka tarvitaan haluamasi visuaalisen tehosteen saavuttamiseksi. Liialliset valot voivat vaikuttaa merkittävästi suorituskykyyn, erityisesti halvemmissa laitteissa.

Käytä kevyttä leivontaa

Jos kyseessä on staattinen kohtaus tai kohde, harkitse valaistustietojen leikkaamista suorituskyvyn parantamiseksi. Light Baking laskee valaistustiedot, mikä vähentää reaaliaikaisten laskelmien tarvetta pelin aikana.

Valitse Simple Occluders

Asetettaessa LightOccluder2D solmut, valitse yksinkertaisia ​​muotoja aina kun mahdollista. Monimutkaiset sulkijat, joissa on useita pisteitä, voivat johtaa suorituskykyongelmiin. Käytä sulkimiin yksinkertaisia ​​polygoneja tai viivasegmenttejä aina kun mahdollista.

Teurastus ja kerrostaminen

Hyödynnä Godotin näkyvyys- ja tasoitusjärjestelmää varmistaaksesi, että valot ja varjot lasketaan vain näkyville alueille. Näytön ulkopuolisten valojen ja varjojen poistaminen voi parantaa suorituskykyä merkittävästi.

Noudattamalla näitä parhaita käytäntöjä ja ottamalla lisäominaisuuksia huolellisesti käyttöön voit luoda upeita ja kiehtovia dynaamisia valaistuksia ja varjoja, jotka parantavat kuvan yleistä laatua. tasohyppelypelisi.

Tee Godot-peleistä kiinnostavampia dynaamisella valaistuksella ja varjoilla

Dynaaminen valaistus ja varjot tuovat elämää pelimaailmaasi. Ne luovat mukaansatempaavamman ja tunnelmallisemman ympäristön vetäen pelaajat syvemmälle pelikokemukseen. Valon ja varjon vuorovaikutus voi herättää tunteita, asettaa sävyn ja parantaa pelisi visuaalista tarinankerrontaa.

Olipa kyseessä salaperäinen tumma vankityrmä tai tyyni kuutamo, dynaaminen valaistus rikastuttaa pelin kulkua ja jättää pelaajiin pysyvän vaikutuksen.