Μάθετε πώς να δημιουργείτε τα δικά σας εφέ φωτισμού για να φωτίσετε τα παιχνίδια σας.

Ο δυναμικός φωτισμός και οι σκιές μπορούν να βελτιώσουν την οπτική ποιότητα και την εμπειρία παιχνιδιού των παιχνιδιών Godot. Προσθέτουν βάθος, ατμόσφαιρα και ρεαλισμό, κάνοντας τον κόσμο του παιχνιδιού σας πιο καθηλωτικό και ελκυστικό.

Με τις ισχυρές δυνατότητες του Godot, όπως το CanvasModulate και το PointLight2D, η δημιουργία και η προσαρμογή δυναμικού φωτισμού και σκιών είναι μια εύκολη δουλειά.

Ρύθμιση του παιχνιδιού Γκοντό

Πριν βουτήξετε στον δυναμικό φωτισμό, δημιουργήστε ένα βασικό παιχνίδι 2D η μηχανή παιχνιδιών Γκοντό. Δημιουργήστε μια νέα σκηνή και προσθέστε ένα CharacterBody2D για τον παίκτη.

Ο κώδικας που χρησιμοποιείται σε αυτό το άρθρο είναι διαθέσιμος σε αυτό Αποθετήριο GitHub και είναι δωρεάν για χρήση βάσει της άδειας MIT.

μεσα στην CharacterBody2D, πρόσθεσε ένα CollisionShape2D με ορθογώνιο σχήμα και α Sprite2D να αντιπροσωπεύει τον χαρακτήρα του παίκτη. Επίσης, δημιουργήστε μερικές πλατφόρμες χρησιμοποιώντας StaticBody2D κόμβους.

instagram viewer

Τώρα, εφαρμόστε την κίνηση και τη σύγκρουση του παίκτη με τα όρια της οθόνης χρησιμοποιώντας το GDScript:

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)

Με αυτόν τον κωδικό, η συσκευή αναπαραγωγής μπορεί να μετακινηθεί αριστερά, δεξιά, πάνω και κάτω ενώ περιορίζεται εντός των ορίων της οθόνης.

Darken the Rest of the Scene

Για να επιτύχετε το εφέ του δυναμικού φωτισμού, πρέπει να σκουρύνετε την υπόλοιπη σκηνή εκτός από τις περιοχές που φωτίζονται από τις πηγές φωτός. Μπορείτε να το κάνετε αυτό χρησιμοποιώντας το Godot's CanvasModulate χαρακτηριστικό.

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)

Επισυνάψτε αυτό το σενάριο σε ένα νέο Node2D προστέθηκε στη ρίζα της σκηνής. ο CanvasModulate Ο κόμβος θα εφαρμόσει μια ημιδιαφανή μαύρη επικάλυψη, σκουρύνοντας ολόκληρη τη σκηνή εκτός από τις περιοχές που φωτίζονται από φώτα.

Δημιουργήστε μια σταθερή μεταβλητή ΣΚΟΤΑΔΙ, το οποίο καθορίζει την ένταση του σκοταδιού που εφαρμόζεται στη σκηνή. Προσαρμόζοντας την τιμή του ΣΚΟΤΑΔΙ, μπορείτε να ελέγξετε πόσο σκοτεινή γίνεται η σκηνή όταν δεν φωτίζεται από φώτα. Μια υψηλότερη τιμή θα έχει ως αποτέλεσμα μια πιο σκοτεινή σκηνή, ενώ μια χαμηλότερη τιμή θα κάνει τη σκηνή λιγότερο σκοτεινή.

Cast Light Shadow

Για να ρίξετε σκιές, πρέπει να ρυθμίσετε LightOccluder2D κόμβους σε εμπόδια που θα πρέπει να μπλοκάρουν το φως. Για παράδειγμα, εάν έχετε τοίχους, πλατφόρμες ή άλλα αντικείμενα που θα πρέπει να κάνουν σκιές, προσθέστε a LightOccluder2D στον καθένα.

Δημιούργησε ένα νέο LightOccluder2D κόμβο και προσαρμόστε το σχήμα του ώστε να ταιριάζει με το σχήμα του εμποδίου στο παιχνίδι σας. Μπορείτε επίσης να προσαρμόσετε τις ιδιότητες του αποφρακτήρα όπως πολύγωνα και τμήματα για να τελειοποιήσετε τη συμπεριφορά σκίασης.

Προσθέστε πανκατευθυντικά φώτα

Τώρα, προσθέστε ένα PointLight2D κόμβος με υφή που αντιπροσωπεύει την πηγή φωτός σας. Τα σημειακά φώτα εκπέμπουν φως προς όλες τις κατευθύνσεις και δημιουργούν ένα ρεαλιστικό εφέ φωτισμού.

extends PointLight2D

var light_color = Color(1, 1, 0.8)

func _ready():
energy = 2.5
color = light_color

Μπορείτε να προσαρμόσετε τις ιδιότητες για να ελέγχετε το εύρος και το χρώμα του φωτός που εκπέμπεται από το PointLight2D.

Μπορείτε επίσης να δημιουργήσετε ή να εισαγάγετε μια προσαρμοσμένη ελαφριά υφή για να καθορίσετε το σχήμα και την εμφάνιση της πηγής φωτός σας. Θα μπορούσε να είναι ένας απλός κύκλος ή ένα πιο περίπλοκο σχήμα, ανάλογα με την ατμόσφαιρα που θέλετε να δημιουργήσετε.

Για να εφαρμόσετε την υφή στο PointLight2D κόμβο, ακολουθήστε τα εξής βήματα:

  1. Επίλεξε το PointLight2D κόμβος στο δέντρο σκηνής.
  2. Στον πίνακα Inspector, εντοπίστε την ιδιότητα Texture κάτω από το Υφή Ενότητα.
  3. Κάντε κλικ στο κενό πλαίσιο υφής και επιλέξτε την επιθυμητή ελαφριά υφή από το πρόγραμμα περιήγησης αρχείων.

Τώρα, η πηγή φωτός σας θα εκπέμπει φως με το καθορισμένο σχήμα και χρώμα, προσθέτοντας μια οπτικά ελκυστική πινελιά στο δυναμικό φωτισμό και τις σκιές σας.

Συμπεριλαμβανομένων πρόσθετων χαρακτηριστικών

Εκτός από τη βασική ρύθμιση του δυναμικού φωτισμού και των σκιών, μπορείτε να εισαγάγετε διάφορες πρόσθετες λειτουργίες για να αναβαθμίσετε περαιτέρω την οπτική απήχηση και την εμπειρία παιχνιδιού. Ακολουθούν μερικές ιδέες που πρέπει να λάβετε υπόψη:

Φως κινούμενα σχέδια

Δώστε ζωή στις πηγές φωτός σας προσθέτοντας κινούμενες εικόνες σε αυτές. Για παράδειγμα, μπορείτε να δημιουργήσετε φώτα που τρεμοπαίζουν για δάδες ή κεριά, να προσομοιώσετε την κίνηση μιας φωτιάς ή ακόμα και να προσθέσετε ένα παλλόμενο εφέ σε μαγικές σφαίρες.

Κύκλος ημέρας-νύχτας

Εφαρμόστε έναν δυναμικό κύκλο ημέρας-νύχτας που αλλάζει σταδιακά την ένταση και το χρώμα των φώτων καθώς προχωρά η ώρα του παιχνιδιού. Αυτό το χαρακτηριστικό μπορεί να βελτιώσει την εμβάπτιση και να δημιουργήσει διαφορετικές διαθέσεις ανάλογα με την ώρα της ημέρας.

Ελαφρύ ξεθώριασμα

Δημιουργήστε ομαλές μεταβάσεις για αλλαγές στην ένταση του φωτός για να αποφύγετε απότομες μετατοπίσεις που μπορεί να σπάσουν τη βύθιση. Εξασθενίζοντας σταδιακά τα φώτα μέσα και έξω, μπορείτε να επιτύχετε ένα πιο φυσικό και οπτικά ευχάριστο αποτέλεσμα.

Δυναμικές σκιές

Αντί να χρησιμοποιείτε στατικές σκιές, σκεφτείτε να προσθέσετε δυναμικές σκιές σε κινούμενα αντικείμενα ή χαρακτήρες. Μπορείτε να το κάνετε αυτό χρησιμοποιώντας πρόσθετες πηγές φωτός που ακολουθούν την κίνηση των χαρακτήρων, δίνοντας την ψευδαίσθηση ενημερώσεων σκιών σε πραγματικό χρόνο.

