Στην παρούσα ΠΕ γίνεται μία προσπάθεια χρήσης της μεθόδου της διαδικαστικής παραγωγής για τη δημιουργία 3D game assets και πιο συγκεκριμένα, ενός τρισδιάστατου ψηφιακού δάσους, με χρήση της σουϊτας Blender και της γλώσσας προγραμματισμού Python.
Η διαδικαστική παραγωγή είναι μία μέθοδος παραγωγής ενός αποτελέσματος (πχ, δεδομένων, εικόνων – γραφικών, ήχου, εκτυπώσιμων αρχείων κλπ) με αλγοριθμικό τρόπο, χωρίς χειροκίνητη παρέμβαση. Παρουσιάζει αρκετά πλεονεκτήματα έναντι της «παραδοσιακής» κατασκευής ενός επιθυμητού αποτελέσματος στο ότι
• αναπαράγει με μεγάλη ταχύτητα ένα θεμιτό αποτέλεσμα.
• έχει θεωρητικά άπειρη ακρίβεια.
• αναπαράγει το ίδιο ακριβώς αποτέλεσμα κάθε φορά.
• Όλη η διαδικασία ενός σύνθετου αποτελέσματος, μπορεί να αποθηκευτεί σε πολύ μικρού μεγέθους αρχεία. Με αυτό τον τρόπο, δεν επιβαρύνει τον αποθηκευτικό χώρο ενός Η/Υ και είναι εύκολα μεταφέρσιμη.
Το Blender είναι είναι μία ελεύθερης διακίνησης και ανοιχτού κώδικα σουίτα (λογισμικό) για τη δημιουργία τρισδιάστατων γραφικών με επεκτάσεις σε πολλούς τομείς της πληροφορική.
Η Python είναι μία ανοιχτού κώδικα γλώσσα προγραμματισμού η οποία κερδίζει συνεχώς έδαφος μεταξύ των προγραμματιστών, λόγω της ευκολίας της και του πλήθους των βιβλιοθηκών που προσφέρει σε πολλούς τομείς, μεταξύ των οποίων τα μαθηματικά, η τεχνητή νοημοσύνη, η επαυξημένη πραγματικότητα κ.α..
Για την εκπόνηση της εργασίας, αρχικά γίνεται ο ορισμός του στόχου που εν προκειμένω είναι η κατασκευή ένα δάσους με διαδικαστική παραγωγή του, ορίζονται τα εργαλεία χρήσης (Blender , Python) και γίνεται μία γνωριμία το με περιβάλλοντα εργασίας τους.
Στη συνέχεια γίνεται ένας σχεδιασμός του ζητούμενου, ορίζονται τα συστατικά του (έδαφος, δέντρα, λίθοι, χλόη, ουρανός) και υλοποιούνται ανεξάρτητα το καθένα, χρησιμοποιώντας εναλλακτικές προσεγγίσεις ώστε να μπορούν να συγκριθούν τα πλεονεκτήματα και τα μεινοεκτήματα ττης κάθε μίας.
Χρήστος Νομικός, Διαδικαστική Παραγωγή Τρισδιάστατων
Μοντέλων με Blender και Python
Πτυχιακή / Διπλωματική Εργασία vi
Στη συνέχεια δημιουργείται ο κώδικας που ενώνει τα επιμέρους συστατικά και δημιουργεί το ζητούμενο.
Τέλος γίνεται μία διερεύνηση εργαλείων αποσφαλμάτωσης και η αποσφαλμάτωση του κώδικα.
Τα παραγόμενα αποτέλεσματα της ΠΕ είναι ένα βίντεο περιήγησης μέσα στο δάσος και φυσικά ο κώδικας παραγωγής του μαζί με το παρόν σύγγραμμα.
In this Bachelor's thesis an attempt is made to use the method of procedural generation to create 3D game assets and more specifically, a 3D digital forest, using the Blender suite and the Python programming language.
Procedural generation is a method of producing a result (eg, data, images - graphics, audio, printable files, etc.) in an algorithmic way, without manual intervention. There are several advantages over the "traditional" generation of a desired result such as
• It reproduces at a high speed a legitimate result.
• It has theoretically infinite accuracy.
• It reproduces exactly the same result each time.
• The whole process of a complex result can be saved in very small files. This way, it does not burden the storage space of a PC and is easily portable.
Blender is a free and open source suite (software) for creating 3D graphics with extensions to many areas ιn the field of computers.
Python is an open source programming language that is constantly becoming more and more popular among developers due to its convenience and the variety of libraries it offers in many fields, including mathematics, artificial intelligence, augmented reality, etc.
For the elaboration of this thesis, first the definition of the target result is made, which in this case is the construction of a forest by using procedural generation method, the use tools are defined (Blender, Python) and the acquaintance with their working environments is made.
Then a design of the desired result is made, its components are defined (soil, trees, stones, grass, sky) and each one of these is implemented independently, using alternative approaches so that the advantages and disadvantages of each approach can be compared.
Then the code is created that unites the individual components and creates the desired result.
Finally a few debugging methods and tool are explored and the debugging of the code is performed.
The produced Bachelor's thesis results include a video tour in the forest and of course its production code together with this work.
Hellenic Open University
Items in Apothesis are protected by copyright, with all rights reserved, unless otherwise indicated.
Κύρια Αρχεία Διατριβής
Διαδικαστική Παραγωγή Τρισδιάστατων Μοντέλων με Blender και Python Περιγραφή: Διαδικαστική Παραγωγή Τρισδιάστατων Μοντέλων με Blender και Python.pdf (pdf)
Book Reader Μέγεθος: 6.7 MB
Διαδικαστική Παραγωγή Τρισδιάστατων Μοντέλων με Blender και Python - Identifier: 160418
Internal display of the 160418 entity interconnections (Node labels correspond to identifiers)