Ismerje meg, hogyan készíthet saját fényeffektusait, hogy feldobja játékait.
A dinamikus világítás és árnyékok javíthatják Godot játékaid vizuális minőségét és játékélményét. Mélységet, atmoszférát és valósághűséget adnak, így a játék világa még magával ragadóbb és magával ragadóbb.
A Godot olyan hatékony funkcióival, mint a CanvasModulate és a PointLight2D, a dinamikus világítás és árnyékok létrehozása és testreszabása egyszerű feladat.
A Godot játék beállítása
Mielőtt belemerülne a dinamikus világításba, állítson be egy alapvető 2D-s játékot a Godot játékmotor. Hozzon létre egy új jelenetet, és adjon hozzá a CharacterBody2D a játékos számára.
A cikkben használt kód itt érhető el GitHub adattár és az MIT licence alapján ingyenesen használható.
Benne CharacterBody2D, add hozzá a CollisionShape2D téglalap alakú és a Sprite2D hogy képviselje a játékos karakterét. Ezenkívül hozzon létre néhány platformot a használatával StaticBody2D csomópontok.
Most hajtsa végre a játékos mozgását és ütközését a képernyő határaival a GDScript segítségével:
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)
Ezzel a kóddal a játékos balra, jobbra, fel és le mozoghat, miközben korlátozva van a képernyő határain belül.
Sötétítse el a jelenet többi részét
A dinamikus világítás hatásának eléréséhez elsötétíteni kell a jelenet többi részét, kivéve a fényforrások által megvilágított területeket. Ezt megteheti a Godot segítségével CanvasModulate funkció.
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)
Csatolja ezt a szkriptet egy újhoz Node2D tette hozzá a jelenet gyökeréhez. A CanvasModulate A csomópont félig áttetsző fekete fedőréteget alkalmaz, elsötétítve az egész jelenetet, kivéve a fényekkel megvilágított területeket.
Hozzon létre egy állandó változót SÖTÉTSÉG, amely meghatározza a jelenetre alkalmazott sötétség intenzitását. Az érték beállításával SÖTÉTSÉG, szabályozhatja, hogy milyen sötét legyen a jelenet, ha nem világítanak meg fények. A magasabb érték sötétebb jelenetet eredményez, míg az alacsonyabb érték kevésbé sötétíti a jelenetet.
Cast Light Shadow
Az árnyékoláshoz be kell állítani LightOccluder2D csomópontok az akadályokon, amelyeknek eltakarniuk kell a fényt. Például, ha falai, platformjai vagy más objektumai vannak, amelyeknek árnyékot kell vetniük, adjon hozzá a LightOccluder2D mindegyikhez.
Újat csinálni LightOccluder2D csomópontot, és állítsa be az alakját, hogy illeszkedjen a játékban lévő akadály alakjához. Beállíthatja az elzáró tulajdonságait is, mint pl sokszögek és szegmensek az árnyékvetítési viselkedés finomhangolásához.
Adjon hozzá Omnidirectional Lights
Most adjunk hozzá a PointLight2D csomópont textúrájával, amely a fényforrást reprezentálja. A pontfények minden irányba fényt bocsátanak ki, és valósághű megvilágítási hatást keltenek.
extends PointLight2D
var light_color = Color(1, 1, 0.8)
func _ready():
energy = 2.5
color = light_color
Testreszabhatja a tulajdonságokat, hogy szabályozza a kibocsátott fény tartományát és színét PointLight2D.
Egyéni világos textúrát is létrehozhat vagy importálhat a fényforrás alakjának és megjelenésének meghatározásához. Ez lehet egy egyszerű kör vagy egy összetettebb forma, attól függően, hogy milyen légkört szeretne létrehozni.
A textúra alkalmazásához a PointLight2D csomópont, kövesse az alábbi lépéseket:
- Válaszd ki a PointLight2D csomópont a jelenetfán.
- Az Inspector panelen keresse meg a Texture tulajdonságot a alatt Struktúra szakasz.
- Kattintson az üres textúra mezőre, és válassza ki a kívánt világos textúrát a fájlböngészőből.
Mostantól a fényforrás a meghatározott formájú és színű fényt bocsát ki, amely vizuálisan vonzó hatást kölcsönöz dinamikus világításának és árnyékainak.
Kiegészítő funkciókkal együtt
A dinamikus világítás és árnyékok alapbeállítása mellett különféle további funkciókat is bevezethet, amelyek tovább emelik a látványt és a játékélményt. Íme néhány megfontolandó ötlet:
Könnyű animációk
Keltse életre fényforrásait animációk hozzáadásával. Létrehozhat például villogó fényeket fáklyákhoz vagy gyertyákhoz, szimulálhatja a tábortűz mozgását, vagy akár pulzáló hatást is adhat a mágikus gömbökhöz.
Nappali-éjszaka ciklus
Valósítson meg egy dinamikus nappali-éjszaka ciklust, amely fokozatosan változtatja a fények intenzitását és színét a játékon belüli idő előrehaladtával. Ez a funkció fokozhatja az elmélyülést, és a napszaktól függően különböző hangulatokat teremthet.
Fény fading
Hozzon létre sima átmeneteket a fényintenzitás változtatásához, hogy elkerülje a hirtelen eltolódásokat, amelyek megszakíthatják a merülést. A fények fokozatos elhalványításával természetesebb és látványosabb hatást érhet el.
Dinamikus árnyékok
Statikus árnyékok használata helyett fontolja meg dinamikus árnyékok hozzáadását a mozgó objektumokhoz vagy karakterekhez. Ezt további fényforrások használatával teheti meg, amelyek követik a karakterek mozgását, és a valós idejű árnyékfrissítés illúzióját keltik.
Szerzői jog-mentes hangeffektusok
A hangeffektusok kulcsfontosságú szerepet játszanak abban, hogy a játék világát élőnek és dinamikusnak érezze. Fontolja meg a beépítést szerzői jog mentes hangeffektusok hogy kiegészítse dinamikus megvilágítását és árnyékait.
A dinamikus világítás és árnyékok bevált gyakorlatai
Míg a dinamikus megvilágítás és árnyékok nagymértékben javíthatják a játékot, a nem megfelelő megvalósítás negatívan befolyásolhatja a teljesítményt és a vizuális minőséget. Íme néhány bevált gyakorlat, amelyet szem előtt kell tartani:
Optimalizálja a fényforrásokat
Korlátozza az aktív fényforrások számát a kívánt vizuális hatás eléréséhez szükséges minimumra. A túlzott fények jelentősen befolyásolhatják a teljesítményt, különösen az alacsonyabb kategóriás eszközökön.
Használjon könnyű sütést
Statikus jelenetek vagy tárgyak esetén a teljesítmény javítása érdekében fontolja meg a világítási információk sütését. A Light Baking előre kiszámítja a világítási adatokat, csökkentve a valós idejű számítások szükségességét a játék során.
Válaszd az egyszerű elzárókat
A beállításkor LightOccluder2D csomópontok, válassza az egyszerű formákat, ahol csak lehetséges. A sok csúcsot tartalmazó összetett elzárók teljesítményproblémákhoz vezethetnek. Használjon egyszerű sokszögeket vagy vonalszakaszokat az elzárókhoz, amikor csak lehetséges.
Selejtezés és rétegezés
Használja a Godot láthatósági és rétegezési rendszerét annak biztosítására, hogy a fényeket és az árnyékokat csak a látható területekre számítsa ki. A képernyőn kívüli fények és árnyékok megszüntetése jelentősen javíthatja a teljesítményt.
Ha követi ezeket a bevált módszereket és gondosan alkalmazza a további funkciókat, lenyűgöző és lenyűgöző dinamikus világítást és árnyékokat hozhat létre, amelyek javítják az általános minőséget. a platformer játékod.
A Godot-játékok vonzóbbá tétele dinamikus világítással és árnyékokkal
A dinamikus világítás és árnyékok életet lehelnek játékvilágodba. Magával ragadóbb és hangulatosabb környezetet teremtenek, mélyebben bevonva a játékosokat a játékélménybe. A fény és az árnyék kölcsönhatása érzelmeket válthat ki, megadhatja a hangot, és fokozhatja a játék vizuális történetmesélését.
Legyen szó titokzatos, sötét börtönről vagy nyugodt, holdfényes éjszakáról, a dinamikus világítás gazdagítja a játékmenetet, és maradandó benyomást hagy a játékosokban.