FREEWARE MAGAZINE
Το παράθυρο που εμφανίζεται,
περιέχει το μενού εντολών του
Simulator, καθώς και το ίδιο το
γραφικό περιβάλλον εξομοίω-
σης. Μέσα στον DirectX κόσμο,
η κάμερα κινείται με τα βέλη
(
κρατώντας το shift για επιτά-
χυνση) και περιστρέφεται, κά-
νοντας click and drag οπουδή-
ποτε μέσα στην εικόνα. Ολα τα
αντικείμενα που βλέπετε (ου-
ρανός, επίπεδο, στερεά), απο-
τελούν οντότητες. Το ρομπότ,
όμως, έχει contract με συγκε-
κριμένο service, μέσω του
οποίου θα το κινήσουμε παρα-
κάτω. Το μενού δίνει στο χρή-
στη δυνατότητα αποθήκευσης
μίας σκηνής. Η γραμμή κατά-
στασης (View>Status Bar) εμ-
φανίζει τα καρέ ανά δευτερόλε-
πτο, τη θέση της κάμερας και
την κατεύθυνση στην οποία η
τελευταία έχει στραφεί, βάσει
ενός ορθοκανονικού συστήμα-
τος αξόνων. Από το ίδιο μενού,
επιλέγετε τον τρόπο απεικόνι-
σης των συστατικών μίας σκη-
νής (Rendering), την κάμερα
μέσα από την οποία βλέπετε
τον εξομοιωμένο κόσμο, καθο-
ρίζετε την εφαρμογή ή μη της
φυσικής μηχανής και, τέλος,
μεταφέρεστε μεταξύ του Mode
εκτέλεσης και επεξεργασίας.
EDITOR
Είναι σίγουρα το τμήμα του
εξομοιωτή που θα μας απασχο-
λήσει περισσότερο. Εδώ μπο-
ρείτε να δείτε όλες τις οντότη-
τες κάθε σεναρίου, από τις αυ-
θύπαρκτες έως τις εξαρτώμε-
νες (Child Entities). Οι τελευταί-
ες δεν έχουν δική τους υπόστα-
ση, παρά μόνο αφού αποτελέ-
σουν τμήμα μίας άλλης οντότη-
τας, όπως ένας laser αισθητή-
ρας ανίχνευσης που θα δούμε
παρακάτω. Επιλέγοντας μία
οντότητα, θα εμφανιστεί ένα με-
νού με τις ιδιότητές της στο κά-
τω αριστερό τμήμα του παρα-
θύρου. Μπορείτε να καθορίσετε
τη θέση (Position), τη γωνία κλί-
σης του σώματος μίας οντότη-
τας (Rotation), να καθορίσετε
το mesh το οποίο της αντιστοι-
χεί (EntityState>Mesh) και να
της αλλάξετε texture (Entity-
State>DefaultTexture). Αφήνο-
ντας κατά μέρος την εξωτερική
εμφάνιση, το πιο ενδιαφέρον
κομμάτι της επίδρασής σας εί-
ναι οι φυσικές ιδιότητες. Μέσα
από την κατάσταση μίας οντό-
τητας (EntityState), μπορείτε να
δώσετε στο ρομπότ σας ταχύ-
τητα ως προς έναν άξονα, να
προσδώσετε συγκεκριμένη πυ-
κνότητα, να καθορίσετε τον τα-
νυστή αδράνειας και τη μάζα,
μετρημένη σε κιλά. Περαιτέρω
φυσικές ιδιότητες σε ένα αντι-
κείμενο (στατική/δυναμική τρι-
βή, κέντρο μάζας, διαστάσεις)
αλλάζετε από το πεδίο το οποίο
αντιστοιχεί στο σχήμα ενός
αντικειμένου, π.χ., BoxShape.
Αν δεν είστε σίγουροι ως
προς το ποια είναι η οντότητα
που έχετε επιλέξει, πατώντας
το [Ctrl], αυτή θα «φωτιστεί»
από μία τρισδιάστατη σφαίρα.
3
Eχοντας κλωνοποιήσει τέσσερις φορές το αρχικό block,
αλλάξαμε τις διαστάσεις, την περιστροφή και το texture του
(
μέσα από το EntityState), ώστε να μοιάζει με τείχος.
1
Δημιουργώντας μία νέα οντότητα για το περιβάλλον του ρομπότ
μας. Θέλουμε να κατασκευάσουμε έναν τοίχο, γι’ αυτό
καθορίζουμε ως SingleShapeEntity και δίνουμε κάποιο
βοηθητικό όνομα. Παρατηρήστε ότι δεν εξαρτάται από άλλη
οντότητα (το Executing Assembly αναφέρεται στην παρούσα
σκηνή).
2
Eχοντας αντιγράψει και επικολλήσει την οντότητα greybox που
αντιστοιχεί στο χωρίς texture παραλληλεπίπεδο. O simulator
την έχει ονομάσει greybox(1). Δεν είναι ορατή, επειδή βρίσκεται
στην ίδια θέση με την αρχική. Θα πρέπει να αλλάξει η θέση του, για
παράδειγμα, ως προς τον άξονα Z. Aν δυσκολεύεστε να
προσανατολιστείτε, μπορείτε να αλλάξετε το VisualTexture της Sky,
με το conditions.dds. Eπίσης, δοκιμάστε να ενεργοποιήσετε τη
μηχανή φυσικής, χωρίς να αλλάξετε τη θέση των αντικειμένων.
4
Tο εξομοιωμένο Pioneer 3DX ρομπότ αποτελεί μία ιεραρχική
οντότητα. Eξαρτώμενες οντότητες είναι οι LaserRangeFinder
(
αισθητήρας απόστασης), Bumper (αισθητήρας αφής) και Robocam
(
κάμερα). Tα κόκκινα ίχνη προέρχονται από τον αισθητήρα laser.
14