Πώς να βελτιστοποιήσετε έναν χάρτη στο Hammer Editor: 10 βήματα (με εικόνες)

Πίνακας περιεχομένων:

Πώς να βελτιστοποιήσετε έναν χάρτη στο Hammer Editor: 10 βήματα (με εικόνες)
Πώς να βελτιστοποιήσετε έναν χάρτη στο Hammer Editor: 10 βήματα (με εικόνες)
Anonim

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

Βήματα

Βελτιστοποιήστε έναν χάρτη στο Hammer Editor Βήμα 1
Βελτιστοποιήστε έναν χάρτη στο Hammer Editor Βήμα 1

Βήμα 1. Σφραγίστε τα δωμάτια

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

  • Στο Σχ. 1α, το δωμάτιο προφανώς δεν είναι σφραγισμένο. Εάν συντάξετε αυτόν τον χάρτη με αυτήν τη διαρροή, vvis (το τμήμα της μεταγλώττισης που καθορίζει τα δεδομένα ορατότητας) δεν θα μπορεί να καθορίσει τα όρια του χάρτη, αφού τα visleaves θα "διαρρεύσουν" στο μαύρο κενό έξω από τον χάρτη μας.
  • Στο Σχ. 1β, το δωμάτιο είναι σφραγισμένο και θα μεταγλωττιστεί σωστά.
  • Για να ελέγξετε για διαρροές, βεβαιωθείτε πρώτα ότι υπάρχει τουλάχιστον μία οντότητα στο χάρτη (όπως "info_player_start"), διαφορετικά αυτό δεν θα λειτουργήσει. Αποθηκεύστε και μεταγλωττίστε το BSP πατώντας F9 ή μεταβαίνοντας στο Αρχείο -> Εκτέλεση χάρτη. Επιλέξτε "Κανονικό" για Εκτελέστε το BSP και επιλέξτε "Όχι" και για τα δύο Εκτελέστε VIS και Εκτελέστε το RAD (επίσης φροντίστε να ελέγξετε το "Μην τρέχετε το παιχνίδι μετά τη μεταγλώττιση" κουτί). Μόλις ολοκληρωθεί η μεταγλώττιση, κλείστε το αρχείο καταγραφής μεταγλώττισης και μεταβείτε στο Χάρτης -> Φόρτωση σημείου αρχείου. Εάν υπάρχουν διαρροές, θα σας ζητήσει να επιβεβαιώσετε τη λειτουργία (π. από την πλησιέστερη οντότητα* έξω από την περιοχή της διαρροής. (* Αυτός είναι ο λόγος για τον οποίο χρειάζεστε μια οντότητα, είτε βούρτσα είτε σημείο, στο χάρτη σας. Δεν λειτουργεί με πινέλα κόσμου ή λεπτομέρειας.) Σφραγίστε τη διαρροή, επανασυγκολλήστε BSP και φορτώστε το αρχείο σημείου. Εάν όλα είναι σφραγισμένα, θα πρέπει απλώς να μεταβείτε σε έναν κενό φάκελο στο Steam / steamapps / GAMERTAG / GAME / mapsrc ντοσιέ. Πάντα ελέγχετε για διαρροές πριν από τη δημοσίευση του χάρτη στο κοινό.
Βελτιστοποίηση ενός χάρτη στο Hammer Editor Βήμα 2
Βελτιστοποίηση ενός χάρτη στο Hammer Editor Βήμα 2

Βήμα 2. Δημιουργήστε βούρτσες με το "εργαλεία/εργαλείαεντολή"

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

Βελτιστοποίηση ενός χάρτη στο Hammer Editor Βήμα 3
Βελτιστοποίηση ενός χάρτη στο Hammer Editor Βήμα 3

Βήμα 3. Μειώστε τον αριθμό των πινέλων και των προσώπων

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

Στο Σχ. 3α, υπάρχουν δύο βούρτσες: το ένα στα αριστερά δημιουργήθηκε χρησιμοποιώντας το Arch Tool το οποίο δημιούργησε μια βούρτσα 8 όψεων με 40 όψεις, και αυτή στα δεξιά ήταν κατασκευασμένη από ένα μόνο πινέλο με μόνο 11 όψεις. Το τελευταίο επιτεύχθηκε με τη χρήση του Clipping Tool (Shift + X). Για να επιτευχθεί το τελευταίο, συνιστάται πρώτα να δημιουργήσετε το επιθυμητό γεωμετρικό σχήμα από το Arch Tool πρώτα για αναφορά. Στη συνέχεια, δημιουργήστε μια βούρτσα με το ίδιο μήκος, πλάτος και ύψος με την αψίδα αναφοράς και τοποθετήστε την ελαφρώς πάνω από την αναφορά. Επιλέξτε τη βούρτσα και κόψτε τις γωνίες. (μπορεί να χρειαστεί να αλλάξετε το μέγεθος του πλέγματος ("-" για μείωση, " +" για αύξηση) ή/και να μετακινήσετε χειροκίνητα τις κορυφές (Shift + V) της αψίδας αναφοράς για να ασφαλίσετε στο πλησιέστερο σημείο πλέγματος.) Τώρα έχετε ένα γεωμετρικά πανομοιότυπο πινέλο, αλλά μόνο με λιγότερα πρόσωπα

Βελτιστοποίηση ενός χάρτη στο Hammer Editor Βήμα 4
Βελτιστοποίηση ενός χάρτη στο Hammer Editor Βήμα 4

Βήμα 4. Κάντε καλή χρήση των πινέλων λεπτομερειών

Τα παγκόσμια πινέλα εμποδίζουν την ορατότητα, σφραγίζουν τον χάρτη και χωρίζουν το BSP σε "φύλλα", τα οποία είναι βασικά ο τρόπος του μεταγλωττιστή για να καθορίσει τι μπορεί και τι δεν μπορεί να δει σε οποιαδήποτε δεδομένη στιγμή και τόπο. Οι βούρτσες λεπτομερειών σχεδιάστηκαν για να είναι ουσιαστικά "αόρατες" για τον μεταγλωττιστή. Οι μόνες βούρτσες που πρέπει να είναι παγκόσμιες βούρτσες είναι οι τοίχοι, το πάτωμα και η οροφή ενός δωματίου. Σχεδόν όλα τα άλλα στο δωμάτιο που δεν είναι λειτουργική οντότητα και δεν εμποδίζουν σημαντικά την όραση του παίκτη πρέπει να είναι συνδεδεμένα με μια βούρτσα func_detail (γραβάτα χρησιμοποιώντας Ctrl + T). Δεδομένου ότι οι βούρτσες λεπτομερειών δεν εμποδίζουν την ορατότητα, δεν θα μεταγλωττιστούν vvis υπολογισμούς και δεν θα χωρίσει το χάρτη σε περισσότερα visleaves (κάτι που είναι καλό στις περισσότερες περιπτώσεις). Προειδοποιήστε όμως ότι δεν θα σφραγίσει ούτε τον χάρτη. Απλά βεβαιωθείτε ότι όλα τα πινέλα του κόσμου σφραγίζουν τον χάρτη και δεν πρέπει να υπάρχουν προβλήματα.

Βελτιστοποίηση ενός χάρτη στο Hammer Editor Βήμα 5
Βελτιστοποίηση ενός χάρτη στο Hammer Editor Βήμα 5

Βήμα 5. Χρησιμοποιήστε τις πύλες περιοχής και τις βούρτσες υποδείξεων κατάλληλα

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

Βελτιστοποίηση ενός χάρτη στο Hammer Editor Βήμα 6
Βελτιστοποίηση ενός χάρτη στο Hammer Editor Βήμα 6

Βήμα 6. Χρησιμοποιήστε αποφρακτικά (με φειδώ)

Τα occluders είναι παρόμοια με μια πύλη κλειστής περιοχής, καθώς δεν αποδίδει αυτό που βρίσκεται πίσω από αυτήν. Ωστόσο, είναι διαφορετικό από μια κλειστή περιοχή-πύλη στο ότι δεν χρειάζεται να σφραγίσει ένα δωμάτιο (μπορεί να είναι ανεξάρτητο και να μην αγγίζει τις βούρτσες του κόσμου) και μπλοκάρει μόνο τρισδιάστατα μοντέλα (γνωστά και ως στηρίγματα). Αυτό το εργαλείο είναι πολύ δαπανηρό όσον αφορά τη χρήση της μνήμης, οπότε θα πρέπει να χρησιμοποιείτε αποκλειστές όταν υπάρχει ένα ακριβό μοντέλο 3D πίσω από έναν ανεξάρτητο τοίχο που δεν μπορεί να σφραγιστεί από τα περιοδικά.

Βελτιστοποίηση ενός χάρτη στο Hammer Editor Βήμα 7
Βελτιστοποίηση ενός χάρτη στο Hammer Editor Βήμα 7

Βήμα 7. Προσθέστε κουτιά 3D Sky

Δεν είναι απολύτως απαραίτητο, αλλά θα βοηθήσει τον χάρτη να φαίνεται πολύ μεγαλύτερος χωρίς να επιβραδύνει δραστικά το FPS (καρέ ανά δευτερόλεπτο). Τα τρισδιάστατα skybox γίνονται συνήθως για "μεγάλους" εξωτερικούς χάρτες, αλλά είναι δυνατό να το φτιάξετε για έναν χάρτη εσωτερικού χώρου εάν μπορείτε να δείτε ένα εξωτερικό από ένα παράθυρο ή κάτι τέτοιο. Τα τρισδιάστατα skybox είναι πολύ φθηνά για απόδοση και μπορούν να κάνουν έναν μικρό χάρτη να φαίνεται έως και 16 φορές μεγαλύτερος, αφού τα 3D skyboxes έχουν ρυθμιστεί σε κλίμακα 1/16 στο Hammer και στη συνέχεια κλιμακώνονται κατά τη μεταγλώττιση.

Βελτιστοποίηση ενός χάρτη στο Hammer Editor Βήμα 8
Βελτιστοποίηση ενός χάρτη στο Hammer Editor Βήμα 8

Βήμα 8. Προσθέστε ομίχλη

Σε μεγάλους εξωτερικούς χάρτες, η ομίχλη μπορεί να περιορίσει τον αριθμό των λεπτομερειών που αποδίδονται και μπορεί να κάνει τον χάρτη σας να φαίνεται πιο ρεαλιστικός στη διαδικασία. Απλώς προσθέστε μια οντότητα env_fog_controller στο χάρτη σας. Στην επιλογή "Ενεργοποίηση ομίχλης" στο Ιδιότητες αντικειμένου καρτέλα, επιλέξτε "Ναι". Στη συνέχεια, επεξεργαστείτε το Far Z Clip Plane κατά την προτίμησή σας, η οποία θα αφαιρέσει όλες τις βούρτσες μετά από αυτήν την απόσταση, εξαλείφοντας τον κινητήρα που καθιστά περιττά αντικείμενα (The Far Z Clip Plane η τιμή πρέπει να είναι μεγαλύτερη από την Τέλος ομίχλης αξία).

Βελτιστοποίηση ενός χάρτη στο Hammer Editor Βήμα 9
Βελτιστοποίηση ενός χάρτη στο Hammer Editor Βήμα 9

Βήμα 9. Μην τρελαίνεστε στην Κλίμακα Lightmap

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

Βελτιστοποίηση ενός χάρτη στο Hammer Editor Βήμα 10
Βελτιστοποίηση ενός χάρτη στο Hammer Editor Βήμα 10

Βήμα 10. Εάν ο χάρτης σας έχει νερό, τοποθετήστε μια οντότητα "water_lod_control" στο χάρτη

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

Συμβουλές

  • Οι μετατοπίσεις δεν εμποδίζουν την ορατότητα, οπότε για να βεβαιωθείτε ότι ο χάρτης είναι σφραγισμένος, δημιουργήστε ένα παγκόσμιο πινέλο με το εργαλεία/εργαλείαnodraw υφή κάτω από τη μετατόπιση και σφραγίστε τον χάρτη με αυτόν (δηλαδή οι γωνίες αυτού του πινέλου αγγίζουν τις γωνίες του skybox). Όπως και στο πρώτο βήμα, βεβαιωθείτε πάντα ότι ο χάρτης είναι σφραγισμένος, αλλιώς σχεδόν κάθε τεχνική βελτιστοποίησης που αναφέρθηκε πετιέται από το παράθυρο και στο μαύρο κενό της μηχανής Πηγή.
  • Κατά τη δημιουργία πύλη περιοχής (δημιουργώντας ένα πινέλο με υφή με εργαλεία/εργαλείααναφορά και συνδέοντάς το με το func_areaportal), είναι πολύ σημαντικό οι πλευρές μιας πύλης περιοχής που δεν βλέπονται να αγγίζουν τις βούρτσες του κόσμου. Για παράδειγμα, εάν θέλετε να τοποθετήσετε μια πύλη περιοχής σε μια πόρτα, αλλά αυτή η πόρτα έχει ένα πλαίσιο δεμένο με func_detail, θα δεν αφήστε την πινακίδα περιοχής να αγγίξει το πλαίσιο της πόρτας επειδή είναι func_detail (και επειδή οι βούρτσες func_detail δεν επηρεάζουν την ορατότητα, το αρχείο καταγραφής μεταγλώττισης θα επιστρέψει με διαρροή). Αντ 'αυτού, η τοπική βούρτσα θα πρέπει να αγγίζει τους τοίχους, την οροφή και το πάτωμα της πόρτας (που θα πρέπει να είναι όλα βουρτσάκια), τέμνοντας το πλαίσιο της πόρτας. Μην ανησυχείτε ότι μπορεί να υπάρχει "z-clipping" γύρω από το πλαίσιο της πόρτας. το πλαίσιο εξακολουθεί να αποδίδεται σωστά στο παιχνίδι. Το Το είναι απλώς εκεί στον επεξεργαστή Hammer για χρήση του μεταγλωττιστή κατά τη διάρκεια vvis.
  • Αυτό το άρθρο προϋποθέτει ότι έχετε βασικές γνώσεις για τη διεπαφή του Hammer Editor (δημιουργία πινέλων, τοποθέτηση οντοτήτων, δέσιμο οντοτήτων κ.λπ.).
  • Κατά τη δημιουργία πινέλων, υφή μόνο των προσώπων που λειτουργούν ως επίπεδα υποδείξεων (τα πρόσωπα που θα χωρίσουν το BSP) με το εργαλεία/εργαλειοθήκη υφή. Υφή κάθε άλλο πρόσωπο στο πινέλο δεν λειτουργεί ως ένα επίπεδο υπόδειξη με εργαλεία/εργαλειοθήκη, διαφορετικά θα δημιουργήσετε περισσότερα visleafs από ό, τι θέλετε.
  • Μπορείτε να συνδέσετε την Ανοιχτή/Κλειστή κατάσταση μιας πύλης περιοχής με μια πόρτα εργασίας, όπως ένα func_door, func_door_rotating ή μια παρόμοια οντότητα. Για να το κάνετε αυτό, η πόρτα στην οποία θέλετε να συνδεθεί το περιοδικό περιοχής χρειάζεται ένα μοναδικό "όνομα". (Δώστε το όνομα κάνοντας διπλό κλικ στην πόρτα για να ανοίξει Ιδιότητες αντικειμένου παράθυρο και δώστε του ένα απλό όνομα κάτω Ονομα στην καρτέλα Πληροφορίες κλάσης.) Μόλις ορίσετε την πόρτα, μεταβείτε στην περιοχή της πύλης Ιδιότητες αντικειμένου και κάντε κύλιση προς τα κάτω στο "Όνομα της συνδεδεμένης πόρτας" και επιλέξτε την πόρτα στην οποία θέλετε να συνδέσετε την πύλη περιοχής. Επίσης (και αυτό είναι πολύ σημαντικό) πρέπει να ρυθμίσετε το Αρχική κατάσταση της περιοχήςπύλη προς το Αρχική κατάσταση της πόρτας. Αυτό που κάνει είναι να διασφαλίσει ότι όταν η πόρτα είναι κλειστή, η τοπική πύλη κλείνει με αυτήν. Εάν είστε περίεργοι για το τι ακριβώς υπαγορεύουν οι καταστάσεις ανοικτής/κλειστής περιοχής πύλης, εάν μια πύλη περιοχής είναι ανοικτή, αποδίδονται όλα τα visleave που είναι ορατά από την άλλη πλευρά της περιοχής. Αντιθέτως, εάν η περιοδική περιοχή είναι κλειστή, τότε τίποτα πέρα από την περιοχή δεν θα αποδίδεται. Έτσι, εάν υπάρχει ένας ανοιχτός διάδρομος στον οποίο θα μπορείτε πάντα να βλέπετε, το Αρχική κατάσταση της περιοχής -πύλης πρέπει να οριστεί σε Άνοιγμα και όχι Κλειστό. Και όταν είστε συνδεδεμένοι με μια πόρτα, δεν θα μπορείτε να βλέπετε την πόρτα ούτως ή άλλως, οπότε ορίστε την στο Κλειστό εάν η πόρτα γεννήσει κλειστή (εκτός εάν έχει ένα διαφανές παράθυρο, το οποίο στη συνέχεια θα πρέπει να ορίσετε την τοπική πύλη να ανοίξει και να μην Δεν μπαίνω καν στον κόπο να το συνδέσω με την πόρτα).

Προειδοποιήσεις

  • Ποτέ μην κάνετε μια περίπλοκη βούρτσα με το Hollow Tool. Οι κορυφές (γωνίες των πινέλων) θα τέμνονται μεταξύ τους και θα δημιουργήσουν απλώς ένα μεγάλο ατημέλητο χάος.
  • Χρησιμοποιήστε μόνο τα αποφρακτικά ως έσχατη λύση. Είναι πολύ εντατικό στη μνήμη, οπότε εάν ένα στήριγμα μπορεί να σφραγισθεί σε ένα δωμάτιο με πύλες περιοχής ή εάν είναι δυνατόν να χωρίσετε τα visleaves με υπαινιγμούς και να παραλείψετε βούρτσες, τότε εξαιρεθείτε από τη χρήση αποφράξεων.
  • Οι ανοιχτές πύλες περιοχής είναι πολύ πιο απαιτητικές για τη μνήμη, επειδή τα visleave υπολογίζονται σε πραγματικό χρόνο. Συνιστάται να χρησιμοποιείτε είτε κλειστές πύλες περιοχής είτε πινέλα υποδείξεων όσο το δυνατόν συχνότερα.

Συνιστάται: