Τι είναι η κανονική χαρτογράφηση;
Στα τρισδιάστατα γραφικά υπολογιστή, δεν χρειάζεται να γίνει μοντελοποίηση ή σμίλευση κάθε λεπτομέρειας ενός μοντέλου 3D στη γεωμετρία του οχήματος, χάρη στην κανονική χαρτογράφηση (normal mapping). Αυτή η τεχνική χρησιμοποιείται για τη δημιουργία της ψευδαίσθησης λεπτομερειών μιας επιφάνειας, ώστε να ενισχύσει τον ρεαλισμό ψηφιακών αντικειμένων χωρίς να αυξηθεί η γεωμετρική πολυπλοκότητα.
Κατανόηση της διαδικασίας της κανονικής χαρτογράφησης.
Στη μοντελοποίηση 3D, οι επιφάνειες αναπαριστώνται με πολύγωνα. Οι υπολογισμοί φωτισμού εκτελούνται με βάση τη γεωμετρία αυτών των πολυγώνων, όπως ένας καλλιτέχνης θα χρησιμοποιούσε τεχνικές σκίασης, για να μιμηθεί τις τρεις διαστάσεις. Αυτή η προσέγγιση λειτουργεί πολύ καλά, όμως μπορεί να απαιτεί πολλούς υπολογιστικούς πόρους, περιορίζοντας το συνολικό επίπεδο λεπτομερειών που είναι εφικτό. Η κανονική χαρτογράφηση αποτελεί μια εξαιρετική, ελαφριά λύση καθώς τροποποιεί τον τρόπο με τον οποίο το φως αλληλεπιδρά με μια επιφάνεια χωρίς να τροποποιηθεί η υποκείμενη γεωμετρία.
Οι κανονικές χαρτογραφήσεις αποθηκεύουν πληροφορίες σχετικά με μια επιφάνεια με τη μορφή μιας εικόνας υφής. Με την κωδικοποίηση της κανονικής (κάθετης) επιφάνειας σε μια υφή, οι κανονικοί χάρτες μπορούν να προσομοιώσουν την εμφάνιση λεπτομερειών της επιφάνειας, όπως προεξοχές, γρατσουνιές, ρυτίδες και άλλα, χωρίς να προστίθεται πολυπλοκότητα στην υποκείμενη γεωμετρία.
Οι κανονικοί χάρτες υπολογίζονται κατά την εκτέλεση απόδοσης χρησιμοποιώντας την τροποποιημένη κανονική (κάθετη) επιφάνεια από τον κανονικό χάρτη. Επειδή αυτοί οι υπολογισμοί έχουν μικρότερες υπολογιστικές απαιτήσεις, μπορούν να επιτευχθούν υψηλά επίπεδα λεπτομερειών, ακόμα και σε πραγματικό χρόνο, καθιστώντας τον κανονικό χάρτη μια δημοφιλή τεχνική που χρησιμοποιείται από τους προγραμματιστές βιντεοπαιχνιδιών.
Πού βλέπουμε κανονική χαρτογράφηση σήμερα.
Γενικά, η κανονική χαρτογράφηση είναι μια ευέλικτη τεχνική και θα έπρεπε να χρησιμοποιείται από κάθε καλλιτέχνη και σχεδιαστή 3D, για να επιταχύνει και να βελτιώσει τη ροή εργασιών του.
Θα δείτε την κανονική χαρτογράφηση να εφαρμόζεται όχι μόνο σε σενάρια όπου οι περιορισμοί λόγω υλικού εξοπλισμού είναι εξαιρετικά σημαντικοί, όπως στα βιντεοπαιχνίδια, όπου απαιτείται απόδοση σκηνών σε πραγματικό χρόνο για τον gamer, αλλά επίσης και σε ταινίες με γραφικά υπολογιστή, σε αρχιτεκτονικές οπτικοποιήσεις και στη σχεδίαση προϊόντων.
Η κανονική χαρτογράφηση δεν επηρεάζει τον χρωματισμό ενός αντικειμένου, επομένως θα τη δείτε να χρησιμοποιείται πιο συχνά σε περιπτώσεις στις οποίες η επιφάνεια ενός αντικειμένου δεν είναι εντελώς ίσια ή λεία. Αυτό σημαίνει ότι σχεδόν κάθε μοντέλο 3D θα μπορούσε να χρησιμοποιεί έναν κανονικό χάρτη, για να βελτιώσει τον ρεαλισμό, από φθαρμένο δέρμα, νερά ξύλου με προεξοχές, ανθρώπινο δέρμα, ύφασμα και άλλα.
Υπάρχουν αρκετά σημαντικά εργαλεία και προγράμματα λογισμικού που χρησιμοποιούνται συχνά για κανονική χαρτογράφηση. Ακολουθούν μερικά από αυτά:
1. Λογισμικό μοντελοποίησης 3D: Εργαλεία όπως τα Blender, Maya, ZBrush και {{substance-3d-modeler}} χρησιμοποιούνται για τη δημιουργία των μοντέλων που θα χρησιμοποιηθούν για κανονική χαρτογράφηση. Υπάρχουν πολλές εξαιρετικές λύσεις λογισμικού που φέρνουν τις δικές τους προσεγγίσεις όσον αφορά τη μοντελοποίηση και τη σμίλευση.
2. Λογισμικό χρωματισμού υφής: Λογισμικό όπως το {{substance-3d-painter}} ή το Adobe Photoshop μπορεί να χρησιμοποιηθεί για τη δημιουργία και επεξεργασία χαρτών υφής, συμπεριλαμβανομένων κανονικών χαρτών.
3. Εργαλεία παραγωγής κανονικού χάρτη: Το λογισμικό παραγωγής κανονικού χάρτη συνεισφέρει στη δημιουργία κανονικών χαρτών από γεωμετρικά στοιχεία υψηλής ανάλυσης ή πληροφορίες υφής. Εργαλεία όπως τα xNormal, CrazyBump ή Substance 3D Designer μπορούν να δημιουργήσουν κανονικούς χάρτες με βάση διάφορα στοιχεία εισόδου.
4. Μηχανές βιντεοπαιχνιδιών: Μηχανές βιντεοπαιχνιδιών όπως οι Unreal Engine και Unity έχουν ενσωματωμένη υποστήριξη για κανονική χαρτογράφηση. Αυτές οι μηχανές παρέχουν απαραίτητα εργαλεία και δυνατότητες απόδοσης, για να μπορούν να αξιοποιήσουν τους κανονικούς χάρτες. Είναι εξίσου καλές για τη δημιουργία αποδόσεων, όπως και για τη δημιουργία εμπειριών παιχνιδιού.
5. Γλώσσες προγραμματισμού εργαλείου σκίασης: Η κατανόηση γλωσσών προγραμματισμού εργαλείων σκίασης όπως η HLSL (High-Level Shading Language) ή η GLSL (OpenGL Shading Language) μπορεί να είναι χρήσιμη για τη δημιουργία προσαρμοσμένων εργαλείων σκίασης που αξιοποιούν την κανονική χαρτογράφηση. Οι γλώσσες αυτές επιτρέπουν στους προγραμματιστές να ορίσουν το πώς αλληλεπιδρά ο φωτισμός με τον κανονικό και άλλους χάρτες υφής, για να επιτευχθούν εκπληκτικά οπτικά εφέ.
Η λίστα αυτή ίσως δεν είναι πλήρης, αλλά προσφέρει στους δημιουργούς ένα πολύ καλό σημείο για να ξεκινήσουν να διαμορφώνουν μια βασική κατανόηση της κανονικής χαρτογράφησης και του τρόπου υλοποίησης σε περιβάλλοντα απόδοσης σε πραγματικό χρόνο.
Εικόνες: Playground Games.
Σε τι διαφέρουν οι κανονικοί χάρτες από τους χάρτες προεξοχών.
Οι κανονικοί χάρτες αποθηκεύουν συγκεκριμένες πληροφορίες κανονικής (κάθετης) επιφάνειας χρησιμοποιώντας εικόνες RGB στις οποίες κάθε κανάλι χρώματος αντιπροσωπεύει τις συνιστώσες X, Y και Z του διανύσματος της κανονικής (κάθετης) επιφάνειας σε κάθε texel (στοιχείο υφής). Οι κανονικοί χάρτες αποτυπώνουν πολύ περισσότερες πληροφορίες σχετικά με τον προσανατολισμό μιας επιφάνειας. Οι κανονικοί χάρτες δεν επηρεάζουν τη γεωμετρία του μοντέλου, αλλά τροποποιούν τον τρόπο με τον οποίο αλληλεπιδρά το φως γύρω του.
Σε σύγκριση με τους χάρτες προεξοχών, οι κανονικοί χάρτες παρέχουν τα πιο ακριβή αποτελέσματα, αποτυπώνοντας λεπτομέρειες επιφάνειας και όχι μόνο διακυμάνσεις ύψους.
Πλεονεκτήματα και μειονεκτήματα της κανονικής χαρτογράφησης.
1. Ρεαλιστικές λεπτομέρειες επιφάνειας: Η κανονική χαρτογράφηση επιτρέπει προσθήκη αναλυτικών λεπτομερειών επιφάνειας χωρίς να αυξάνεται η πολυπλοκότητα της γεωμετρίας.
2. Αποτελεσματικότητα: Η κανονική χαρτογράφηση είναι αποτελεσματική όσον αφορά τους υπολογιστικούς πόρους, ειδικά σε σύγκριση με τους αυξανόμενους αριθμούς πολυγώνων στα μοντέλα, για να επιτευχθούν οι λεπτομέρειες της επιφάνειας.
3. Μείωση απαιτήσεων μνήμης: Οι κανονικοί χάρτες αποθηκεύουν πληροφορίες σε μια μορφή υφής, πράγμα που συνήθως χρησιμοποιεί λιγότερη μνήμη σε σύγκριση με την αποθήκευση πληροφοριών γεωμετρίας.
4. Δυνατότητα επαναχρησιμοποίησης: Οι κανονικοί χάρτες μπορούν να εφαρμοστούν με ευκολία σε διαφορετικά μοντέλα, και αυτό επιτρέπει σε καλλιτέχνες και προγραμματιστές να τους επαναχρησιμοποιήσουν πολλές φορές. Έτσι, εξοικονομείται χρόνος και προσπάθεια και μειώνεται το τελικό μέγεθος ενός προϊόντος.
5. Εφέ αλληλεπίδρασης φωτισμού: η κανονική χαρτογράφηση βελτιώνει την αλληλεπίδραση του φωτός με ένα μοντέλο, επιτρέπει εφέ δυναμικού φωτισμού 3D, όπως κατοπτρικό τονισμό, διακυμάνσεις σκίασης και πιο ακριβείς αντανακλάσεις.
1. Περιορισμένη τροποποίηση γεωμετρίας: Οι κανονικοί χάρτες επηρεάζουν μόνο την εμφάνιση λεπτομερειών της επιφάνειας και δεν είναι σε θέση να τροποποιήσουν τη γεωμετρία. Η ψευδαίσθηση που δημιουργούν μπορεί συχνά να είναι χρήσιμη, αν και συχνά μπορεί να χρειάζονται και άλλες τεχνικές όταν απαιτείται πραγματική τροποποίηση της γεωμετρίας.
2. Δημιουργία και επεξεργασία: Η δημιουργία κανονικών χαρτών υψηλής ποιότητας μπορεί να είναι δύσκολη και απαιτεί ειδικευμένες γνώσεις και λογισμικό. Η επεξεργασία κανονικών χαρτών μπορεί να είναι δύσκολη λόγω της περίπλοκης φύσης των δεδομένων.
3. Περιορισμοί χώρου υφής: Οι κανονικοί χάρτες απαιτούν πρόσθετο χώρο υφής, αφού συνήθως αποθηκεύονται ως εικόνες RGB. Αυτό μπορεί να επηρεάσει τη συνολική χρήση μνήμης και σε ορισμένες περιπτώσεις ενδέχεται να απαιτεί προσεκτική βελτιστοποίηση.
4. Περιορισμοί χώρου εφαπτομένων: Οι κανονικοί χάρτες συνήθως ορίζονται σε χώρο εφαπτομένων, που σημαίνει ότι εξαρτώνται από τον προσανατολισμό ενός μοντέλου και από τις συντεταγμένες UV. Αυτό μπορεί κάποιες φορές να προκαλέσει οπτικά τεχνουργήματα κατά την εφαρμογή του ίδιου κανονικού χάρτη σε μοντέλα με διαφορετικές διατάξεις UV ή προσανατολισμούς.
Παρά τους κάποιους περιορισμούς, οι κανονικοί χάρτες είναι η πιο αποτελεσματική τεχνική για βελτίωση της οπτικής ποιότητας και του ρεαλισμού των μοντέλων 3D σε πραγματικό χρόνο. Η κανονική χαρτογράφηση προσφέρει μια υγιή ισορροπία ανάμεσα στην αποτελεσματικότητα και την οπτική πιστότητα, καθιστώντας την ένα πολύτιμο εργαλείο για τη δημιουργία υφών 3D και την απόδοση.
Πότε να χρησιμοποιήσετε την κανονική χαρτογράφηση.
Μάθετε περισσότερα για την κανονική χαρτογράφηση.
Συχνές ερωτήσεις
ΤΙ ΕΙΝΑΙ Ο ΚΑΝΟΝΙΚΟΣ ΧΑΡΤΗΣ ΣΤΗ ΣΧΕΔΙΑΣΗ ΒΙΝΤΕΟΠΑΙΧΝΙΔΙΩΝ;
ΠΟΣΑ ΚΑΝΑΛΙΑ ΥΠΑΡΧΟΥΝ ΣΕ ΕΝΑΝ ΚΑΝΟΝΙΚΟ ΧΑΡΤΗ;
Οι κανονικοί χάρτες δημιουργούνται χρησιμοποιώντας μια εικόνα RGB (κόκκινο, πράσινο, μπλε), όπου κάθε κανάλι χρώματος στην εικόνα αντιπροσωπεύει τη συνιστώσα X, Y και Z της κανονικής (κάθετης) επιφάνειας σε κάθε texel (στοιχείο υφής) του χάρτη. Αυτό σημαίνει ότι ένας κανονικός χάρτης έχει τρία κανάλια, κάθε ένα από τα οποία περιέχει θετικές ή αρνητικές τιμές.
- Το κόκκινο κανάλι (R) αντιστοιχεί στη συνιστώσα X του διανύσματος της κανονικής (κάθετης) επιφάνειας.
- Το πράσινο κανάλι (G) αντιστοιχεί στη συνιστώσα Y του διανύσματος της κανονικής (κάθετης) επιφάνειας.
- Το μπλε κανάλι (B) αντιστοιχεί στη συνιστώσα Z του διανύσματος της κανονικής (κάθετης) επιφάνειας.
Τα τρία κανάλια χρησιμοποιούνται μαζί για να παρασχεθούν αναλυτικά δεδομένα προσανατολισμού για κάθε texel, το οποίο χρησιμοποιείται κατά την εκτέλεση απόδοσης, για να βελτιωθούν τα εφέ φωτισμού και σκίασης στο μοντέλο 3D.
ΓΙΑΤΙ ΟΝΟΜΑΖΕΤΑΙ «ΚΑΝΟΝΙΚΟΣ ΧΑΡΤΗΣ»;
Στα γραφικά των υπολογιστών, ο όρος «κανονικό» αναφέρεται σε ένα διάνυσμα που είναι κάθετο (ή «κανονικό») σε μια επιφάνεια σε κάποιο συγκεκριμένο σημείο. Έτσι, χρησιμοποιούμε για αυτούς τους χάρτες την ονομασία «κανονικοί χάρτες» επειδή αποθηκεύουν πληροφορίες σχετικά με τις κανονικές (κάθετες) επιφάνειες του μοντέλου 3D.
Με την εφαρμογή ενός κανονικού χάρτη κατά την εκτέλεση απόδοσης, οι κανονικές (κάθετες) επιφάνειες του μοντέλου 3D τροποποιούνται με βάση τις πληροφορίες που είναι αποθηκευμένες στον χάρτη, με αποτέλεσμα να εφαρμόζονται εφέ φωτισμού και σκίασης που δημιουργούν την ψευδαίσθηση αναλυτικών λεπτομερειών στην επιφάνεια.