Βήμα 5: Σημεία πορείας

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

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

Ανοίξτε τη σκηνή στον SceneEdit και επιλέξτε από τη λίστα με τα επίπεδα το αντικείμενο "Waypoint groups" (ομάδα σημείων πορείας).

 

Θα παρατηρήσετε ότι και η λίστα με τους κόμβους θα αλλάξει και θα δείχνει τις ομάδες με τα σημεία πορείας (προς το παρόν δεν υπάρχει κάτι). Κάντε κλικ στο κουμπί "Add waypoint group".

 

Ένα νέο αντικείμενο με όνομα "new waypoints" θα εμφανιστεί στην λίστα. Αλλάξτε το όνομά του σε κάτι πιο σωστό, όπως "wpt_default". Τώρα μπορείτε να εισάγετε νέα σημεία πορείας στην ομάδα ή να αφαιρέσετε όποια δεν χρειαζόσαστε. Η διαδικασία εισαγωγής/αφαίρεσης σημείων πορείας είναι ακριβώς η ίδια όπως και με τους κόμβους στα πεδία, χρησιμοποιώντας τα κουμπιά "Add point" και "Remove point".

 
Τοποθετήστε τέσσερα σημεία πορείας, ένα σε κάθε κορυφή του μπλοκαρισμένου πεδίου:


 

Πρέπει να έχετε πάντα υπόψη σας ότι ο χαρακτήρας μπορεί να προχωρήσει μόνο σε ευθεία από ένα σημείο πορείας σε ένα άλλο, οπότε ανάμεσά τους δεν πρέπει να υπάρχει κάποια μπλοκαρισμένη περιοχή.

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

Κλείστε το παιχνίδι και επιστρέψτε στον SceneEdit για να βελτιώσουμε λίγο ακόμα τη σκηνή μας.

Δεν θέλουμε ο χαρακτήρας μας να περπατάει μέσα από τη ντουλάπα, οπότε ας προσθέσουμε άλλο ένα μπλοκαρισμένο πεδίο στη θέση της.

Όπως είχαμε κάνει και με το γραφείο, επιλέξτε το επίπεδο "main" και κάντε κλικ στο κουμπί "Add region". Αλλάξτε το όνομα του πεδίου σε "block_closet" και επιλέξτε την παράμετρο "Blocked". Τέλος, αλλάξτε το σχήμα του πεδίου στο επιθυμητό:

 

Οι τρεις κορυφές του νέου πεδίου βρίσκονται εκτός του πεδίου "floor" (όπου ορίζει την περιοχή που μπορεί να περπατήσει ο χαρακτήρας), αλλά η τέταρτη βρίσκεται εντός. Πρέπει λοιπόν να προσθέσουμε άλλο ένα σημείο πορείας σε αυτή την γωνία.

Επιλέξτε και πάλι το επίπεδο "Waypoints groups" και τον κόμβο "wpt_default". Κάντε κλικ στο κουμπί "Add point" και τοποθετήστε το καινούριο σημείο πορείας όπως φαίνεται στο σχήμα:

Οι χαρακτήρες τώρα θα μπορούν να χρησιμοποιήσουν αυτό το σημείο για να περνούν γύρω από την γωνία της ντουλάπας.

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

 
Ας δούμε όμως άλλο ένα παράδειγμα της χρήσης των σημείων πορείας. Φανταστείτε την ακόλουθη περίπτωση. Ο χαρακτήρας στέκεται στην θέση Α και ο παίκτης κάνει κλικ στο σημείο C:

 

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

 

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

 

Αυτά είναι όλα όσον αφορά τα σημεία πορείας. :-) Σώστε τη σκηνή σας και κλείστε τον SceneEdit. Αν τρέξετε το παιχνίδι θα δείτε ότι ο χαρακτήρας μπορεί να μετακινηθεί σωστά σε όλη τη σκηνή επιλέγοντας πάντα την πιο κοντινή διαδρομή.

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