Naučite se narediti lastne svetlobne učinke, da popestrite svoje igre.
Dinamična osvetlitev in sence lahko izboljšajo vizualno kakovost in izkušnjo igranja vaših iger Godot. Dodajajo globino, vzdušje in realističnost, zaradi česar je vaš svet igre bolj poglobljen in privlačen.
Z Godotovimi zmogljivimi funkcijami, kot sta CanvasModulate in PointLight2D, je ustvarjanje in prilagajanje dinamične osvetlitve in senc enostavno.
Nastavitev igre Godot
Preden se potopite v dinamično osvetlitev, nastavite osnovno 2D igro igralni motor Godot. Ustvarite novo sceno in dodajte a CharacterBody2D za igralca.
Koda, uporabljena v tem članku, je na voljo tukaj Repozitorij GitHub in je brezplačen za uporabo pod licenco MIT.
Znotraj CharacterBody2D, dodajte a CollisionShape2D s pravokotno obliko in a Sprite2D da predstavljajo igralčev značaj. Ustvarite tudi nekaj platform z uporabo Statično telo2D vozlišča.
Zdaj implementirajte gibanje igralca in trčenje z mejami zaslona z uporabo GDScript:
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)
S to kodo se lahko igralec premika levo, desno, gor in dol, medtem ko je omejen znotraj meja zaslona.
Zatemnite preostali del prizora
Če želite doseči učinek dinamične osvetlitve, morate zatemniti preostali del scene, razen območij, ki jih osvetljujejo svetlobni viri. To lahko storite z Godotom CanvasModulate funkcija.
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)
Priložite ta skript novemu Node2D dodano v koren prizora. The CanvasModulate vozlišče bo uporabilo polprosojno črno prekrivno površino, ki zatemni celotno sceno, razen območij, osvetljenih z lučmi.
Ustvarite konstantno spremenljivko TEMA, ki določa intenzivnost teme, uporabljene na prizoru. S prilagoditvijo vrednosti TEMA, lahko nadzorujete, kako temen postane prizor, ko ni osvetljen z lučmi. Višja vrednost bo povzročila temnejši prizor, medtem ko bo nižja vrednost naredila prizor manj temen.
Cast Light Shadow
Če želite metati sence, se morate nastaviti LightOccluder2D vozlišča na ovirah, ki bi morale blokirati svetlobo. Na primer, če imate stene, ploščadi ali druge predmete, ki bi morali mečati sence, dodajte a LightOccluder2D vsakemu posebej.
Ustvari novo LightOccluder2D vozlišče in prilagodite njegovo obliko, da bo ustrezala obliki ovire v vaši igri. Prilagodite lahko tudi lastnosti okludatorja, npr poligoni in segmenti za natančno nastavitev vedenja sence.
Dodajte vsesmerne luči
Zdaj dodajte a PointLight2D vozlišče s teksturo, ki predstavlja vaš vir svetlobe. Točkovne luči oddajajo svetlobo v vse smeri in ustvarjajo realističen učinek osvetlitve.
extends PointLight2D
var light_color = Color(1, 1, 0.8)
func _ready():
energy = 2.5
color = light_color
Lastnosti lahko prilagodite za nadzor obsega in barve svetlobe, ki jo oddaja PointLight2D.
Prav tako lahko ustvarite ali uvozite svetlobno teksturo po meri, da določite obliko in videz vašega svetlobnega vira. Lahko je preprost krog ali bolj zapletena oblika, odvisno od vzdušja, ki ga želite ustvariti.
Če želite nanesti teksturo na PointLight2D vozlišče sledite tem korakom:
- Izberite PointLight2D vozlišče v drevesu scene.
- Na plošči inšpektorja poiščite lastnost Texture pod Tekstura razdelek.
- Kliknite prazno polje s teksturo in v brskalniku datotek izberite želeno svetlo teksturo.
Zdaj bo vaš svetlobni vir oddajal svetlobo z določeno obliko in barvo, kar bo vaši dinamični osvetlitvi in sencam dodalo vizualno privlačen pridih.
Vključno z dodatnimi funkcijami
Poleg osnovne nastavitve dinamične osvetlitve in senc lahko uvedete različne dodatne funkcije, da še izboljšate vizualno privlačnost in izkušnjo igranja. Tukaj je nekaj idej, ki jih je treba upoštevati:
Svetlobne animacije
Oživite svoje vire svetlobe tako, da jim dodate animacije. Ustvarite lahko na primer utripajoče luči za bakle ali sveče, simulirate gibanje tabornega ognja ali celo dodate utripajoč učinek čarobnim kroglam.
Cikel dan-noč
Izvedite dinamičen cikel dan-noč, ki postopoma spreminja intenzivnost in barvo luči, ko čas v igri napreduje. Ta funkcija lahko izboljša potopitev in ustvari različna razpoloženja glede na čas dneva.
Bledenje svetlobe
Ustvarite gladke prehode za spremembe jakosti svetlobe, da se izognete nenadnim premikom, ki lahko prekinejo potopitev. S postopnim ugašanjem luči lahko dosežete bolj naraven in vizualno prijeten učinek.
Dinamične sence
Namesto uporabe statičnih senc razmislite o dodajanju dinamičnih senc premikajočim se predmetom ali likom. To lahko storite z uporabo dodatnih svetlobnih virov, ki sledijo gibanju likov in dajejo iluzijo posodobitev senc v realnem času.
Zvočni učinki brez avtorskih pravic
Zvočni učinki igrajo ključno vlogo pri tem, da se vaš svet igre počuti živ in dinamičen. Razmislite o vključitvi zvočni učinki brez avtorskih pravic za dopolnitev vaše dinamične osvetlitve in senc.
Najboljše prakse za dinamično osvetlitev in sence
Medtem ko lahko dinamična osvetlitev in sence zelo izboljšajo vašo igro, lahko nepravilna izvedba negativno vpliva na zmogljivost in vizualno kakovost. Tukaj je nekaj najboljših praks, ki jih morate upoštevati:
Optimizirajte vire svetlobe
Omejite število aktivnih svetlobnih virov na minimum, potreben za želeni vizualni učinek. Premočna svetloba lahko znatno vpliva na delovanje, zlasti pri napravah nižjega cenovnega razreda.
Uporabite Light Baking
Za statične prizore ali predmete razmislite o pečenju informacij o osvetlitvi, da izboljšate delovanje. Light baking vnaprej izračuna podatke o osvetlitvi, kar zmanjša potrebo po izračunih v realnem času med igranjem.
Odločite se za preproste okluderje
Pri postavljanju LightOccluder2D vozlišča, se odločite za preproste oblike, kjer koli je to mogoče. Kompleksni okluderji z veliko oglišči lahko povzročijo težave z delovanjem. Kadar koli je to izvedljivo, uporabite preproste poligone ali segmente črt za okluderje.
Odstrel in plastenje
Uporabite Godotov sistem za vidljivost in plastenje, da zagotovite, da se svetloba in sence izračunajo samo za vidna območja. Izločanje luči in senc izven zaslona lahko znatno izboljša delovanje.
Z upoštevanjem teh najboljših praks in skrbnim izvajanjem dodatnih funkcij lahko ustvarite osupljivo in očarljivo dinamično osvetlitev in sence, ki dvignejo splošno kakovost vaša platformska igra.
Naredite igre Godot bolj privlačne z dinamično osvetlitvijo in sencami
Dinamična osvetlitev in sence oživijo vaš svet igre. Ustvarijo bolj poglobljeno in atmosferično okolje, ki igralce potegne globlje v izkušnjo igranja. Prepletanje svetlobe in sence lahko prikliče čustva, nastavi ton in izboljša vizualno pripovedovanje vaše igre.
Ne glede na to, ali gre za skrivnostno temno ječo ali spokojno noč, obsijano z mesečino, dinamična osvetlitev obogati igranje in pusti trajen vtis na igralce.