Ηχητικά εφέ χωρίς πνευματικά δικαιώματα

Τα ηχητικά εφέ παίζουν καθοριστικό ρόλο στο να κάνετε τον κόσμο του παιχνιδιού σας να αισθάνεται ζωντανός και δυναμικός. Σκεφτείτε να ενσωματώσετε ηχητικά εφέ χωρίς πνευματικά δικαιώματα για να συμπληρώσει τον δυναμικό φωτισμό και τις σκιές σας.

Βέλτιστες πρακτικές για δυναμικό φωτισμό και σκιές

Ενώ ο δυναμικός φωτισμός και οι σκιές μπορούν να βελτιώσουν σημαντικά το παιχνίδι σας, η ακατάλληλη εφαρμογή μπορεί να επηρεάσει αρνητικά την απόδοση και την οπτική ποιότητα. Ακολουθούν ορισμένες βέλτιστες πρακτικές που πρέπει να έχετε κατά νου:

Βελτιστοποιήστε τις πηγές φωτός

Περιορίστε τον αριθμό των ενεργών πηγών φωτός στο ελάχιστο απαραίτητο για το επιθυμητό οπτικό αποτέλεσμα. Τα υπερβολικά φώτα μπορούν να επηρεάσουν σημαντικά την απόδοση, ειδικά σε συσκευές χαμηλού επιπέδου.

Χρησιμοποιήστε ελαφρύ ψήσιμο

Για στατικές σκηνές ή αντικείμενα, εξετάστε το ενδεχόμενο να ψήσετε τις πληροφορίες φωτισμού για να βελτιώσετε την απόδοση. Το ελαφρύ ψήσιμο προϋπολογίζει τα δεδομένα φωτισμού, μειώνοντας την ανάγκη για υπολογισμούς σε πραγματικό χρόνο κατά τη διάρκεια του παιχνιδιού.

Επιλέξτε απλούς αποφρακτήρες

Κατά τη ρύθμιση LightOccluder2D κόμβους, επιλέξτε απλά σχήματα όπου είναι δυνατόν. Οι σύνθετοι αποφρακτήρες με πολλές κορυφές μπορούν να οδηγήσουν σε προβλήματα απόδοσης. Χρησιμοποιήστε απλά πολύγωνα ή τμήματα γραμμής για αποφράκτες όποτε είναι εφικτό.

Culling και Layering

Χρησιμοποιήστε το σύστημα ορατότητας και στρώσεων του Godot για να διασφαλίσετε ότι τα φώτα και οι σκιές υπολογίζονται μόνο για ορατές περιοχές. Η εξάλειψη των φώτων και των σκιών εκτός οθόνης μπορεί να βελτιώσει σημαντικά την απόδοση.

Ακολουθώντας αυτές τις βέλτιστες πρακτικές και εφαρμόζοντας προσεκτικά πρόσθετες λειτουργίες, μπορείτε να δημιουργήσετε εκπληκτικό και συναρπαστικό δυναμικό φωτισμό και σκιές που αναβαθμίζουν τη συνολική ποιότητα του το παιχνίδι εξόδου σας.

Κάνετε τα παιχνίδια Godot πιο ελκυστικά με το δυναμικό φωτισμό και τις σκιές

Ο δυναμικός φωτισμός και οι σκιές δίνουν ζωή στον κόσμο του παιχνιδιού σας. Δημιουργούν ένα πιο καθηλωτικό και ατμοσφαιρικό περιβάλλον, τραβώντας τους παίκτες πιο βαθιά στην εμπειρία του παιχνιδιού. Η αλληλεπίδραση φωτός και σκιάς μπορεί να προκαλέσει συναισθήματα, να δώσει τον τόνο και να ενισχύσει την οπτική αφήγηση του παιχνιδιού σας.

Είτε πρόκειται για ένα μυστηριώδες σκοτεινό μπουντρούμι είτε για μια γαλήνια νύχτα με φεγγάρι, ο δυναμικός φωτισμός εμπλουτίζει το παιχνίδι και αφήνει μια μόνιμη εντύπωση στους παίκτες.