Methods of virtual object manipulation - Σκιαδάς, Νίκος (Πανεπιστήμιο Πελοποννήσου, 2011)
Σε πολλά παραδείγματα διάδρασης ανθρώπου – υπολογιστή, η επικοινωνία με το σύστημα περιλαμβάνει απ’ ευθείας διαχείριση εικονικών αντιστοίχων πραγματικών (φυσικών) αντικειμένων. Καθώς τα υπολογιστικά συστήματα εξελίσσονται επιτρέποντας όλο και πιο εξελιγμένες συσκευές εισόδου που προσφέρουν ακριβέστερο έλεγχο και μεγαλύτερη ελευθερία, και η απεικόνιση γραφικών πλησιάζει βαθμιαία το φωτορεαλισμό, εμφανίζονται όλο και περισσότερες εφαρμογές εικονικής σύνθεσης αντικειμένων (κατασκευής). Στην εργασία αυτή παρουσιάζουμε μια εφαρμογή που επιτρέπει στο χρήστη να «λύσει» έναν απλό κατασκευαστικό 3Δ γρίφο (puzzle) αλληλεπιδρώντας απ’ ευθείας με τα κομμάτια που τον απαρτίζουν σε 3Δ χώρο και σε πραγματικό χρόνο, και αναλύουμε τις μεθόδους που χρησιμοποιήθηκαν καθώς και τα συμπεράσματα και τις διαπιστώσεις που προέκυψαν κατά την υλοποίηση. Καθώς δεν υπάρχει περιορισμός ως προς τον τύπο των αντικειμένων που μπορούν να αναπαρασταθούν σε ένα εικονικό περιβάλλον, τα εικονικά αντικείμενα μπορεί να είναι αναπαραστάσεις αντικειμένων που δεν είναι «διαχειρίσιμα» στον πραγματικό κόσμο (αντικείμενα μεγάλου όγκου / βάρους) ή φανταστικών ή αφηρημένων αντικειμένων. Στην παρούσα εργασία, ο όρος «εικονικό» αναφέρεται στην αναπαράσταση αντικειμένων με φυσικά αντίστοιχα σε εικονικό (υπολογιστικό) περιβάλλον. Με βάση αυτή τη θεώρηση γίνεται αναγκαία η αναπαράσταση των αντικειμένων σε περισσότερες «διαστάσεις» από την απλή οπτική αναπαράσταση: η διαχείριση των αντικειμένων εισάγει ζητήματα όπως η αναπαράσταση του βάρους, του ενεργού όγκου (των διαστάσεων του αντικειμένου ώστε να πραγματοποιούνται ρεαλιστικές αλληλεπιδράσεις) κτλ. Στην υλοποίησή μας προσπαθήσαμε να παράγουμε μια επαρκή αναπαράσταση των αντικειμένων σαν φυσικές οντότητες με χαρακτηριστικά όπως βάρος, αλληλεπίδραση δυνάμεων και τριβές σε ένα δυναμικό κόσμο. Οι προδιαγραφές και ο σχεδιασμός της εργασίας επηρεάστηκε κυρίως από την περιγραφή του διαγωνισμού 3DUI 2011. Μια βασική επιδίωξη της εργασίας είναι να μελετήσουμε μεθόδους διάδρασης κατά τις οποίες εμπλέκονται και τα δύο χέρια του χρήστη. Επιδιώξαμε να μεταφέρουμε την αίσθηση ότι ο χρήστης έχει τα κομμάτια στη διάθεσή του σε ένα εικονικό «τραπέζι» και μπορεί να αλληλεπιδράσει με αυτά με τον τρόπο που θα χρησιμοποιούσε τα χέρια του. Κατ’ αυτή την έννοια δεν υπάρχει αναπαράσταση του χρήστη σαν κάποια ανθρωπομορφική οντότητα στο χώρο του puzzle, αλλά μόνο η αναπαράσταση των αλληλεπιδραστικών του «μέσων» (δύο σφαίρες που αναπαριστούν τη θέση του κάθε χεριού στο χώρο). Εξετάζουμε τις περιπτώσεις συμμετρικής και μη συμμετρικής χρήσης των χεριών: στην πρώτη περίπτωση τα εικονικά χέρια του χρήστη είναι ισοδύναμα ως προς τη λειτουργικότητα και τον τρόπο που αυτή αποδίδεται με τις διαθέσιμες συσκευές εισόδου, ενώ στην δεύτερη υπάρχει διάκριση κυρίαρχου / μη κυρίαρχου (dominant / non dominant hand) για εξειδικευμένη λειτουργικότητα κατά περίπτωση η οποία υποστηρίζεται και με τη χρήση διαφορετικών συσκευών. Επίσης αναλύουμε τις διαθέσιμες επιλογές που αφορούν τον τρόπο με τον οποίο ο χρήστης κρατά και διαχειρίζεται ένα κομμάτι καθώς και τον τρόπο με τον οποίο αποδίδεται η κίνηση του χεριού. Κάνουμε μια σύντομη παρουσίαση των μονάδων εισόδου που λάβαμε υπ’ όψη κατά το σχεδιασμό και παρουσιάζουμε τα χαρακτηριστικά τους, καθώς και μια ομαδοποίησή τους ως προς τον τύπο αλληλεπίδρασης που προϋποθέτουν και τη σχέση χρήστη – κίνησης – χώρου που επιβάλλουν. Πιο συγκεκριμένα γίνεται ξεχωριστά λόγος για συσκευές «εμβύθισης» (immersive), επιτραπέζιες συσκευές και κάποιες χαρακτηριστικές πειραματικές (με την έννοια «μη καταναλωτικές») συσκευές. Περιγράφουμε αναλυτικά την υλοποίηση και τις μεθόδους που ακολουθήσαμε. Αρχικά γίνεται μια αποτίμηση αρχικών προσεγγίσεων (APIs, εργαλεία ανάπτυξης) και καταγράφονται οι λόγοι για τους οποίους δεν επιλέξαμε τις συγκεκριμένες λύσεις. Αναφέρονται οι βιβλιοθήκες λογισμικού που χρησιμοποιήθηκαν στην υλοποίηση (η οποία έγινε σε γλώσσα C / C++) που παρουσιάζεται, και τα βασικά τους χαρακτηριστικά. Επίσης αναφέρονται οι βασικότεροι τύποι δεδομένων (ADTs) που δημιουργήθηκαν και γίνεται σύντομη δομική περιγραφή της εφαρμογής. Καθώς μια από τις κυριότερες απαιτήσεις της εφαρμογής ήταν να μπορούμε να ορίζουμε με απλό τρόπο νέους τύπους κομματιών του puzzle αλλά και νέους σχηματισμούς (γρίφους) προς λύση, παρουσιάζουμε τη μέθοδο που ακολουθήσαμε και τη μορφή των αρχείων που χρησιμοποιεί η εφαρμογή για να παράγει δυναμικά (κατά την εκτέλεση) νέα είδη κομματιών με συνεπή «φυσική» συμπεριφορά. Πιο συγκεκριμένα, ο μορφολογικός περιορισμός των κομματιών είναι ότι μπορούμε να θεωρήσουμε πως αποτελούνται από ένα σύνολο ομοιόμορφων κύβων, οι οποίοι «συγκολλούνται» για να παράγουν το κάθε σχήμα. Κατ’ αυτό τον τρόπο, το αρχείο περιγραφής αποθηκεύει τις θέσεις των κύβων που παράγουν το κάθε κομμάτι σαν ακέραιες συντεταγμένες σε χώρο αντικειμένου – model space (και όχι σε χώρο κόσμου – world space). Στη συνέχεια αναλύονται οι επιλογές που κάναμε σχετικά με την απεικόνιση του χώρου του puzzle. Οι επιλογές αυτές αφορούν: • Την απεικόνιση των κύβων και των κομματιών, και «φυσική» τους εμφάνιση • Την απεικόνιση των «δρομέων» (cursors) που αναπαριστούν τα χέρια του χρήστη και τη λογική με βάση την οποία σχεδιάστηκαν • Την απεικόνιση του εικονικού μας «τραπεζιού» - εδάφους και τη χρήση του για την καλύτερη απόδοση αίσθησης βάθους, προοπτικής και σχετικής θέσης των κομματιών • Τη διαχείριση της εικονικής κάμερας, ή αλλιώς τη δυνατότητα ελέγχου του σημείου παρατήρησης που δίνεται στο χρήστη • Τη μέθοδο απεικόνισης σκιών καθώς τα οφέλη που παρουσιάζει αυτή στην καλύτερη αντίληψη θέσης και απόστασης των κομματιών Επεξηγούνται η χρήση της μηχανής προσομοίωσης φυσικής, και ο τρόπος που τα κομμάτια του puzzle αποκτούν υπόσταση στον χώρο του που πραγματοποιείται η διάδραση. Επίσης οι μέθοδοι με τις οποίες το σύστημα «αντιλαμβάνεται» τις πράξεις του χρήστη (πώς ανιχνεύεται το οτι «αγγίζουμε» ενα κομμάτι, πως πιάνουμε ή αφήνουμε ένα κομμάτι). Τέλος γίνεται αναφορά στους περιορισμούς που επιβάλλει η μηχανή προσομοίωσης ως προς την ακρίβεια, ή θέματα που έχουν να κάνουν με την ποιότητα της αλληλεπίδρασης και περιγράφονται οι λύσεις που υιοθετήσαμε. Σε κάποιες περιπτώσεις «αποκλείσαμε» κάποια χαρακτηριστικά της προσομοίωσης με αποτέλεσμα να μοιωθεί ο ρεαλισμός του τελικού αποτελέσματος, κερδίζοντας όμως έτσι σε ευχρηστία. Αυτό είναι και ένα από τα θέματα που διερευνώνται στα συμπεράσματα. Κλείνοντας με τα θέματα υλοποίησης, παρουσιάζονται οι λύσεις που εξετάσαμε για το θέμα της καταγραφής της ορθής λύσης του γρίφου (κατά την κατάσταση «προγραμματισμού» του), και της αξιολόγησης της λύσης κατά την κατάσταση παιχνιδιού. Παρουσιάζονται 3 προσεγγίσεις, τα προβλήματα που παρουσίασαν και οι περιορισμοί τους και τελικά γιατί καταλήξαμε στη λύση που υλοποιήθηκε απορρίπτοντας τις 2 άλλες. Ειδικότερα παρουσιάζονται 3 μέθοδοι καταγραφής: • Καταγραφή των σχετικών θέσεων κάθε ζεύγους κομματιών • Καταγραφή των σημείων επαφής των ελεύθερων επιφανειών κομματιών • Δημιουργία ενός περιέχοντος 3Δ κάναβου (occupancy grid) για τους κύβους που αποτελούν τα κομμάτια – λύση που προτιμήθηκε Τέλος αναλύονται τα συμπεράσματα που προέκυψαν γύρω απο τους εξής θεματικούς άξονες: • Ποιότητα προσομοίωσης και ρεαλισμός σε σχέση με ευχρηστία και ευκολία χειρισμού • Αλληλεπίδραση με τα δύο χερια και πως αυτή προκύπτει σε ένα περιβάλλον ανοιχτό σε προσαρμογή / εξέλιξη του χρήστη • Η αφαιρετική αναπαράσταση των χεριών του χρήστη και τα οφέλη της • Η δυνατότητα του χρήστη να αλλάζει την οπτική γωνία του παιχνιδιού και η σημασία της στη δυνατότητα χειρισμού των κομματιών και της κατασκευής • Η σχέση που έχει η οικειότητα του χρήστη με μια συσκευή εισόδου με την ευκολία χειρισμού. Η αντίθεση εδώ είναι ανάμεσα σε μια γνωστή αλλά πιθανόν λιγότερο κατάλληλη για το συγκγκριμένο σενάριο συσκευή, σε σχέση με μια πληρέστερη λειτουργικά αλλά «άγνωστη» συσκευή.
Μέθοδοι διαχείρισης εικονικών αντικειμένων
Μ.Δ.Ε. 8
Keywords: Ηλεκτρονικοί υπολογιστές -- Προγράμματα; Υπολογιστικά συστήματα; Εικονική σύνθεση; Εικονικά αντικείμενα; Διαχείριση; 3D