: Να σας συστηθώ. Λέγομαι Χατζηγιωργίου Γιώργος. Είμαι μεταπτυχιακός φοιτητής του Πανεπιστημίου Μακεδονίας, στην εφαρμοσμένη πληροφορική. Και σε συνεργασία με τη Δημόσια Βιβλιοθήκη Βέρειας, αποφασίσαμε να κάνουμε ένα σεμινάριο, ένα workshop, ένα εργαστήριο καλύτερα, το οποίο θα φορά την κατασκευή και τη δημιουργία παιχνιδιών. Με τον κύριο Μπίκα ήρθαμε σε επαφή την πρώτη φορά για να ξεκινήσουμε αυτή την προσπάθεια και ελπίζουμε να σας αρέσει και προτού ξεκινήσω πάλι να σας πω ότι σας ευχαριστώ πάρα πολύ που ήρθατε εδώ και είστε μαζί μας και θα κάνουμε όλοι μαζί το πρώτο μας εργαστήριο. Και ελπίζω όχι το τελευταίο. Λοιπόν, το πρόγραμμα με το οποίο θα ασχοληθώ είναι η Unity. Η Unity είναι μια game engine. Θα της δώσω ένα θηλυκό φύλλο, γιατί είναι μηχανή game engine, οπότε ας την ορίσουμε γυναίκα. Πρωτού ξεκινήσουμε με η Unity να δούμε κάποια βασικά συστατικά που πρέπει να ξέρει κάποιος για να κάνει ένα παιχνίδι. Λοιπόν, τι είναι η Unity 3D καταρχήν. Είναι μια μηχανή με την οποία μπορούμε να φτιάξουμε παιχνίδια δύο διαστάσεων και τριών διαστάσεων. Μπορούμε να κάνουμε εικονικούς κόσμους, δηλαδή δεν είναι απαραίτητο αυτό που θα φτιάξουμε να είναι ένα παιχνίδι. Μπορεί να είναι μια εικονική περιήγηση. Για παράδειγμα, κάποιος θα μπορούσε να χρησιμοποιήσει τις σχεδιαστικές του δεξιότητες και να δημιουργήσει μια εικονική αναπαράσταση της Αμφίπολης και να μπορεί να δώσει τη δυνατότητα στους επισκέπτες να περιηγούνται εικονικά μέσα σε αυτή. Το πόσο καλό θα γίνει εξακτάται από το πόσο καλό σχεδιαστή έχει αυτός που έχει αναλάβει το project ή ο ίδιος του, αν είναι καλός σχεδιαστής. Μπορούμε να κάνουμε inactive και interactive. Inactive είναι όταν δεν συμμετέχει ο χρήστης στη ροή ενός project. Interactive είναι όταν αποφασίζει αυτός το τι θα συμβεί. Τα παιχνίδια δηλαδή που πατάμε το κουμπί και πυροβολά ή σταματάει για λίγο το παιχνίδι και περιμένει να αποφασίσουμε εμείς τι θα γίνει παρακάτω είναι τα interactive. Τα inactive είναι αυτό που βλέπουμε χωρίς να συμμετέχουμε εμείς. Για να κάνουμε βέβαια project, η unit από μόνη της δεν αρκεί. Χρειάζονται να έχουμε βιβλιοθήκες. Οι βιβλιοθήκες αυτές μπορεί να έχουν script, γενικότερα asset, αυτός ο φάκελος που πήρατε και εγκαταστήσατε στην επιφάνεια εργασίας, τα οποία asset τα χρησιμοποιούμε για να συνθέσουμε ένα project. Μέσα από το asset store, το οποίο είναι διαθέσιμο στην επίσημη σελίδα της Unity, unity3d.com, έχει μια επιλογή που λέει asset store και μπορείτε να κατεβάσετε από εκεί asset, αλλά είναι δωρεάν, αλλά είναι επιπληρωμή και να χρησιμοποιήσετε αυτά που σας ταιριάζουν για το project σας. Η Unity έχει το καλό ότι συνεργάζεται με άλλες εφαρμογές, όπως για παράδειγμα το 3D Studio Max, που είναι για τη δημιουργία τρισδιάστατων αντικειμένων, Magia και Google Sketch, τα οποία κάνουν μια αντίστοιχη δουλειά και φυσικά όταν μιλάμε για παιχνίδι, μιλάμε για προγραμματισμό. Και η Unity μιλάει τρεις γλώσσες. Μιλάει την C-Sharp, που είναι η προτεινόμενη γλώσσα, αυτήν θα χρησιμοποιήσουμε εμείς, την JavaScript, η γνωστή JavaScript που τρέχει στους client, στους browser και η Boo, η οποία είναι μια γλώσσα της Unity. Και αλήθεια είναι ότι, δεν ξέρω για ποιο λόγο τη βάλω αυτή τη γλώσσα, αλλά την έχουνε βάλει, τι να κάνουμε, εντάξει. Εμείς θα χρησιμοποιήσουμε αυτή γιατί είναι πιο δυνατή γλώσσα, παρέχει περισσότερη ευελιξία σε σχέση με τις υπόλοιπες. Για εσάς ή για όσους δεν έχουν σχέση με καμία από τις τρεις γλώσσες, είναι το ίδιο μόπια κι αν ξεκινήσετε, άρα είναι καλύτερο να ξεκινήσετε με την καλύτερη. Όχι, όταν κάνουμε compile το project, μπορούμε να το κάνουμε για Mac, για κινητές, για φορητές συσκευές, για smartphone, για tablet, για Wii, για Xbox, έχει πάρα πολλές δυνατότητες. Τώρα, φορητότητα, μιας και μιλήσαμε για φορητές συσκευές, είναι πάρα πολύ σημαντικό και σε αυτό θα δώσουμε αρκετή βαρύτητα. Με τη Unity μπορείτε να δημιουργήσετε εφαρμογές οι οποίες θα παίζουν σε κινητά, τόσο IOS, όσο και Android. Υπάρχουν ειδικά εργαλεία που μπορούμε να κατεβάσουμε από το Play Store. Το Play Store είναι το αντίστοιχο marketplace για Android συσκευές και μπορούμε να κατεβάσουμε προγράμματα με τα οποία θα τεστάρουμε τις εφαρμογές μας σε πραγματικό χρόνο. Τι σημαίνει σε πραγματικό χρόνο? Ότι εκείνη την ώρα που σχεδιάζω ένα κομμάτι από το project, μπορώ να συνδέσω τη φορητή μου συσκευή με το laptop και να ελέγξω στο κινητό μου πώς θα φαίνεται αυτό το κομμάτι κώδικα ή αυτό το project μέχρι εκείνη τη στιγμή. Της Unity είναι όλα αυτά και τα κομμάτια από το Asset Store. Πάρα πολλά πετυχημένα παιχνίδια έχουν σχεδιαστεί για φορητές συσκευές. Δεν είναι ανάγκη να έχετε στο μυαλό σας, ειδικά τώρα που ξεκινάτε, όσοι ξεκινάτε πρώτη φορά, στον τομέα του Game Design και του Game Development, να έχετε κατανοώ ότι θα φτιάξω το επόμενο World of Warcraft ή το επόμενο Call of Duty ή το Need for Speed. Ξεκινάμε με κάτι πολύ απλό για να μπορέσουμε να εξελιχθούμε ομαλά και να μην απογοητευτούμε το κυριότερο. Ας δούμε μερικά στοιχεία για να καταλάβετε και το μέγεθος της σημασίας του να σχεδιάζει κανείς πετυχημένα παιχνίδια σε φορητές συσκευές. Το γνωστό Angry Birds. Ένα παιχνίδι το οποίο, αν το κάναμε ένα workshop, θα τελειώναμε τα μεκάνικη του παιχνιδιού μέσα σε τρεις ώρες. Το δύσκολο θα ήταν φυσικά να σχεδιάσουμε ελληνικιστικά γραφικά. Και εκεί έγινε την επιτυχία του παιχνιδιού, αλλά το συγκεκριμένο παιχνίδι για το 2013 είχε 156 εκατομμύρια δολάρια. Πολύ μεγάλη επιτυχία. Αλλά υπάρχει και κάτι καλύτερο. Το Candy Crush. Το γνωστό σε όλους με τα τουβλάκια που προσπαθείς να ενώσεις και να σχεδιάσεις και να σχηματίσεις τριάδες ή τετράδες ή πεντάδες. Το Candy Crush λοιπόν, παιδιά, είχε εκπληκτικές παιχνίδια. Ή να σχηματίσεις τριάδες ή τετράδες ή πεντάδες. Το Candy Crush λοιπόν, παιδιά, είχε 600 ακόμα 6-7 εκατομμύρια δολάρια έσοδα το πρώτο τετράμινο του 2014. Οι άνθρωποι δηλαδή βγάζουν πολλά λεφτά χωρίς να έχουν σχεδιάσει κάτι τρομακτικά μεγάλο. Δεν έχουν σχεδιάσει το Call of Duty ή το Skyrim ή το Warcraft ή το League of Legends. Με μικρά παιχνίδια εντυπωσιακά όμως και με έξυπνη χρήση κώδικα και μηχανικών τεχνικών μπορείτε να σχεδιάσετε πολύ ωραία παιχνίδια και μικρά. Προσέξτε μερικά στοιχεία ακόμα για την φορητότητα. Η οικονομία των εφαρμογών σε φορητές συσκευές πάντα αναμένεται το 2016 να αγγίξει τα 46 δισεκατομμύρια δολάρια. 1,3 εκατομμύρια εφαρμογές δημοσιεύονται κάθε χρόνο στα marketplace, Android, IOS. Από αυτές τις εφαρμογές οι μισές σχεδόν είναι παιχνίδια. Οπότε μιλάμε για μια πολύ μεγάλη αγορά, μιλάμε δηλαδή για κάτι το οποίο είναι μια πολύ μεγάλη πίτα όπου και ένα μικρό κομματάκι να πάρει κάποιος θα έχει αποτέλεσμα και θα έχει και αναγνωρισιμότητα εκτός από τα έσοδα. Για τα έσοδα δεν στέκομαι πολύ γιατί μην το σκεφτείτε ότι θα κάνουν παιχνίδια για να βγάλουν λεφτά, θα κάνουν παιχνίδια για να εξελιχθώ σαν προγραμματιστής και γενικά σαν χρήστης της γιονύση 3D. 26% αυτών των εφαρμογών είναι εφαρμογές social τύπου, αυτές που ασχολούνται με τα κοινωνικά δίκτυα. Ενώ οι διασκεδαστικές εφαρμογές είναι περίπου 10%, άλλο διασκέδαση άλλο παιχνίδια. Η διασκέδαση μπορεί να είναι μουσική, κάτι το οποίο δεν έχει σχέση με παιχνίδι πάντως, είναι κάτι απλά το οποίο βλέπεις και αφορά την διασκέδαση. Και 10% utilities όπως ένα utility που κατέβασα πριν 2 λεπτά που είναι ένα χρονόμετρο στο κινητό μου. Έτσι απλά. Τα utilities δηλαδή δεν έχουν πολύ μεγάλη πτυχία. Οι Αμερικανοί χρήστες, και θα σας πω γιατί αναφέρομαι για Αμερικανούς και για δολάρια επάνω και προηγουμένως, ξοδεύουν περίπου 126 λεπτά ημερισίως σε εφαρμογές, δηλαδή 2 ώρες και κάτι. Είναι με το κινητό τους και παίζουν με το κινητό. Ο μέσος χρήστης, πάντα στην Αμερική, έχει περισσότερες από 100 εφαρμογές εγκατυστημένους στο κινητό. Και βάσει των στατιστικών που έχουμε πει επάνω, ενδεχομένως οι μισές να είναι παιχνίδια, ίσως και παραπάνω. Η ανάπτυξη αυτή έχει εκθετική μορφή. Όταν ξεκίνησε το App Store, χρειάστηκαν 9 μήνες για να αγγίξει το 1 δισεκατομμύριο εφαρμογές. Στα τέλη του 2013 όμως, ο αριθμός των download σε iOS και Android θα είναι 2 δισεκατομμύρια την εβδομάδα. Δηλαδή ο κόσμος κατεβάζει πολλές εφαρμογές. Πολλές εφαρμογές. Τι σημαίνει αυτό, αν το μεταφράσουμε έτσι με κοινή λογική, ότι όταν σχεδιάζουμε μια εφαρμογή και γενικά όσοι θα ασχοληθείτε με το κομμάτι του σχεδιασμού εφαρμογών, να μη σας ενδιαφέρει αν θα ασχοληθείτε με το κοινό, δηλαδή το ελληνικό. Δεν σκεφτόμαστε τοπικά όταν σχεδιάζουμε κάτι τέτοιο. Αυτή είναι η εφαρμογή. Αυτή είναι η εφαρμογή. Αυτή είναι η εφαρμογή. Ωραία. Ο καθένας μπορεί να έχει το δικό του τομέα εξειδίκευσης σε όλο αυτό το πράγμα που λέγεται game design και game development. Ο προγραμματισμός τώρα, το οποίο είναι κάτι που προβληματίζει τον νέο χρήστη περισσότερο από ό,τι τα άλλα δύο, ο προγραμματισμός λοιπόν δεν έχει να κάνει τόσο πολύ με το αν κάποιος ξέρει να γράφει C-sharp ή JavaScript ή Boo. Τι, Boo, την ξεχνάμε, ας πούμε ότι δεν υπάρχει. C-sharp. Δεν χρειάζεται να είναι κάποιος expert σε αυτό. Αυτό που χρειάζεται όμως να έχει, το οποίο δεν έχει να κάνει με την πληροφορική, είναι να έχει αυξημένη την ικανότητα αντίληψη ενός προβλήματος. Γιατί για να σχεδιάσεις ένα παιχνίδι πρέπει να μπορέσεις να λύνεις τα προβλήματα που έχει μέσα το παιχνίδι. Όταν λέω πρόβλημα, μην το φανταστείτε ως κάτι κακό. Πρόβλημα είναι, για παράδειγμα, να μπορούμε να πατάμε ένα κουμπί και να αυξάνουμε ταχύτητα σε ένα αεροσκάφος, σαν αυτό που θα κάνουμε τώρα. Ένα άλλο πρόβλημα είναι να μπορέσουμε να κάνουμε το αεροπλάνο να πετάει. Όλα αυτά είναι προβλήματα, είναι δηλαδή targets τα οποία πρέπει να φτάσουμε και να ξεπεράσουμε για να ολοκληρώσουμε το project. Ο ενθουσιασμός πρέπει να είναι μετριασμένος όταν σχεδιάζουμε ένα παιχνίδι. Τι σημαίνει αυτό? Με πολύ χαμηλές προσδοκίες. Τα πολλά features επιβαρύνουν το πρόγραμμά μας, το project μας με κώδικα. Δηλαδή, θέλω να κάνω ένα παιχνίδι το οποίο ένα αεροσκάφος να πετάει. Μέχρι εδώ όλα καλά. Να βάλω όμως και τη δυνατότητα να πετάει ρουκέτες όταν πατάω το R. Ok, είναι εντυπωσιακό. Και να κάνω και τις ρουκέτες όταν ακουμπάνε με τον αντίπαλο να εκκρίγνεται. Και αυτό είναι πολύ ωραίο. Είναι ωραία στα λόγια. Στην πράξη όμως σημαίνει ότι πρέπει να γράψετε γραμμές κώδικα. Άρα, ό,τι σκέφτεστε σημαίνει κώδικας. Κώδικας, κώδικας. Και αν σκεφτείτε 10 ιδέες χωρίς να έχετε υλοποιήσει ούτε καν την πρώτη, θα φτάσετε να έχετε ένα τέτοιο μπέρδεμα στο μυαλό σας που δεν θα κάνετε καμία. Είναι σίγουρο αυτό. Όπως όταν βάζουμε πολλούς στόχους και τελικά δεν κάνουμε τίποτα. Άρα, ένα βήμα κάθε φορά. Ο προγραμματισμός όταν ξεκινάμε πρέπει να είναι ξεκάθαρος, πρέπει να είναι τεκμηριωμένος, να χρησιμοποιούμε σχόλια, να ξέρουμε τι είναι αυτό που έχουμε γράψει, για ποιο λόγο το έχουμε γράψει, ούτως ώστε μετά από ένα χρονικό διάστημα, αν χρειαστεί να το αλλάξουμε, να μπορούμε. Τώρα, η ροή εργασίας. Δηλαδή, είστε σπίτι και πρέπει να ξεκινήσετε κάπως να φτιάχνετε ένα παιχνίδι. Ποια είναι τα πρώτα βήματα που πρέπει να κάνετε για να το πετύχετε αυτό. Πρώτα πρέπει να έχετε ένα πλάνο, ένα σχέδιο. Δηλαδή, κανείς δεν μπορεί να ανοίξει τη Unity και να πει, OK, ξεκινάω να φτιάχνω ένα παιχνίδι. Ούτε ξέρω τι παιχνίδι είναι αυτό, ούτε ξέρω τι χρώματα θα έχει, ούτε τι γραφικά, μουσική, δεν ξέρω τίποτα. Άρα, δεν υπάρχει περίπτωση να γίνει κάτι. Λοιπόν, θα είστε μόνοι ή θα είστε ομάδα. Ούτε το άλλο. Απλά πρέπει να το αποφασίσετε. Και αυτό εξαρτάται από τις ικανότητες που έχει ο καθένας. Να δούμε τι ανάγκες έχουμε για το παιχνίδι. Να δούμε, δηλαδή, τι mechanics θα χρησιμοποιήσουμε, ποιο θα είναι το skin. Το skin, βασικά, για να μην μπερδεύεστε, είναι τα γραφικά που έχει ένα παιχνίδι, είναι το ντύσιμο. Αν, δηλαδή, για παράδειγμα, ο άνθρωπος είναι τα mechanics, ένας άνθρωπος γυμνός είναι τα mechanics, ο οποίος περπατάει. Το περπάτημα είναι τα mechanics. Αν του βάλω ένα κουστούμι γαμπριάτικο, ας πούμε, του έχω βάλει ένα skin και αυτός είναι γαμπρός. Αν του βάλω ένα ρούχο με ρούχα γιατρού, ας πούμε, ο τύπος είναι γιατρός. Τα mechanics, όμως, συνεχίζουν να είναι οι ίδια. Είναι ένας άνθρωπος που περπατάει. Έτσι. Εργαλεία. Τι εργαλεία θα χρησιμοποιήσουμε. Θα επεξεργαστούμε εικόνα, θα επεξεργαστούμε ήχο, θα κάνουμε μοντελοποίηση. Μοντελοποίηση είναι να σχεδιάσουμε κάτι σε τρισδιάστατη μορφή, με το 3D Studio ή το Maya ή το Blender. Και πού θα παίξει αυτό το παιχνίδι, το κυριότερο. Το καλό είναι ότι η Unity έχει cross-platform. Τι σημαίνει cross-platform. Ότι μπορεί να το παίξουμε σε δίπλα. Μπράβο. Σε PC, σε κινητό, σε Xbox. Αυτό πρέπει να το αποφασίσουμε, πριν το ξεκινήσουμε. Πρέπει να δούμε και τι κόστος θα έχει αυτό το παιχνίδι. Δηλαδή, αν χρειαστεί να αγοράσουμε από το asset store κάποια πράγματα, να δούμε τι στοιχίζουν αυτά. Έχει και δωρεάν. Έχει και κάποια που είναι επιπληρωμή. Χάθηκα τώρα, ποιος μίλησε. Θέλεις να κάνεις ένα παιχνίδι το οποίο έχει μια πόλη. Αν δεν ξέρεις να σχεδιάσεις μια πόλη, πρέπει να την αγοράσεις αυτή την πόλη. Ναι, το οποίο πάλι δεν είναι κακό. Είναι μία λύση, γι' αυτό εδώ κολλάει το σόλο η ομάδα. Η ομάδα σημαίνει ότι ένας θα προγραμματίζει, ταυτόχρονα όλος θα σχεδιάζει αντικείμενα, ταυτόχρονα ένας τρίτος θα κάνει τον ήχο. Και να το βλέπουμε δεν χρειάζεται από το ροχό. Ναι, δεν χρειάζεται δηλαδή να καλύψουμε το ροχό από την αρχή. Όταν το αντικείμενο που θα χρησιμοποιήσουμε τώρα στην παρουσίαση στη συνέχεια είναι ένα έτοιμο αεροσκάφος. Εμείς απλά το προγραμματίζουμε να πετάει και να κάνει τα δικά του. Οπότε, ό,τι χρειάζεστε, το πιο πιθανό είναι να υπάρχει στο asset store. Ναι, ακριβώς. Έχει και κώδικα, έχει και φωτισμό. Που βάζει τόσο πολύ πίσω στην έκθεση της έλαξης εργασίας. Ναι, σου μειώνει το χρόνο υλοποίησης, ο οποίος είναι σημαντικός. Και τον οποίο πρέπει να εκτιμήσετε όταν ξεκινάτε ένα project για να δείτε αν τελικά τραβάει το project. Δηλαδή, αν εσείς υπολογίσετε ότι θέλετε ένα μήνα για να ολοκληρώσετε ένα project, αν στον ένα μήνα δεν έχετε κάνει τίποτα, τότε είναι καλύτερο να το αφήσετε και να κάνετε κάτι άλλο, γιατί δεν τραβάει αυτό. Λοιπόν, ένα πλάνο μπορείτε να το σχεδιάσετε είτε σε ένα χαρτί, είτε να χρησιμοποιήσετε ένα πολύ ωραίο πρόγραμμα, θα σας προτείνω, λέγεται Xmind. Και η δουλειά του είναι να κάνει διαγράμματα. Και μέσα αυτά τα διαγράμματα μπορείτε να χρησιμοποιήσετε τα κουτάκια για να πληκτρολογίσετε τις εργασίες που έχετε να κάνετε. Οπότε, τέτοια εργαλεία, αυτά είναι δωρεάν. Γενικά ό,τι εργαλεία σας θα σας παρουσιάσω είναι δωρεάν. Οπότε μπορείτε να τα κατεβάσετε ελεύθερα και να τα χρησιμοποιήσετε. Τώρα, θέλουμε να κάνουμε ένα ακριβή προσδιορισμό του σχεδίου που πρόκειται να ακολουθήσουμε και να φτιάξουμε τα διαγράμματα εργασιών που έχουμε αναφέρει πριν. Και εδώ για το Xmind OK. Τώρα, το σχέδιο του μαθήματος είναι να φτιάξουμε ένα flight simulator. Τώρα, γιατί flight simulator, σαν πρώτη φορά, είναι μια ωραία περίπτωση για να δούμε συνδυαστικά πώς μπορούμε να χρησιμοποιήσουμε την φυσική μαζί με την πληροφορική. Και να κάνουμε μια εξαγωγή σε Unity στο web player, δηλαδή να παίζει από browser. Έχει site όπως είναι το miniclip ή το congregates.com τα οποία έχουν παιχνίδια μέσα κάποια από αυτά έχουν φτιαχτεί σε Unity. Τα καταλαβαίνετε όταν έχουν εκείνο το σηματάκι επάνω δίπλα από τη Unity. Είναι αντίστοιχο του flash player, ο Unity web player. Έτσι, οπότε αν πάτε να τρέξετε ένα τέτοιο παιχνίδι θα σας ζητήσει να κατεβάσετε το web player απλά πατάτε install και μια φορά το κάνετε. Αυτό και τρέχει. Λοιπόν, αν θα είστε μόνοι, αν θα είστε σε ομάδα, εξαρτάται, είπαμε, από την πολυπλοκότητα του project, τι θέλετε να κάνετε, προγραμματισμό, επεξεργασία εικόνα ήχου, αν θέλετε modeling, modeling όχι αυτό που κάνουμε στην μπασαρέλα, το modeling των αντικειμένων εννοώ, level design, τα επίπεδα, οι πίστες είναι τα level, testing, ακόμα και για το testing χρειάζεται ένας άνθρωπος ο οποίος θα το αναλάβει. Δηλαδή ο προγραμματιστής και αυτός που δημιουργεί το παιχνίδι συνήθως θα βρει πολλά τέλεια. Θα το δουλεύει μια χαρά λέει, αλλά κάποιος τρίτος άνθρωπος να το δοκιμάσει μπορεί να βρει κάποια ασφάλματα τα οποία δεν είναι ορατά στον προγραμματιστή στους υπόλοιπους της ομάδας. Μια συντονισμένη ομάδα είναι καλύτερο, φυσικά, από έναν άνθρωπο μόνο του γιατί μοιράζονται οι δουλειές και γίνεται πιο γρήγορα η ροή των εργασιών. Τα μικρά studio, τα indie συνήθως, έτσι όπως τα λέμε, απαρτίζονται από τα ομάδες 3 έως 5 ατόμων χωρίς να είναι απαραίτητο αυτό. Εξαρτάται δηλαδή τις ικανότητες που έχει το κάθε άτομο ξεχωριστά. Λοιπόν, αν δεν μπορεί να συντονιστεί μια ομάδα, αν εγώ λέω για παράδειγμα στον φίλο μου, κάνε μου ένα πορτοκαλί μπαλάκι και μου φέρνει ένα βαρέλι κίτρινο, εκεί υπάρχει κάπου πρόβλημα στην επικοινωνία. Οπότε σαν ομάδα μπορεί να μην δέσετε με κάποιον. Σε αυτή την περίπτωση, όταν θα επιλέξετε ομάδα για να χτίσετε ένα project, να είστε σίγουροι ότι υπάρχει επικοινωνία. Ό,τι συνεννοείστε γενικότερα. Είναι βασικό. Αν είστε εσείς αυτός που χτίζει την ομάδα, ισχύει το ίδιο, επιλέξτε σωστά τα μέλη της ομάδας αυτής. Για να μην έχετε προβλήματα αργότερα, γιατί άπαξε και ξεκινήσει το project, είναι όλα σε μια πολύ λεπτή γραμμή. Λοιπόν, και το τελευταίο που είναι το κυριότερο. Κάποια στιγμή, όσοι λίγο προχωρήσετε στο κομμάτι αυτό, σίγουρα θα έχετε πιστέψει ότι βρήκατε τη σούπερη ιδέα για να κάνετε ένα παιχνίδι. Την καλύτερη ιδέα του κόσμου. Θα τους μηδενήσετε όλους. Θα σταματήσουν να παίζουν το LOL και θα αρχίζουν να παίζουν το δικό σας παιχνίδι. Όχι, δεν θα συμβαίνει αυτό. Λοιπόν, και φυσικά δεν σημαίνει ότι και οι γύρο πρέπει να αισθανίζονται την άποψη αυτή. Δεν σημαίνει ότι εσείς επειδή πιστεύετε έχετε την καλύτερη ιδέα, ότι θα την έχουν και οι άλλοι. Οπότε, για αν θέλετε να πείστε να κάνετε μία ομάδα άλλους, ή πρέπει να τους πληρώσετε, που είναι το κυριότερο, για να έχετε και τον απόλυτο έλεγχο, ή θα πρέπει να τους προσφέρετε μερίδες από τυχόν κέρδη, αλλά στη δεύτερη περίπτωση θα πρέπει να τους πείσετε ότι έχετε την σούπερη ιδέα, το οποίο δεν θα πω αδύνατον, αλλά δεν είναι δυνατό να συμβεί. Λοιπόν, τώρα, καταγραφία αναγκών. Το αρροσκάφος θα επιταχύνει όταν έχει καθοδική πορεία, όπως γίνεται φυσικά και στην πραγματική ζωή, όταν πέστη κάτι πέστη πιο γρήγορα, ενώ θα επιβραδύνει όταν πάει να σηκωθεί. Το αρροσκάφος επηρεάζεται από τη συγκρούση στο έδαθος. Πέφτει κάτω και διαλύεται. Αυτό τι σημαίνει, όμως, είναι future. Αυτό σημαίνει ότι κώδικα. Άρα θα δούμε αν θα το βάλουμε αυτό. Να, να παίρνει φωτιά. Τη φωτιά ποιος θα τη σχεδιάσει. Ακριβώς, έτσι. Αυτά όλα πρέπει να τα σκεφτόμαστε όταν υλοποιούμε ένα project. Το αρροσκάφος έχει τη δυνατότητα ρίψης πυράβλων. Πετάει ρουκέτες και εξοντώνει τον εχθρό. Ή εξοντώνει στόχους. Το παιχνίδι μπορεί να είναι βρες το στόχο. Θα υπάρχει χρόνος ή μια αντίστροφη μέτρηση για να μπορέσεις να επιτεύξεις ένα στόχο. Πρέπει να φτάσεις από το σημείο α' στο σημείο β' σε αυτόν τον χρόνο. Ή πρωτού τελειώσει ο χρόνος. Θα υπάρχουν αποστολές. Πάρε έναν επιβάτη και πήγαινε τον σε ένα άλλο σημείο. Ή πήγαινε κατέστρεψε τη βάση του εχθρού. Ή βάψε το αεροπλάνο. Δεν είναι ανάγκη να είναι το αεροπλάνο να πετάει. Μπορεί να είναι κάτι άλλο. Τι γραφικά και ήχους θα χρησιμοποιήσουμε. Αυτός ο φάκελος που έχετε ο άσσετς στην επιφάνεια εργασίας. Όσοι δεν τον έχετε θα τον πάρετε κάπου κυκλοφορεί ένα φλασάκι. Έχει μέσα όλα τα άσσετ που θα χρησιμοποιήσουμε. Θα το δούμε στην Βορία. Μην τον ισχύσαι. Το αεροσκάφος θα είναι τύπου β παγκοσμίου πολέμου. Είναι ρωσικό αν δεν κάνω λάθος αυτό που σας έχω. Αν δεν είναι ρωσικό δεν πειράζει. Το σίγουρο είναι ότι είναι αεροσκάφος και πετάει. Οι πύραυλοι καθώς και ο κινητήρας θα συνοδεύονται από particles. Τα particles είναι τα σωματίδια. Είναι η φωτιά που βγαίνει πίσω από το αεροπλάνο. Ή ο καπνός συνήθως τα χρησιμοποιούμε για αυτόν τον λόγο. Κατά τη σύγκρουση με το έδαφος θα ακούγεται χαρακτηριστικός ήχος. Όλα αυτά είναι μερικές λειτουργίες στις οποίες μπορούμε να ενσωματώσουμε μέσα στο παιχνίδι. Και να μπορέσουμε να κάνουμε ένα project το οποίο θα είναι όμορφο. Και κατά την εκτόξευση στον πύραυλο θα πρέπει να ακούγεται ένας ήχος. Φέρνει ο πύραυλος. Κανονικά σκεφτείτε όταν παίζετε ένα παιχνίδι. Τι ήχοι ακούγονται. Τώρα, τα mechanics. Θα σας τα ανοίξω όλα μαζί να τα δείτε. Αυτά είναι και τα victory condition. Να τα δούμε λίγο συνολικά. Εδώ είμαστε. Τα mechanics είναι πώς παίζεται το παιχνίδι. Όχι. Αυτό είναι ο χειρισμός. Εγώ λέω το παιχνίδι. Στο σκάγγι για να κερδίσεις πρέπει να εξοντώσεις το βασιλιά του αντιπάλου. Σωστά. Το mechanics δηλαδή είναι kill the king. Σκότωσε το βασιλιά. Δεν είναι ότι ο στρατιώτης κινείται ένα κουτάκι μπροστά ή ένα πίσω. Αυτό είναι το πώς παίζεται. Ο σκοπός που έχει το παιχνίδι. Δηλαδή τι πρέπει να κάνεις σε αυτό το παιχνίδι. Αυτό είναι το mechanics. Όχι. Το mechanics είναι το πώς παίζεται. Ο σκοπός είναι το victory condition. Ναι. Εδώ πέρα έχει παιχνίδια τα οποία resource management. Συνήθως αυτά τα παιχνιά με τις farms που παίζουμε στο facebook για παράδειγμα. Πρέπει να μαζέψεις τα χλάδια, τα μήλα, όλα αυτά. Ενώ τα victory condition mechanics έχουν να κάνουμε το πότε κερδίζεις τέλος πάντων το παιχνίδι. Τι είναι τα asset. Αν και το ψηλό είπαμε ας το δούμε ξανά. Asset είναι οτιδήποτε θα εισάγουμε μέσα στο project. Είτε αυτό λέγεται ήχος, είτε λέγεται εικόνα, είτε λέγεται γραφικά, είτε λέγεται animation, είτε 3D model, είτε script, είτε shader. Shader είναι ο τρόπος που επιδρά το φως επάνω σε ένα αντικείμενο. Αν θέλουμε δηλαδή να γυαλίζει, αν θέλουμε να λάμπει, αυτά τα κάνουμε με shader. Οι σκιάς έρχονται από μόνοι τους με το φως. Τα materials, δηλαδή η υφή που θα δέχεται ένα αντικείμενο. Φυσικά για να ξεκινήσουμε να κάνουμε ένα project τα asset πρέπει να τα έχουμε από πριν. Η Unity δεν σχεδιάζει asset, η Unity απλά τα συνθέτει. Τα asset τα έχουμε σχεδιάσει από πριν. Δηλαδή, αν σκεφτόμαστε να βάλουμε μια γέφυρα στο παιχνίδι μας και είμαστε μέσα στη Unity, δεν υπάρχει τρόπος να την βάλουμε τη γέφυρα γιατί δεν μπορείς να φτιάξεις γέφυρες με τη Unity. Δεν μπορείς να σου αντιμετωπίσει κάτι στο AutoCAD, να αντιμετωπίσει το AutoCAD στο Unity. Ναι, πρέπει από πριν να έχετε σχεδιάσει τη γέφυρα ή ότι άλλο θέλετε να σχεδιάσετε. Τώρα, τα εργαλεία που θα χρησιμοποιήσουμε για επεξεργασία εικόνας, αυτά θα σας τα δώσω σε λίστα στο διαδίκτυο όταν τελειώσει το εργαστήρι για να τα δείτε. Είναι κάποια εργαλεία για κάθε μία δουλειά συγκεκριμένη. Δηλαδή, άλλα εργαλεία χρησιμοποιούμε για επεξεργασία εικόνας, για ήχο, για 3D modeling και ούτε καθεξής. Τώρα, γιατί χρειάζομαι, είπαμε, επιπλέον ο λογισμικός για να κάνω ένα project. Γιατί είπαμε ότι η Unity δεν είναι ένα πρόγραμμα το οποίο έχει δυνατότητα επεξεργασίας γραφικών και ήχου. Άρα, τα άστατοι πρέπει να τα έχουμε έτοιμα από πριν. Μόνο τον κώδικα γράφουμε στη Unity. Αυτό, ναι. Δηλαδή, παίρνουμε τα κομμάτια του puzzle και στη Unity απλά προγραμματίζουμε. Έχει κάποιες δυνατότητες animation, αλλά επειδή είναι λίγο προχωρημένο αυτό το κομμάτι, το αφήνουμε απ' έξω. Εμείς σε πρώτη φάση θα ξέρουμε ότι για να σχεδιάσουμε ένα project στη Unity πρέπει τα άστατοι να τα έχουμε έτοιμα. Θα παίξουμε με τον φωτισμό, θα κάνουμε ένα ωραίο τερρεν τώρα όλοι μαζί, αλλά από εκεί και πέρα το τι θα έχει το τερρεν, το τι κτίρια θα έχει, ή αν θα έχει δρόμους, ή αν θα έχει δεντράκια, ή αν θα έχει θάμνος, όλα αυτά από το asset store. Ή περιβάλλον, ας πούμε, ουρανό και τα λοιπά. Λοιπόν, τώρα. Ένα τελευταίο, και τελειώνω υπόσχομαι, είναι αυτό που σας είπα στην αρχή. Μην πάτε να φτιάξετε το επόμενο Warcraft με το Unity Unity. Δηλαδή, όταν έχετε στο μυαλό σας, θα φτιάξω ένα παιχνίδι, σκεφτείτε να φτιάξετε, για παράδειγμα, απλά ένα ανθρωπάκι που θα περπατάει στην αρχή. Δεν θα κάνει τίποτα. Απλά θα περπατάει. Ναι, απλά να περπατάει. Δεν είναι ανάγκη να κάνει κάτι. Μετά, αφού νιώσετε ικοιότητα με αυτό το πράγμα, κάντε το να πατάει ένα κουμπί και να ανοίγει η πόρτα, ας πούμε. Είναι και αυτό μια διαδραστικότητα στο project. Στη συνέχεια βάλετε μετά να βγαίνουν και μούμιες μέσα από τον τάφο. Και μετά να κυνηγάνε τον τύπο, ας πούμε, που κάνει την περίγγιση και να προσπαθεί να τα σκοτώσει. Και να, έχεις φτιάξει ένα παιχνίδι. Αλλά δεν το έχεις σκεφτεί κατευθείαν και να κάνεις από την αρχή ένα τόσο πολύπλοκο project. Ξεκινήστε σιγά-σιγά, με αργά βήματα, για να καταλάβετε ακριβώς το κάθε στάδιο. Λοιπόν, τώρα. Σε αυτό εδώ το link, το οποίο είναι ένα group στο Facebook, είναι η ελληνική κοινότητα Unity3D, την οποία έχω ιδρύσει. Μπορείτε να μπείτε μέσα και να κάνετε τις ερωτήσεις σας εκεί. Υπάρχει μια μεγάλη κοινότητα από άνθρωποι που είναι γεγραμμένοι και μπορούν να σας βοηθήσουν και αργότερα κι εσείς να βοηθήσετε τους νεότερους που θα μπορούν μετά από εσάς. Τώρα, θα σας δείξω ένα διάγραμμα. Για να δείτε λίγο. Είναι από το Xmind το πρόγραμμα που σας είπα. Είναι η εικόνα που σας έδειξα στην αρχή, μέσα στην παρουσίαση. Και εδώ έχω ορίσει κάποια χαρακτηριστικά όσον αφορά το project. Αυτά τα ορίζει ο καθένας για το δικό του project. Δεν είναι δηλαδή standard, αλλά αυτό και αν το πάρετε δεν θα σε εξυπηρετήσει κάπου. Κάνουμε μια καταγραφή, το τι έχουμε κάνει, το τι μπορεί να συμβεί αν κάνουμε κάποια πράγματα, δηλαδή το αν εγώ αποφασίσω να βάλω ρουκέτες μέσα στο παιχνίδι μου, τι ρίσκο μπορεί να έχει αυτό. Θα έχει ρίσκο του να μην καταφέρω να το κάνω και να χάσω το χρόνο μου, ενώ θα μπορούσα να κάνω κάτι άλλο πιο εύκολο και να το ευχαριστηθώ. Ορίζουμε τους στόχους, τις πληροφορίες του project και τις απαιτήσεις. Απαιτήσεις δηλαδή τι θα χρειαστώ, τι asset θα χρειαστώ, τι κώδικα, όλα αυτά. Και αυτό θα το έχετε διαθέσιμο, οπότε γενικά όλο το project θα το έχετε διαθέσιμο, θα το ανεβάσουμε μετά με τον κύριο Μπίκα, για να μπορείτε να το κατεβάσετε, για να πειραματιστείτε και ξαναλέω, μην αγχωθείτε αν κάτι δεν προλάβουμε να το ακολουθήσουμε στην διάρκεια του μαθήματος, θα σας το δείχνω εγώ και συνέχεια θα το πάρετε online. Τώρα, ορίστε. Στη σελίδα της βιβλιοθήκης, ναι. Αυτό για τις μικρότερες ηλικίες απλά να το πω. Όσοι δεν έχετε Facebook, επειδή η ομάδα που σας είπα είναι στο Facebook, δεν υποχρεωτικό να κάνετε προφίλ στο Facebook μόνο για να μπείτε στην ομάδα. Μάλλον οι μεγαλύτερες ηλικίες πρέπει να κάνουν προφίλ. Ούτε οι μεγαλύτεροι, δεν υποχρεωτικό, απλά επειδή υπάρχει εκεί, γι' αυτό το είπα, σαν μέσοκοινωνικής δικτύωσης, δηλαδή δεν σας προτρέπω να κάνετε Facebook για να μπείτε στην ομάδα, προστεύω, έτσι, δεν... Επειδή το φόρουμ της Unity γενικότερα είναι παγκοσμία ο εμβέλειας, δεν έχει δημιουργηθεί κάτι ελληνικό. Υπάρχει πιθανότητα να χτίσουμε ένα μπλοκ μικρό, έτσι, να το ξεκινήσουμε ως ομάδα εδώ στην ημαθεία και να το επεκτείνουμε λίγο, αλλά αυτό θα εξαρτηθεί από τη συμμετοχή και από το πόσο ενεργετική είναι η ομάδα και γενικά η κοινότητα. Τώρα, τελειώσαμε με αυτό, flight simulator θα κάνουμε, έτσι, άρα για να κάνεις ένα flight simulator πρέπει πρώτα να ξέρεις πώς πετάνε τα αεροπλάνα. Θα σε βοηθήσει δηλαδή για να μπορέσει να υλοποιήσει το project, δηλαδή όταν κάνουμε κάτι στον εικονικό κόσμο και θέλουμε να είναι ρεαλιστικό, ουσιαστικά μεταφέρουμε αυτό που συμβαίνει στην πραγματικότητα σε ένα πρόγραμμα. Τόσο απλά. Πώς πετάει το αεροπλάνο? Ερώτηση, η απάντηση. Ένα αεροπλάνο για να πετάξει χρειάζονται να σκυθούν επάνω του δυνάμεις φυσικής. Δεν θα κάνουμε φυσική, μην τρομάξετε. Απλά θα δούμε πολύ βασικά πράγματα. Οι δυνάμεις αυτές είναι αλληλεγμένες μεταξύ τους και είναι 4. Είναι η άνωση, το βάρος, οι οπισθέλους αδύναμοι και η ώθηση. Η ώθηση έρχεται από τους κινητήρες, ο κινητήρας πετάει πίσω του το αέριο και φεύγει προς τα μπροστά και με τα φτερά το αεροπλάνο και με την κλήση τους αρχίζει και πετάει και μένει στον αέρα. Την επιτάχηση της βαρύτητας G για την γη είναι 9,81. Ευτυχώς η Unity αυτό το έχει... Έχουμε 10 γιατί στη ψυχή σύμβουβος 10 λεπτά. Ναι, εδώ εμείς θα το λέμε 9,81 γιατί είναι αυτός ο ακριβής αριθμός. Και αργότερα θα το μάθετε και 9,81. Προς το παρόν λέτε 10, ναι. Αυτό είναι ρυθμισμένο στη Unity από προεπιλογή γιατί θεωρεί ότι το παιχνίδι που κάνετε θα είναι στη γη. Αν κάποιος κάνει ένα παιχνίδι το οποίο διαδραματίζεται σε κάποιον άλλο πλανήτη είτε φανταστικό είτε πραγματικό, αν πρόκειται για πραγματικό θα πρέπει να ξέρει ποιο είναι το G εκείνο του πλανήτη, αν είναι φανταστικό θα ορίσει έναν μόνος του μετά από δοκιμές και θα δει ποιο είναι το κατάλληλο για το δικό του project. Τώρα για να μην μπούμε σε πολλές λεπτομέρειες, να ξέρετε ότι ένα αεροπλάνο έχει τέσσερις δυνάμεις για να πετάξει. Πάνω, κάτω το βάρος, οπισθέλγουσα και όθηση. Δηλαδή αν ξεκινείς να πετάει ένα αεροπλάνο, ένα το μαχητικό χωρίς τις βρουκιάτες, θα πρέπει από τους κινητήρες να δώσουμε όθηση, να αρχίσει να πετάει και μετά να αρχίσει να ανεβαίνει προς τα πάνω παίρνοντας μια κλήση και αρχίζει να πετάει και να πηγαίνουμε στον ουρανό, στους εφέρες, να διασχίζουμε τους εφέρες. Λοιπόν, τώρα, γιατί τα είπαμε όλα αυτά με τα αεροπλάνο. Όταν ξέρουμε κάτι πώς λειτουργεί στον πραγματικό κόσμο, μας βοηθάει καλύτερα να το αποτυπώσουμε στον εικονικό κόσμο. Θα μας βοηθήσει να δημιουργήσουμε μια ρεαλιστική ή κοντά στη ρεαλιστική, δηλαδή αυτά τα αυτοκίνητα που παίζετε, τα παιχνίδια το Need for Speed και τα Grand Tourismo, αυτοί δεν είπαν απλά ας φτιάξουμε ένα παιχνίδι και να βάλουμε ένα αυτοκινητάκι να στρίβει δεξιά-εριστερά. Έχουν χρησιμοποιήσει αισθητήρες σε πραγματικά αυτοκίνητα, έχουν καταγράψει ακριβώς τις δυνάμεις που ασκούνται πάνω σε αυτοκίνητα και τις έχουν μεταφέρει σε ηλεκτρονική μορφή. Δηλαδή αν θέλει κάποιος να κάνει κάτι ρεαλιστικό, θα πρέπει να ξέρει πώς λειτουργεί αυτό που πάει να μεταφέρει στον πραγματικό κόσμο. Τις δυνάμεις. Ναι, αλλιώς πώς θα δώσουμε μία φυσική κίνηση. Υπάρχει επιστήμη γύρω από το τομέα των παιχνιδιών. Η διασκέδαση είναι για τον τελικό χρήστη. Αυτοί που το σχεδιάζουν και το προγραμματίζουν, πονάνε παιδιά, είναι δύσκολο. Εμείς που παίζουμε lol ή World of Tanks που περπατάει κάτω από τις λάσπες και πηγαίνει πιο σιγά ή σταματάει λίγο στις ανηφόρες, αυτός πόνεσε που το έκανε, εμείς χαιρόμαστε, αλλά αυτός που το έκτισε πόνεσε. Λοιπόν, αυτά όσον αφορά τις παρουσιάσεις είναι 12.15. Να κάνουμε ένα διάλειμμα, 10 λεπτά λίγο να καθαρίσω το μυαλό μας, λέω, και να μπούμε μετά στη Unity. Για να τελειώσουμε και με το φάκελο asset όσοι δεν έχουν τελειώσει και να ξεκινήσουμε μετά τη διαδικασία με τη Unity. Έτσι, κάντε λίγο 5 λεπτά διάλειμμα και επανερχόμαστε. Πάμε να συνεχίσουμε τώρα, μπαίνουμε στο πρακτικό κομμάτι του εργαστηρίου που έχουμε να κάνουμε. Για να γίνει η ζωή μας πιο εύκολη, η δική μου δηλαδή, έχω ετοιμάσει δύο workflows. Το ένα λέγεται building workflow, το οποίο έχει να κάνει με το στήσιμο της πίστας, ας το πούμε. Και το άλλο έχει να κάνει με τον κώδικα. Αυτό, όταν χτίζετε εσείς δικά σας projects, είναι καλή πρακτική να το ακολουθείτε για να κάνετε τη δική σας ζωή μετά πιο εύκολη, όταν χτίζετε project. Δηλαδή, εδώ ουσιαστικά μέσα λέει τι κάνουμε βήμα-βήμα για να φτιάξουμε ένα project. Την πρώτη φορά όλοι πεδευόμαστε για να χτίσουμε κάτι, αλλά την ώρα που το χτίζουμε, αν κάνουμε ένα καλό documentation με τα βήματα που έχουμε ακολουθήσει, τη δεύτερη φορά θα βγει πιο άνετα. Λοιπόν, όσοι είστε στο άσπρο το παραθυράκι, πατήστε... Πάμε να το κάνουμε μαζί. Αυτό και όχι μόνο αυτό. Θα σας έχω λίγο πλάτη, συγγνώμη, γιατί... Α, μπράβο, έτσι. Λοιπόν, εμείς αυτό που θα χτίσουμε είναι ένα τερέν. Το τερέν είναι το έδαφος που βλέπετε, το οποίο έχει βουνά, έχει ένα θέμα σχετικό, ωραίο, και γύρω-γύρω, αν προσέξετε, υπάρχει και ένα περιβάλλον. Δηλαδή ο ουρανός είναι ένα skybox, το οποίο έχει ένα περιβάλλον. Και όταν τρέχουμε το παιχνίδι, είναι σαν είμαστε σε ένα περιβάλλον με ουρανό. Έχει σύννεφα, έχει ηλιοβασιλέματα, έχει διάφορα πράγματα. Τώρα, έτσι πολύ γρήγορα θα σας δείξω τι θα κάνουμε. Έχουμε ένα αεροσκάφος, το οποίο όσο πατάω εγώ την μπάρα... ...θα να μας δείξω και πάλι πHz. και αν πέσω κάτω... Αυτό να φτάσει και ο Μπίκας... Για λίωση... Όχι, ήταν δική μου... αλλά απλά μετά πέσω... του αρέσουν τα αεροπλάνα... και μετά πέσω... και μετά πέσω... και μετά πέσω... και μετά... και μετά πέσω... του αρέσουν τα αεροπλάνα... Λοιπόν... Θα φτιάξουμε ένα τέτοιο... ένα κάτι πάρα πολύ απλό... Είπαμε στην αρχή... ο σκοπός είναι να φτιάξουμε έναν ανθρωπάκι... το οποίο θα περπατάει... Ας προσπαθήσουμε να φτιάξουμε ένα αεροπλάνο... το οποίο θα πετάει... Η εξέλιξη αυτού του πρότζεκτ... θα είναι αν καταφέρουμε με πειραματισμό... να του βάλετε και ρουκέτες να εκτοξεύει... Θα μάθουμε πολλά πράγματα μέσα από αυτό... για να καταματήστε και να δουλέψετε... Τώρα, πάμε όλοι μαζί... να κάνουμε ένα νέο πρότζεκτ... Είστε σε αυτήν την οθόνη... γυρίστε σε αυτήν την καρτέλα... create new project... πατήστε εδώ στο browse... Τώρα που θέλει ο καθένας να σας το βάλει... αλλά εγώ... Ήρθε... Λοιπόν... Εγώ θα το κάνω στην επιφάνεια εργασίας... Ναι... Και θα κάνουμε ένα νέο φάκελο... τον οποίο θα τον ονομάσουμε... plane... Με μικρά... γιατί τα κεφαλία δεν μας αρέσουν... Έστω στην επιφάνεια εργασίας... θα το κάνουμε όλοι εκεί... για να έχουμε μια ομοιογένεια... plane simulator... Μπαίνουμε μέσα σε αυτό το φάκελο... και πατάμε επιλογή φακέλου... plane simulator... Κάθε project... όταν ξεκινάει... μπορεί να έχει κάποια πακέτα από κάτω... αυτά τα πακέτα... αν τα δείτε σε εσάς... πατάτε enter... λέει character controller... light cookies, light flares... particles, physics materials... και έχει... ρίξτε μια ματιά λίγο στα πακέτα... καθώς επίσης ρίξτε και μια ματιά στο κάτω μέρος... έχει μια ένδειξη που λέει 3D και 2D... αν λοιπόν θέλουμε... να φτιάξουμε ένα παιχνίδι... το οποίο είναι 3D... επιλέγουμε την ένδειξη 3D... αν το παιχνίδι μας είναι 2 διαστάσεων... επιλέγουμε... το 2D... 3D για 3, 2D για 2... εμείς τι θα κάνουμε 3D... άρα το 3D μας βολεύει... πακέτα θα χρειαστούμε 2... αλλά δεν θα τα βάλουμε τώρα... για να σας δείξω πώς μπαίνουν μέσα από τη Unity... οπότε εσείς... το μόνο που έχετε να κάνετε είναι να πατήσετε... Create... πατήστε το... αν δεν σας άνοιξε παράθυρο... και άνοιξε η Unity άδεια... όχι, σου είχε αποτύχει... ποιο είχε αποτύχει... παρακολούθατε το λίγο... ένα φάκελο στην επιφάνεια εργασίας... με το όνομα Plane Simulator... κανένα πακέτο δεν θα βάλετε... το Welcome to Unity κλείστε το... δεν μας χρειάζεται... λοιπόν... θα πατήσουμε Create... θα κλείσει για λίγο η Unity... και θα ξανανοίξει με ένα άδειο project... το Welcome to Unity... αν δεν θέλετε να το ξαναδείτε... μπορείτε να πατήσετε εδώ... και να το κλείσετε... λοιπόν... έχουμε όλη τη Unity μπροστά μας... με ένα... γκρίζο ή μπλε παράθυρο... δεν μας πειράζει το χρώμα... τώρα... στο επάνω αριστερό μέρος... αυτή τη στήλη... όπου είναι η ιεραρχία... εκεί είναι όλα τα αντικείμενα... που έχουμε στη σκηνή μας... αυτή τη στιγμή το μόνο πράγμα... που έχουμε μέσα στη σκηνή... είναι μια κάμερα... main camera... την βλέπετε όλοι... όταν κάνετε κλικ στην κάμερα... την επιλέγετε... σε ποιον είναι αλλιώς... όσοι είστε στο game... εδώ πέρα... πατήστε στο scene... εντάξει... ναι δεν πειράζει... εντάξει... λοιπόν... έτσι... σκηνή... αυτό το οποίο κάνουμε... αρχικά είναι να ελέγξουμε... ότι η κάμερα μας υπάρχει... ότι είναι μέσα στη σκηνή... βεβαιωθείτε ότι δεν έχετε πατημένο... κάποια από αυτά τα κουμπιά εδώ πάνω... δεν είναι δηλαδή πατημένο το 2D για παράδειγμα... αν είναι... ξεπατήστε το... αν δεν είναι αφήστε το όπως είναι... 3D και 2D... να λέει 2D... και όταν έχουμε επιλεγμένη την κάμερα... αυτό το οποίο συμβαίνει... είναι να βλέπουμε δεξιά... τις ιδιότητες της κάμερας... εκεί είναι το property window... το inspector που λέμε... ό,τι επιλέγω δηλαδή μέσα στη σκηνή μου... εδώ δεξιά βλέπω... τις ιδιότητες του αντικειμένου που έχω επιλέξει... τώρα... πάμε να κάνουμε τον κόσμο μας... καλύτερο... το πρώτο πράγμα που θα κάνουμε είναι... να δημιουργήσουμε... ένα skybox... και ένα terrain... αλλά πριν το κάνουμε αυτό... πάμε όλοι μαζί... assets... import package... να βάλουμε τα particles... θα βλέπετε τα particles... σε αυτό το παραθυράκι που έχει βγάλει... πατήστε import όπως είναι... το import είναι κάτω δεξιά στο παραθυράκι που σας έβγαλε... και θα βάλουμε ξανά... από τα assets πάλι... import package... βάλαμε τα particles... θα βάλουμε και τα skyboxes... θέλουμε τα particles και τα skybox... θα βάλουμε τα skyboxes και τα skyboxes... και τα two... μπαίνουν στο standard assets... skyboxes... import... πολύ ωραία... και περιμένουμε να... γεμίσουν... αυτή νομίζω είναι η 4-5... αλλά δεν έχουμε πολύ μεγάλες διαφορές... όχι, θα λειτουργεί κανονικά... απλά οι καινούργες έχουν extra λειτουργίες... αυτό το οποίο έχει συμβεί τώρα παιδιά... έχουμε βάλει δύο standard assets... τα οποία θα βλέπουμε εδώ κάτω... και μπαίνοντας μέσα... έχουμε ένα φάκελο με τα particles... και ένα με τα skyboxes... πάμε να εισάγουμε τα assets... που έχουμε στην επιφάνεια εργασίας... έχουμε δύο τρόπους να το κάνουμε αυτό... θα κάνουμε ένα δεξί click... μπορούμε να κάνουμε βασικά και drag & drop... το οποίο είναι το πιο εύκολο... πατήστε όχι το X, το δίπλα... την επαναφορά που λέμε... να μην καλύπτει όλη την οθόνη το πρόγραμμα... θα σας πω, θα τα βάλουμε ένα ένα... για να μην μπερδευτούμε... λοιπόν, ανοίξτε το φάκελο assets... θα βάλουμε δίπλα... τώρα... είμαστε έτοιμοι... εγώ σας θα έχω χωρισμένα σε φακελούς... που σημαίνει ότι μπορείτε να πάρετε τον φάκελο audio... για παράδειγμα... να τον πιάσετε και να τον σήρετε... μέσα εδώ στα assets... το αφήνω... ναι, ναι, κάντε το... πάει το audio... το audio σημαίνει ήχος... άρα φαντάζεστε ότι μέσα έχει ήχους... έτσι... πάει αυτό... πάμε να βάλουμε και τον φάκελο fonts... το οποίο σημαίνει γραμματοσυρές... βάζουμε και τις γραμματοσυρές... όχι, γιατί τα scripts δεν θα τα βάλουμε... υποτίθεται θα τα φτιάξουμε μόνοι μας... πάρτε το... SU37 Terminator... που είναι το αεροσκάφος μας... σήρετε το και αυτό μέσα... αυτό μπορεί να αργήσει λίγο παραπάνω... ok... ποιο... και πάρτε και τα textures... και ρίχτε τα και αυτά μέσα... ναι, ναι, αυτά επειδή είναι εικόνες... θα πάρουν λίγη ώρα μέχρι που να γίνουν... η γραμματοσυρά είναι... αν προσέξατε πριν που πάτησα το play... που έγραφε δύναμη... έχετε και αυτό το prefab που λέει εδώ... Terminator prefab... αυτό βέβαια μπορούμε να το φτιάξουμε και μόνοι μας... αλλά βάλετε του και αυτό μέσα... αυτό είναι ένα αντικείμενο... το οποίο... έχει πάρα πολλές ιδιότητες μαζεμένες... είναι σαν ένας φάκελος... ο οποίος κρύβει το αντικείμενο... θα την εμφανίσει με ένα μπλε κύβο... βάλετε και το prefab μέσα... είναι ένα αρχείο, δεν είναι φάκελος, είναι μόνο του... δηλαδή λέει... su37terminator.prefab... θα το ρίξετε και αυτό μέσα μαζί με τα άλλα... σχεδόν... βασικά αυτό θα καθυστερεί λίγο... φαντάζομαι... γιατί είναι λίγο βαρύ όταν κάνει την εισαγωγή... τα asset... μέσα στη unity... τον φάκελο asset... τον κλείνουμε γιατί δεν θα το χρειαστούμε άλλο... τον κλείνουμε και ξαναμεγαλώνουμε το παράθυρο της unity... τώρα... τι θέλω να κάνουμε στη συνέχεια... να φτιάξουμε το terrain... το terrain είναι η πίστα... η πίστα θα γίνει... τόσο όμορφη... όσοι αγάπη της δώσουμε... δηλαδή... αν κάνουμε δυο πινελιές... θα κάνουμε μία άσχημη πίστα... αν κάνουμε τέσσερις πινελιές... θα κάνουμε μία πιο όμορφη πίστα... αν φάμε μία μέρα να κάνουμε μόνο την πίστα... θα κάνουμε μία τέλεια πίστα... θα κάνουμε μία πίστα η οποία να είναι... ωραία... πάμε να φτιάξουμε ένα terrain... πάμε στο game object... create other... κάπου προς τα κάτω έχει την επιλογή terrain... το είδαμε όλοι... terrain... game object... create other... Εκεί τώρα... create another... μήπως έχετε στο... στο κομποχή... create empty... 3D object πηγαίνετε... 3D object... Εκεί το έχουμε το terrain... το έχουμε στο game object... terrain... πατήστε ναι... ωραία... Αλλιώς αν δεν το έχει εδώ πέρα... θα έχουμε μία επιλογή... και θα είναι εκεί μέσα του τερρεν. Αυτό συμβαίνει γιατί έχετε άλλη έκδοση. Δεν πειράζει όμως. Κάτι τέτοιες ψιλοδιαφορές, με λίγο ψάξιμο θα τις βρείτε που βρίσκετε το κάθε τι. Τώρα θα φτάσουμε και εκεί. Ναι, τώρα δεν ξέρω πώς θα γίνει με το laptop. Αυτό που θα κάνετε τώρα είναι πατήστε ένα κλικ εδώ στο τερρεν, αριστερά. Κάτω στο τερρεν, φέρετε το ποντίκι μέσα στη σκηνή και πατήστε το F. Να κάνει focus. Το F είναι στο πληκτρολόγιο. Το πλήκτρο F. Αν δεν δουλεύει σημαίνει ότι είστε στα ελληνικά. Να το, αυτό το πράγμα πρέπει να γίνει. Το τερρεν που έχω εγώ στο παράδειγμα, το έχω φτιάξει με ένα height map. Το height map σημαίνει μια ασπρό-μαύρη εικόνα με διαβαθμίσεις του γκρι, όπου το άσπρο σημαίνει βουνό και το μαύρο σημαίνει πεδιάδα. Για να κάνουμε ένα καλό height map χρησιμοποιούμε ένα extra λογισμικό. Εμείς εδώ δεν θα χρησιμοποιήσουμε όμως extra λογισμικό. Θα χρησιμοποιήσουμε τις βούρτσες και τις επιλογές που έχει η Unity. Geo control. Game object, create other, τερρεν. Ή create 3D object και μετά τερρεν. Λοιπόν, προσέξτε τώρα τι θα κάνετε. Έχοντας κάνει ένα κλικ στο τερρεν όλοι πατήστε εδώ δεξιά το γρανάζι για να δώσουμε κάποιες ρυθμίσεις. Click and drag. Το γρανάζι είναι όταν έχετε επιλεγμένο το τερρεν. Δεξιά υπάρχει το γρανάζι που είναι οι επιλογές του τερρεν. Διαστάσεις, να βεβαιωθούμε ότι έχουμε όλες τις ίδιες διαστάσεις. Το width και το length να είναι σε όλους 2.000. Είναι δεξιά, παιδιά. Είναι δεξιά. Το τερρεν όμως το βάζουμε μέσα. Όχι, το τερρεν υπάρχει εδώ πέρα, δημιουργείται. Ναι, αν θες να το δεις κάνεις κλικ επάνω του μπαίνεις μέσα στη σκηνή με το ποντίκι και πατάς το πλήκτρο F για να κάνει focus εκεί. Τις γραμμές, εννοείς, της γύρω-γύρω. Δεν είναι το γύρω-γύρω, δεν είναι τίποτα εκείνο. Έναν γκρι πράγμα, αυτό είναι το τερρεν. Λοιπόν, έχετε όλοι 2.000 και 2.000. Εδώ δεξιά όταν επιλέγω το τερρεν υπάρχει ένα γραννάζι τα properties. Ρυθμίσεις, πατήστε εκεί. Και εδώ κάτω είναι η ρυθμίσεις του τερρεν. Width και height, 2.000. Το 2.000 σημαίνει 2.000 μέτρα επί 2.000 μέτρα. Δηλαδή, αν έχουμε ένα μοντέλο ενός ανθρώπου που είναι 1.80 ύψος και περπατάει με την ταχύτητα που περπατάει ένας άνθρωπος, για να φτάσει από τη μία έκρη στην άλλη, θα κάνει όσο θα έφτανε ένας άνθρωπος σε δύο χιλιόμετρων. Δηλαδή θα έκανε 10-15 λεπτά δεν ξέρω πόσο κάνει για να περπατήσει κανείς δύο χιλιόμετρα. Για το αεροπλάνο αυτό το μέγεθος τερρεν είναι πολύ λίγο. Το αντιλαμβάνεστε. Το αεροπλάνο τρέχει με απίστευτη ταχύτητα. Πετάει με απίστευτη ταχύτητα. Αν θέλαμε να κάνουμε ένα πραγματικό τερρεν θα πρέπει να είναι τουλάχιστον 20.000 επί 20.000. Για να έχει χώρο να πετάξει. Αλλιώς θα βγούμε έξω από το τερρεν και θα πετάμε πουθενά βασικά. Μόνο ο ουρανός θα βλέπουμε. Υπάρχει βέβαια και προγραμματιστικός τρόπος όσο πετάει ένα αεροπλάνο να δημιουργεί από μπροστά τερρεν. Αυτό είναι μια τεχνική για να μην χρειάζεται να κάνουμε τεράστια αντικείμενα και δεσμεύουμε πολλούς πόρους για τον υπολογιστή και δεν τρέχει το παιχνίδι μετά. Βέβαια για να φτάσουμε σε εκείνο το προγραμματιστικό επίπεδο πρέπει να κατακτήσουμε πρώτα αυτό. Πάμε να κάνουμε εδώ στο χρώμα. Έχετε βάλει και στο ύψος όλη την τιμή. 2.000, 2.000 το height κάτω το 500. Μέτρα είναι αυτά. Μονάδες είναι βασικά αλλά μεταφράζονται σε μέτρα. Ναι, αυτό να μην μας ξεφύγει. Το θέλουμε 2.000 ακριβώς. Ωραία. Τα υπόλοιπα για καλή μας τύχη δεν θα τα πειράξουμε. Θα τα αφήσουμε όσοι έχουν. Και σε περίπτωση που χάσετε το τερρέν από το οπτικό σας πεδίο και συμβεί αυτό το πράγμα σημαίνει ότι έχει χάσει τις ρυθμίσεις του. Και με ένα enter, το είχα κάνει ένα μέτρο που ήταν πολύ μικρό και αυτό δεν φαινόταν. Τώρα, θα ξεκινήσουμε να σχεδιάζουμε με τη βούρτσα. Κάντε ένα κλικ όλοι στο πρώτο εργαλείο. Ένα από τα μειονεκτήματα που έχει η unit είναι ότι δεν έχει πάρα πολύ ευελιξία στο να δημιουργεί κανείς τερρέν. Αυτό είναι ένα μειονέκτημα που έχει. Για αυτό για το παράδειγμα εγώ είχα χρησιμοποιήσει extra λογισμικό που κάνει heightmaps. Heightmaps δηλαδή τερρέν υπό τη μορφή εικόνας και μπορώ να τα κάνω εισαγωγή εδώ. Θα ξεκινήσουμε να σχεδιάζουμε ένα τερρέν εδώ να δείτε τις δυνατότητες που έχει και θα φτιάξουμε ένα τερρέν, θα ασχοληθούμε 10-15 λεπτά ο καθένας να κάνει ένα τερρέν που αυτός πιστεύει ότι είναι ωραίο. Έχετε κάνει κλικ στο πρώτο εργαλείο όλοι? Κάνοντας κλικ αυτές είναι οι βούρτσες, είναι τα διάφορα είδη βούρτσας. Τα 4 πρώτα είναι τα βασικά και μετά τα υπόλοιπα είναι για να κάνουμε λεπτομέρειες, δηλαδή να κάνουμε απότομους γκρεμούς και τέτοιου είδους εργασίες. Θα επιλέξουμε την πρώτη που είναι και ομαλή στις άκρες. Από κάτω ακριβώς στα settings έχουμε το brush size που είναι το μέγεθος της βούρτσας, δηλαδή αν φέρω, αν κάνω λίγο zoom, αυτό το που κάνω τώρα, το κάνω έχοντας πατημένο το μεσαίο κουμπάκι από το ποντίκι, τώρα θα μου πεις δεν έχουμε ποντίκι. Ναι, αυτό είναι ένα πρόβλημα γενικά. Ναι, ναι, ok. Zoom in, zoom out με το ροδάκι. Αυτόματο zoom κάνουμε με το F. Με το ροδάκι από το ποντίκι. Δεν έχουμε ροδάκι. Κάνε όπως τα κινητά που κάνεις με τα δύο δάχτυλα. Φαντάζομαι, ή αν όχι... Βασικά δεν έχεις κάνει click εδώ πέρα. Εγώ δεν μπορώ να δω το terrain, βλέπω μόνο το γύρω-γύρω. Το terrain είναι ένα γκρπ πράγμα. Ναι, είναι ένα σκούρο γκρπ και ένα άνοιχτο γκρπ, εγώ πρέπει να το σκούρω μόνο. Δεν μπορώ να βρω το... Κάνε click στο terrain. Κάντε ένα click στο terrain εδώ αριστερά, όσοι το έχετε χάσει, και πατήστε το F. Και βεβαιωθείτε ότι στο inspector έχετε τις σωστές διαστάσεις. Έλα στο inspector. Δείτε, δείτε, δείτε. 2, 2, 500. Κάνε ένα enter εδώ. Ναι, και είσαι σε ISO βασικά. Δώσε το σημαίνει. Ότι δεν έχεις σωστή προοπτική. Που σημαίνει ότι δεν δουλεύει και το ποντίκι. Το perspective θέλεις. Ναι, φαντάζομαι. Και τώρα πρέπει να γυρίσεις λίγο... Θα το αλλάξουμε, ναι. Νάτο. Βασικά... Το ποντίκι σου, φτιάξτε το ποντίκι σου. Είστε όλοι στο σημείο που έχουμε κάνει το terrain. Θα πιάσεις όλους αυτούς τους φακέλους. Το θέμα είναι πώς θα σβήσεις τα βουναλάκια. Audio. Πατημένο. Και το φέρνεις εδώ μέσα και το αφήνεις. Μάλλον παιδάει. Ναι. Το κάνεις από συμπίεση. Στην επιφάνεια εργασίας. Όχι. Αν δεν το κάνεις, πώς θα... Desktop. Ναι, βασικά το ποντίκι είναι απαραίτητο, η αλήθεια είναι. Ναι, χωρίς ποντίκι είμαστε λίγο δύσκολα. Τώρα, αυτή τη στιγμή... Βασικά, μη σας ανησυχεί και να μην καταφέρετε να το ακολουθείτε ακριβώς. Τον κώδικα και όλα αυτά εδώ πέρα θα τα έχω ενερτημένα στο διαδίκτυο. Σε συνδυασμό με το βίντεο το οποίο έχετε κάνει. Θα τα έχω ενερτημένα στο διαδίκτυο. Σε συνδυασμό με το βίντεο το οποίο υπάρχει. Θα μπορείτε να το επαναλάβετε και μόνοι σας. Δηλαδή, προτιμότερο είναι να παρακολουθείτε παρά να είμαστε, ας πούμε... Δεν μπορώ να κάνω αυτό και δεν μπορώ να κάνω το άλλο. Είναι πιο εύκολο να το κάνουμε, νομίζω, έτσι. Για να έχουμε και μια συνέχεια. Έλα, εδώ μέσα στας, έτσι είσαι. Εντάξει. Με αυτές τις βασικές θυμίσεις που υπάρχουν με τη ροδέλα και το δεξί κλιπ, μπορείς να τα βάσεις ακριβώς όπου θες. Τυχεότερες μπορεί να σχηματίζει, ας πούμε. Τυχεότερες, όχι. Αυτό που μπορεί να κάνει, όμως, είναι να πάρουμε ένα heightmap από εξωτερική εφαρμογή, η οποία φτιάχνει τυχεότερες και να το εισάγουμε και να τελειώνουμε. Κι αυτόν βολικό είναι. Τυχεότερες, τυχεότερες. Πόσο σβήνει αυτό τώρα? Αυτό. Ό,τι έχει εδώ μέσα, εκτός από τα script, και αυτό μόνο. Δεν μπορώ να το περνάω. Όχι, περνάς αυτό και όλα τα άλλα εδώ πάνω, εκτός από τα standard και τα script. Δηλαδή αυτό, αυτό, αυτό. Όχι, δεν το περνάς, δεν το περνάς. Ανέρεση. Ανέρεση, Ctrl-Z, παιδιά, ή Edit-Undo. Γιατί όλοι θα συναντήσετε δυσκολίες, επειδή είναι η πρώτη φορά, προτιμότερο είναι να παρακολουθήσετε τη διαδικασία από εδώ, για να μπορέσετε να το επαναλάβετε μετά στο δικό σας χρόνο και το ρυθμό. Τώρα, όσοι έχετε κάνει το terrain, πατημένο το ροδάκι από το ποντίκι, μπορείτε να πηγαίνετε πάνω κάτω. Και με το ροδάκι κάνετε zoom in και zoom out. Πάρτε τη βούρτσα τη μία, την πρώτη. Αυξήστε λιγάκι το μέγεθος. Ωραία. Και λίγο ακόμα, ίσως. Το από κάτω το opacity είναι η ένταση. Αυξήστε και την ένταση λιγάκι. Και πάμε να ξεκινήσουμε. Θα το δούμε, δεν έχει μία σταταρτημή. Λοιπόν, αν έχω το alt πατημένο, το αριστερό alt πατημένο, μπορώ να γυρίζω και να περιστρέφω το terrain. Λοιπόν, πάμε να κάνουμε βουνάκια, βουναλάκια, έτσι. Αν δείτε ότι δεν υψώνεται το βουνό πολύ έντονα, αυξήστε λίγο το opacity. Ας κάνουμε έτσι διάφορα βουναλάκια από εδώ. Πατημένο το alt και κλικ με το ποντίκι και γυρίζουμε. Πέρα δόθη. Πατημένο το alt. Λοιπόν. Μετά πάρτε μία άλλη βούρτσα. Κάντε λίγο πιο τραχές επιφάνειες. Αν θέλουν να το χαμηλώσουμε... Όχι, με shift πατημένο κάνει το αντίθετο. Shift πατημένο. Οριστε. Πινέλο βάλτε ό,τι θέλετε. Ασχοληθείτε με αυτό περίπου. Πατημένο το alt. Πατημένο το alt. Πατημένο το alt. Πατημένο το alt. Ασχοληθείτε με αυτό περίπου 10 λεπτά, όχι παραπάνω. Και... Βασικά κάνει λίγο ζεστή. Ναι, αν είναι εύκολο. Σηκώσουμε όλο το άλλο και αυτό που είναι κάτω είναι το μηδέν. Έλα, βασικά είναι όλα μαζί. Θα βάλω το τερέν. Το βάλουμε. Το βάλεις το τερέν. Βασικά θέλεις ποντίκι. Ναι. 10 λεπτά. Και μετά θα δούμε πώς μπορούμε να το χτίσουμε το τερέν από ένα height map. Έχεις πατημένο τίποτα? Αυτό το πράγμα. Δεν μπορώ να ακονίσω την κάμερα εδώ πέρα. Πάτε το escape. Με φύγε? Όχι. Πάτε το W. Τίποτα. Τίποτα και εδώ πάνω. Πάτε το δίπλα. Το δίπλα, όχι το ματάκι. Σταυρό. Το περιμένω λίγο, θα ρθω να το δω. Κατέβασες το φάγγελο asset από την επιφάνεια. Είναι στην επιφάνεια εργασίας δηλαδή. Αφήστε χώρο για να πετάει, μην κάνετε μολβούνα. Παίρνει το σύστημα, δεν έχω πρόκειται να το δω. Εντάξει, τώρα ξέρω βέβαια. Βέβαια. Είναι σωστό. Λοιπόν, δεν είναι σωστό, είναι σημαντικό. Βέβαια. Είναι σωστό. Είναι σωστό. Βέβαια. Βέβαια. Είναι σωστό. Όχι, είναι σωστό. Ε, μπορεί να πετάνει διάμεσα από τα βουνά ή μπορεί κάποια βουνά να είναι όχι τόσο ψηλά όσο τα άλλα. Ναι, ναι, κλικ με τη βούρτσα και κλικ μέσα στο τερένο. Πού είναι το τερένο σου? Shift και κλικ κάνει το αντίθετο, δηλαδή κατεβάζει. Βάλει και τα textures, όταν τελειώσει. Μα ρωτήσω κάτι. Ορίστε. Το ύψος 500 και εδώ το opacity είναι 100, σημαίνει ότι έχει ένα 400 μέτρα να πετάει. Όχι, το opacity σημαίνει ότι ανεβαίνει με τέτοια με γρήγορη ένταση. Κάθε κλικ ανεβαίνει 100. Ναι, είναι ο ρυθμός. Όχι, δεν είναι ύψος το opacity. Τώρα πατάς πάντα ό,τι βρεις. Εδώ, τερένο, κλικ. Αυτός είναι πραγματικό το τερένο που θα κάνουμε το παιχνίδι όταν είναι μεγάλο. Νάτο. Μεγάλο όχι, δεν θα είναι μεγάλο, θα είναι μικρή η πίστα. Βούρτσα και κάνεις βουναλάκια, αλλά ξέρεις τι γίνεται. Ναι. Ανέβασε λίγο το opacity εδώ και λίγο το brush size. Με αυτό το εργαλείο όμως. Κατάλαβες? Ναι. Χιονάκι, particles. Αλλά το σκεφτόμαι σε στή λέρυμο, βασικά. Έτσι, κάνε ένα τερέν και εσύ εδώ. Game object, create other. Κάνουμε λίγο zoom. Πάρε τη βούρτσα από εδώ. Επέλεξε όποια βούρτσα σου αρέσει με το brush size και ξεκίνησε να κάνεις βουναλάκια. Ναι. Όχι, αλλά αν το πατάτε και κάποια στιγμή δεν ανέβει άλλο και έχει φτάσει το όριο. Το 500, ναι. Πόσο ψηλά θα έχουμε το όριο για τα βουνά. Μια χαρά. Μια χαρά. Έχει από το asset store πακέτο το οποίο κάνει αυτή τη δουλειά. Παίρνει φωτογραφία από το Google Earth, από το Google Maps και σου το κάνει τερέν. Και υψομετρικά. Θα θέλαμε να σας παρουσιάσουμε σαν σε πραγματικό σου παιδί. Μετά το βάφεις. Εκεί που έχει χορτάρια, χορτάρια. Εκεί που έχει πέτρες, πέτρες. Εκεί που έχει βουνά, βουνά. Πρέπει να έχεις άποψη δηλαδή της πραγματικής εικόνας του τοπίου. Αλλά γίνεται, έχει τέτοιο τερέν. Πακέτο δηλαδή που κάνει αυτή τη δουλειά. Αυτό το πακέτο είναι επιπληρωμή. Επιπληρωμή είναι αυτό, ναι. Τα ποσά, παιδιά, τα ακριβά είναι 100 δολάρια. Το πιο ακριβό που έχω συναντήσει είναι 250 δολάρια. Το οποίο έχει ανθρώπους μέσα. Το πακέτο είναι με ανθρώπους και χαρακτήρες που περπατάνε, που πηδάνε, τρέχουν. Λοιπόν, να το εξελίξουμε λίγο. Όχι, καθόλου. Αυτό που κάνετε όσοι θέλετε, όχι, δεν είναι υποχρεωτικό αυτό που θα κάνω εγώ τώρα, αλλά μπορείτε να το κάνετε όσοι θέλετε, είναι όπως έχουμε το τερέν επιλεγμένο πάντα. Αν κάνετε αυτό που θα κάνω τώρα, θα χάσετε αυτό που έχετε όμως. Οπότε, θα το κάνω εγώ πρώτα και αν σας αρέσει, το κάνετε κι εσείς. Αν έρθει εδώ στα settings, στο γρανάζι, εδώ κάτω έχει μια επιλογή που λέει heightmap Λοιπόν, export σημαίνει ότι θα το κάνει export ως συνάδελφος για να το δώσει στη συνάδελφο, γιατί αφού το τερέν ήταν καλύτερο και θέλουμε να έχουμε το ίδιο. Κάνουμε δηλαδή το τερέν export σε heightmap. Το heightmap, αν γκουγκλάρετε και πατήσετε εικόνες heightmap, θα σας βγάλει και αίτημα. Φαράγγια, βουνά, λίμνες, μισάκια, έχει πάρα πολλές επιλογές. Τώρα, αν κάνω εγώ import row, ξαναλέω, εσείς μην το κάνετε, γιατί θα χάσετε αυτό που έχετε. Και έρθω εδώ στα assets μου, έχω ένα row, κι εσείς το έχετε στην επιφάνεια εργασίας, που λέγεται τερέν. Αν πατήσω άνοιγμα και το αφήσω σε Windows 2000, 2500 και κάνω import, θα μου βγάλει αυτό και μου το έβγαλε αυτό, διότι προφανώς δεν το έκανα είσοδο σωστά. Αυτό υποτίθεται ότι ήταν ένα heightmap. OK, αυτό είναι το σωστό. Ήδαμε και τι συμβαίνει όταν κάνουμε λάθος την εισαγωγή ενός heightmap. Είναι ακριβώς το ίδιο με το παράδειγμα που είδαμε στην αρχή. Αυτό το heightmap το πήρα από ένα πρόγραμμα που λέγεται GeoControl. Η δουλειά του είναι να φτιάχνει τέτοια. Ποια? Μπορούμε, έχει ένα πρόσθετο στο asset store, το οποίο παίρνεις φωτογραφία και στη μετατρέπεις σε τρισδιάστατο τερέν, αλλά δεν είναι η πληρωμή αυτό. Για παράνομο λογισμικό δεν μπορώ να μιλήσω εγώ τώρα και να σου πω. Κατέβαστε ότι καταλαβαίνει ο καθένας, αλλά δεν χρειάζεται να φτάσουμε κατευθείαν σε τέτοιες λύσεις. Λοιπόν, έτσι. Και η φιλοσοφία δεν είναι μόνο ότι είναι παράνομο, είναι ότι φανταστείτε ότι κάποιος δούλεψε για να κάνει αυτό το πράγμα και είναι φόρος τιμής να αγοράζουμε αυτό το κομμάτι κώδικα που έχει κάνει ή γενικότερα ό,τι έχει φτιάξει. Είναι δηλαδή θέμα σεβασμού. Τώρα, έχουμε το τερέν έτοιμο. Και εσείς το τερέν που έχετε. Πάμε να το βάψουμε, γιατί έτσι πως είναι δεν είναι και πολύ ελκυστικό. Θυμίζει λίγο πλαστελίνη ή ό,τι άλλο μπορεί να φανταστεί κανείς. Για να βάψουμε το τερέν, πάλι από τα εργαλεία εδώ, πάμε στο πινέλο. Θα χρησιμοποιήσουμε δύο textures, δύο υφές. Η μία υφήθα είναι αυτή που θα χρησιμοποιήσουμε στα βράχια, εδώ πάνω. Και μία αυτή που θα χρησιμοποιήσουμε κάτω στο έδαφος. Ναι, μπορείτε να χρησιμοποιήσετε μία, απλά θα είναι λίγο πιο μονότονο. Μπορείτε να χρησιμοποιήσετε και εσείς δύο σε κάποια σημεία που πιστεύετε ότι πρέπει να χρησιμοποιήσετε. Λοιπόν, εδώ έχουμε πατήσει όλες τα πινελάκια. Πατήστε εδώ που λέει edit textures και add, σωστά. Τα ξέρετε από μόνοι σας. Ωραία, αν πατήσω εδώ, έχει δύο. Έχει ένα που λέει texture και ένα που λέει normal map. Χωρίς να χρειάζεται να ξέρουμε τι ακριβώς είναι το normal map. Το normal map είναι αυτό που δίνει βάθος σε ένα αντικείμενο, χωρίς όμως να χρειάζεται να έχει γεωμετρία. Είναι ψευτογεωμετρία δίνει σε ένα αντικείμενο. Αλλά μην του δίνετε σημασία, γιατί δεν μας ενδιαφέρει την παρούσα φασίτη είναι το normal map. Πατήστε εδώ στο select ένα κλικ. Πάμε. Ναι, ναι. Πάντησα εδώ, ε. Στο select εδώ. Στο πρώτο κουτάκι. Θα σας βγάλει ένα παραθυράκι με μια λίστα με διάφορα textures. Ωραία. Το πρώτο που θα βάλουμε θα βάψει αυτόματα όλο το terrain. Τι σημαίνει αυτό. Ότι αν το 80% του terrain μας έχει την υφή που θα διαλέξω τώρα, είναι λογικό να κάνουμε αυτό, γιατί μετά το 20% είναι πιο εύκολο να το βάψεις. Αν επιλέξω το άλλο πρώτα που θα χρησιμοποιηθεί για το 20%, θα χρειαστεί να ξαναβάψω το 80% με τη δεύτερη υφή. Ναι, δηλαδή πρώτα βάζεις τη βάση και μετά ξεκινάς να βάζεις το πρόσθετο. Η βάση για μας είναι το sand ground. Ψάξτε να βρείτε το sand ground. Είναι sand ground. Ναι, μόνο αυτό που λέει sand ground, τίποτα άλλο. Ένα άμμος είναι βασικά. Λοιπόν, πατήστε sand ground, διπλό κλικ επάνω του, μπήκε εδώ, άμα μπήκε είμαστε εντάξει. Ωραία, το normal map θα το αφήσουμε εκτός για την ώρα. Πατήστε το add όλοι, αν όλα πήγαν καλά σας έχει βάψει το terrain με αυτήν την υφή. Το έχεις, αποκλείτε να μην το έχεις. Ωραία. Πάμε να βάλουμε και ένα δεύτερο, να βάλουμε και μια δεύτερη υφή. Πατήστε ξανά, όπως είστε, χωρίς να βάψετε τίποτα, έτσι και αλλιώς βάφετε από μόνο του με την πρώτη φορά. Αυτή είναι η βάση μας είπαμε. Πατήστε edit texture, add ξανά, δεξιά, δεξιά, δεξιά, δεξιά, δεξιά, εδώ. Κοιτάτε την οθόνη όταν ευρίσκεται αυτό που λέω. Add texture, είναι θέμα οθόνης. Και πατήστε τώρα για τη δεύτερη φορά. Ναι, πάλι εδώ, edit texture, add texture. Πατάμε εδώ πέρα το select και ψάχνουμε να βρούμε το... Sandstone. Αυτό είναι για τα βράχια, έχει ρογμές. Αποκλείεται όμως. Όλοι τα ίδια αρχαία πήραμε. Έχει αναζήτηση αρκεί να ξέρουμε πώς λέγεται το... Sandstone, ναι. Διπλό κλικ. Και μετά add. Έχουμε δύο τώρα εδώ, έτσι. Ναι. Πάρτε λίγο τον χρόνο σας, έτσι, δύο λεπτά. Και το κάνουμε add. Πρέπει να έχετε δύο υφές εδώ. Η μία η βάση και η δεύτερη που είναι για τις ρογμές, για τα βουνά. Το Sandstone είναι το δεύτερο που πρέπει να βάλετε. Ναι, ναι, έτσι δουλεύει. Κάποιος θα είναι πρώτο και μετά από εκεί και πέρα θα αλλάζουν σταδιακά. Βάφμα από πάνω δασικά, δεν είναι ότι σβήνουμε και... Σε μία ώρα σχεδόν. Λοιπόν, προσέξτε λίγο πώς το κάνω εγώ και προσπαθήστε να κάνετε το ίδιο. Με το ροδάκι. Ναι, κάντε λίγο zoom, κάντε zoom. Βασικά, αρκεί να το ξέρετε, δεν πειράζει να δεν μπορείτε να παρακολουθήσετε. Αφού θα τα ανεβάσουμε στο διαδίκτυο μετά, καλύτερο είναι να κοιτάξετε από εδώ. Και παίρνω αυτήν την υφή, που είναι με τα βράχια. Και έρχομαι εδώ. Εδώ βλέπω ότι η βούρτσα μου είναι λίγο μεγάλη γιατί πιάνει και το έδαφος. Μπορώ να την μικραίνω λίγο έτσι, ανεπέστητα. Και αρχίζω και βάφω τα βουνά. Προχωράω λίγο. Βάφω μόνο τα βουνά, τίποτα άλλο. Γυρίζω και από εδώ, γιατί και από εδώ δεν έχω βάψει. Αρχίζω και βάφω τα βουνά. Έχει ένα στο asset store που πιάνει το ύψος και του βάζει σε πέντε διαφορετικά textures. Και λες, από 0 έως 50 μέτρα βάψε με αυτό, από 50 έως 70 με αυτό. Υπάρχει τέτοιο πράγμα, πρόσθετο όμως. Αυτά συνήθως είναι με πληρωμή, γιατί σου λύνουν τα χέρια, γιατί δεν κάθεσαι να τα σχεδιάζεις ένα-ένα. Όπως καταλαβαίνετε το asset store για αυτόν που θέλει να φτιάξει ένα παιχνίδι, έχει πάρα πολλά εργαλεία. Λογικό είναι, γιατί μας λειτώνουν χρόνο και χρήμα. Λοιπόν, ας βάψουμε το τερέν μας. Είπαμε με τη βούρτσα, πρέπει να επιλέξετε το δεύτερο texture, έτσι. Αν η βούρτσα είναι πολύ μεγάλη, μπορείτε να τη μειώσετε και να έρθείτε σε περιοχές όπου έχει λεπτομέρειο, όπως εδώ που έχω ένα μικρό γκρεμό, και να βάψετε με χαμηλότερο μέγεθος. Λοιπόν, πόσο ωραίο θα γίνει το τερέν μας, όσοι αγάπη του δώσουμε. Αν του δώσουμε πολύ αγάπη, θα γίνει ωραίο. Αν πούμε να βάψουμε, να πατήσουμε δύο πινελιές, θα έχουμε έδαφος και θα έχει βράχια πάνω το έδαφος. Ναι, έχουμε μάλλον διαφορά λόγω της οθόνης. Τώρα, προσέξτε λίγο τι συμβαίνει εδώ. Αυτό μπορούμε να το διορθώσουμε επί τόπου, για να γίνει λίγο καλύτερο. Επάνω εδώ βλέπετε ότι είναι πολύ μικρή η επανάληψη που συμβαίνει και είναι λίγο περίεργο. Αν κάνω διπλό κλικ πάνω στο texture, για κάντε λίγο αυτήν την κίνηση όλοι, κοιτάξτε, θα κάνω διπλό κλικ, μπορώ να αυξήσω το size εδώ πέρα, να το κάνω για παράδειγμα, πόσο να το κάνουμε, γιατί 20, να το κάνουμε 30. Να το κάνουμε 30. Και στο X και στο Ψ, για να γίνει ομοιόμορφη, αρχίζει και γίνεται λίγο καλύτερο. Όχι, δεν χρειάζεται το apply, την ώρα που το αλλάζετε φαίνεται και η διαφορά. Αν το κάνω 50, πρέπει να είστε κοντά, κάντε λίγο zoom για να το δείτε. Το βλέπετε τώρα που είναι λίγο πιο εμφανές. Το βλέπετε, έτσι. Αυτό τώρα είναι θέμα αγούστου, δηλαδή εγώ λέω ότι το 50 μου αρέσει. Μπορεί κάποιος να πει ότι εμένα μου αρέσει το 60, το 75, το 40. Βάλτε το κάπου στο 50, νομίζω είναι καλά. Και κάντε και το άλλο. Τη βάση μας, κάντε διπλό κλικ, κάντε και αυτό, αυξήσετε το λίγο το μέγεθος. Να το κάνουμε 40, ας πούμε. Το πάτε και από το ταβηχείκι του, του βάση μοντού. Καλά, πατήστε το apply, το ενημερώνει αυτόματα, αλλά για καλό και για κακό πατήστε το. Και με την ίδια λογική επιλέγω το texture που είναι για τα βράχια και ξεκινάω και βάφω. Κάνω ωραία βράχια. Ναι, έτσι. Λοιπόν. Παρακαλώ, παιδιά, αγάπη, αγάπη, παιδιά, φροντίδα. Έτσι. Αυτό. Βάφουμε τα βράχια. Τώρα αν είχαμε και ένα άλλο texture, και αν το πείο δεν ήταν ερημικό και ήταν με ένα πιονισμένο βουνό, εδώ στις κορυφές θα βάζαμε ένα άσπρο χρώμα. Γιατί υποτίθεται ότι οι κορυφές είναι πιονισμένες. Μην το βλέπετε έτσι κοντούτσικο. Στην πραγματικότητα αυτό είναι 500 μέτρα ύψος. Δηλαδή αν ήμασταν σε ένα τέτοιο χώρο και κοιτάζαμε προς τα πάνω θα βλέπαμε την κορυφή του βουνού στα 500 μέτρα. Οι μονάδες που βάζουμε είναι σχεδόν οι ίδιες με τα μέτρα. Δηλαδή μία μονάδα εδώ σημαίνει ένα μέτρο. Αυτό είναι τις Unity προδιαγραφές. Από μόνο του. Είναι ορισμένο ότι η μονάδα που είναι εδώ μέσα αντιστοιχεί σε μέτρα. Στο height map όταν ξεκινήσαμε τη δημιουργία. Δεν είπαμε 2000 επί 2000. Alt πατημένο να βγάλει το ματάκι και σύρω με το ποντήκι δεξιά-ριστερά και περιστρέφεται. Και αν θέλουμε να σχεδιάσουμε ένα μικρό κόσμο από το μέτρο να μην είναι μέτρο ένα εκατοστό, μπορούμε να το αλλάξουμε μονάδες ή απλά... 0,1 Α, ok. Θέλω να βάλω ένα παλάτι και θα το πάρω μέσα από το asset store. Επιπληρωμή. Ή δωρεάν, ή επιπληρωμή. Αν σας αρέσουν τα ωραία παλάτια, θα πρέπει να πληρώσετε. Αν βολεύεστε με ένα απλό παλάτι... Δεν μπορούμε να βάλουμε κάτι και μετά να το βάλουμε και άλλα πράγματα. Ναι, εμείς μέσα σε αυτό το τερέν δεν θα βάλουμε τίποτα. Δεν θα βάλουμε ούτε δέντρα, ούτε δρόμους. Αυτό θα το βάλουμε. Αυτό δεν χρειάζεται όμως να το πάρουμε από το asset store, θα το δημιουργήσουμε μόνοι μας. Δεν είναι τίποτα, είναι ένα επίπεδο με δύο κύβους τεντωμένους, να μοιάζουν με στήλες. Εντάξει, τώρα θα το βάλουμε μόλις τελειώσετε, άλλα δυο-τρία λεπτά ασχοληθείτε με το βάψιμα. Γίνεται να φτιάξουμε ένα αντικείμενο σε ένα άλλο πρόγραμμα και να το παράσουμε γι' αυτό. Ναι, το αεροπλάνο που θα χρησιμοποιήσουμε είναι από άλλο πρόγραμμα σχεδιασμένο. Είμαι στο play για κάποιο λόγο, δεν μπορώ να το βάλω. Είσαι στο play γι' αυτό. Να το βάλεις στο play, δεν μπορείς να βλέπεις όλο το... Βλέπεις ό,τι βλέπει η κάμερα εκείνη τη στιγμή, δεν έχουμε φτάσει ακόμα, προτρέχεις. Μια καλή τεχνική για να φτιάχνετε ωραία τερέν είναι να φαντάζεστε πρώτα τι θέλετε να κάνετε. Δηλαδή, αν κάποιος θέλει να κάνει ένα τροπικό νησί, καλό είναι να δει πώς είναι στην πραγματικότητα τα τροπικά νησιά. Να δει, ας πούμε, πώς είναι η μορφολογία του εδάφους. Έχει, ξέρω εγώ, βουνά, έχει πέτρες, έχει βλάστηση, δεν έχει... Θα σας βοηθήσει πάρα πολύ όταν έχετε αναφορές από την πραγματικότητα. Αν σας ενδιαφέρει να αγγίζετε την πραγματικότητα. Αν είναι κάτι τελείως φανταστικό, ό,τι φανταστείτε κάνετε. Δηλαδή, μπορεί να έχει βουνά, μπορεί και να μην έχει. Μπορεί να έχει λίμνες, ποτάμια. Παιχνίδι το οποίο να έχει κυκλοφορήσει ή όχι. Γενικά, project έχουμε φτιάξει. Αλλά, να φτιάξουμε ένα παιχνίδι είναι στα συρτάρια όλα τα. Στους φακέλους είναι τα project. Λοιπόν, ένα παιχνίδι για να γίνει εμπορικό είναι πάρα πολύ δύσκολο. Δηλαδή, δεν είναι μπένω Unity, γράφω... Ναι, έχει πολλά πράγματα τα οποία και πολλά στάδια που πρέπει να περάσει. Είμαστε έτοιμοι? Σχεδόν. Έχει τρόπος να αλλάξει το πόσο γρήγορα θα κάνει το zoom. Έχω την αίσθηση πως... όχι. Εγώ την αίσθηση πως το έχω κάνει μόνος μου. Ξέρεις τι, έχεις εστιάσει σε ένα πολύ μικρό σημείο, γι' αυτό κάνει το zoom πολύ απότομα. Αυτό δεν εννοείς? Τότε έχεις εστιάσει σε ένα πολύ μακρινό σημείο. Κάνε ένα κλικ στο terrain. Φέρε το ποντήκι μέσα στη σκηνή. Πάτα το F. Εντάξει? Το zoom εξαρτάται από το σημείο εστιάσεις. Κάνεις κάπου κλικ και εστιάσεις σε εκείνο το σημείο, αυτόματα. Λοιπόν, προσέξτε τώρα τι θα κάνουμε. Αν κάνετε ένα κλικ εδώ στο φωτάκι, το βλέπετε το φωτάκι? Επάνω, εδώ στη σκηνή. Κάντε ένα κλικ. Λοιπόν, μας φάγανε τα μαύρα σκοτάδια, έτσι? Αυτό συμβαίνει ότι δεν είναι πολύ ενδιαφέρον το παιχνίδι μας, γιατί... Όχι, εκεί ουσιαστικά χρησιμοποιεί τα φώτα που έχουμε μέσα στη σκηνή. Δεν κάνει φυσικά, γιατί δεν έχουμε φώτα μέσα στη σκηνή. Να βάλουμε ένα φως να γίνει λίγο πιο ενδιαφέρον. Νομίζω και εγώ ότι θα ήταν ωραίο. Αυτός ο φωτισμός, όταν το πατάτε εδώ, απενεργοποιεί τα φώτα της σκηνής και χρησιμοποιεί ένα καθολικό φως. Απλά για να βλέπουμε τι μας γίνεται. Πρέπει να χρησιμοποιήσουμε ένα συγκεκριμένο φως. Και όχι το γενικό φως που έχει μέσα η Unity. Γιατί, βασικά, αυτό δεν χρησιμοποιείται. Αν πατήσω να παίξω το παιχνίδι τώρα, δεν θα βλέπω τίποτα. Γιατί όταν πατάω το play, χρησιμοποιεί τα φώτα. Τώρα δεν έχω φώτα μέσα στη σκηνή, άρα δεν θα δω τίποτα. Και θα είναι ένα βαρετό παιχνίδι. Πάμε όλοι μαζί να βάλουμε ένα φως. GameObject, CreateOther. Έχει τέσσερα είδη. CreateOther ή Lights. Όσοι έχετε την καινούργια έκδοση, νομίζω είναι κάπως έτσι. Ναι, Light. Το Directional Light είναι αυτό που προσομιώνει τη λειτουργία, ενός φωτός που μοιάζει με αυτό του ήλιου. Οπότε θα βάλουμε το Directional εμείς. Βάλτε Directional. Directional Light. Ωραία, τώρα αν πατήσετε το κουμπάκι αυτό, θα δείτε ότι στην μία έχουμε έναν γενικό ουδέτορο φωτισμό, ενώ στην άλλη περίπτωση δημιουργούνται σκιές μέσα, φωτεινά σημεία, έχει να κάνει δηλαδή με τη θέση του φωτός. Ποιο βελακί έβγαλε? Τίποτα δε σβήνουμε, όχι, είναι το φως αυτό. Εδώ αριστερά θα δείτε ότι έχουμε το Directional Light. Και αν πάω μέσα στη σκηνή και πατήσω το F, να κάνω Focus επάνω. Ναι, Focus. Directional Light. F. Θα κάνει η εστίαση σε ένα πολύ μικρό σημείο. Πατήστε, αν θέλετε, το κουμπί αυτό, που είναι το Move Tool, εδώ πάνω. Πάνω αριστερά το βλέπετε, το σταυρό. Κάντε ένα κλικ να βγάλει τις λαβές. Πρέπει να πατήσετε το Move Tool. Και πρέπει να έχετε επιλεγμένο το Directional Light. Πατήσετε το Move Tool. Και πρέπει να έχετε επιλεγμένο το Directional Light. Και να το σηκώσουμε λίγο. Βασικά, αυτό το φως δεν έχει σημασία που θα βρίσκεται στη σκηνή. Γιατί είναι ένα φως το οποίο έρχεται από μια κατέθεση προς μία άλλη. Δηλαδή το αντικείμενο που έχει βγάλει εκεί με τις γραμμές είναι ενδεικτικό. Είτε το έχω εκεί, είτε το πάω χίλιες μονάδες πιο πάνω, δεν θα αλλάξει κάτι στο φωτισμό. Δεξιά, στο Inspector, είναι η ρυθμίση του φωτός. Κάντε ένα κλικ όλοι από την ιεραρχία στο Directional Light. Αριστερά, δηλαδή, κάντε όλοι ένα κλικ στο Directional Light. Να βγάλουμε τις ιδιότητες. Στο Directional Light, αριστερά. Λοιπόν, ας βάλουμε έναν χρώμα. Πατήστε στην άσπρη την μπάρα. Εδώ, εδώ, αριστερά, εδώ δεξιά. Στο φως, ναι. Το χρώμα στο φως το βάζουμε, διότι γενικά το τοπίο είναι ερημικό και γενικά στα ερημικά τοπία, επειδή έχουμε και ζέστη, χρειαζόμαστε έναν τόνο κυτρινισμού, πορτοκαλοκύτρινο, σαν αυτή με τα χαλιά ακούστηκα τώρα. Έτσι. Οπότε, επιλέξτε ένα κυτρινοπό χρώμα. Βλέπετε που αλλάζει και γενικά ο φωτισμός της σκηνής. Αν βάλουμε έναν κόκκινο, εντάξει, το κόκκινο δεν είναι σωστό χρώμα. Χτυπάει λίγο άσχημα. Ας βάλουμε έναν κυτρινοπό χρώμα, έναν μουσταρδί κάπως. Ε, εντάξει. Βάλτε πρώτα έναν χρώμα και μετά θα κάνουμε και άλλες ρυθμίσεις. Ανέβα λίγο πιο πάνω. Να σμιλίγω το ποντικί, εκεί, για να βλέπεις και το αποτέλεσμα. Βάλτε έναν χρώμα, έτσι, κυτρινοπό, κάπως να είναι... Πολύ ωραία, πολύ ωραία. Πατημένο το μεσαίο το ποντικί. Πατημένο το μεσαίο, πάμε με το ροδάκι, ωραία. Alt, πατημένο, όπως είσαι. Και το γυρνάς, έτσι. Το χρωματάκι λίγο φτιάξτε. Το χρωματάκι. Λοιπόν, ακριβώς κάτω από το χρώμα υπάρχει η επιλογή intensity. Την βλέπετε όλοι? Το intensity είναι η ένταση του φωτός. Αυτή τη στιγμή είναι στο 0,5. Ναι, για να δείτε ακριβώς τι κάνει, ανεβάστε το στο 4.5, ας πούμε. Αυξάνει πολύ ο φωτισμός. Μήπως έχεις απενεργοποιημένα τα φώτα της σκηνής. Έτσι, αυτό ήταν. Είναι πολύ, ναι, απλά το είπα για να δούμε τη διαφορά. Μειώστε το, δηλαδή, 0,5, 0,8, κάπου εκεί νομίζω είναι μια καλή τιμή. Ωραία. Και μετά από εδώ μέσα, εδώ κάπου η πλέηση τον τόνο ακριβώς, έτσι. Κάπου στο κίτρινο, κάπου εκεί στο κίτρινο, έτσι. Είναι κίτρινο πορτοκαλί. Εντάξει. Μια φωτεινότητα της τάξεως του 0,5, 0,8. Δηλαδή, δεν το κάνουμε πολύ φωτεινό και καεί. Δεν έχει πέσει η ατομική βόμβα και... έτσι. Λοιπόν, κάπου εδώ, ας πούμε, είναι καλά. Λοιπόν, για να θέλουμε να το κάνουμε ακόμα πιο ελκυστικό, μπορούμε να, από κάτω, εδώ που λέει shadow type και λέει no shadows, τι σημαίνει shadows, η σκιά. Θέλουμε να έχει σκιά, εάν θέλουμε βάζουμε. Βάλτε τον τύπο hard shadows. Δεν αλλάξε κάτι, γιατί δεν έχουμε τίποτα το οποίο να δημιουργεί σκιά. Αν βάλουμε το αεροπλάνο, όπως θα χτυπάει το φως, το αεροπλάνο θα δημιουργεί σκιά. Αυτό είναι μία επιλογή που δεν την έχει η δωρεάν έκδοση. Για φορές που λέγαμε. Τώρα αυτό είπαμε όλες, ότι κάποιες λειτουργίες δεν τις έχει η δωρεάν έκδοση. Δημιουργεί, όμως, σκοτεινά σημεία. Λοιπόν, τώρα, ας το κάνουμε λίγο πιο ενδιαφέρον. Έτσι, μπορεί να σβήνει μία την άλλη, έτσι με τα φώτα. Σωστό. Ή μπορεί το φως να πέσει στην κάθετα. Λοιπόν, πάμε όλοι στο edit. Για πάμε όλοι στο edit. Έχει μια επιλογή που λέει render settings. Κάντε ένα κλικ. Εντάξει. Ναι, ναι. Δεν θα ανοίξει κάτι. Το μάτι μας πάει απευθείας δεξιά. Edit και μετά render settings. Στο render settings μπορούμε να ορίσουμε αν θέλουμε να έχουμε ομίχλη στο βάθος. Λοιπόν, θα σας το δείξω εγώ για να δει το αποτέλεσμα το τι σημαίνει ομίχλη. Δηλαδή, έχω την κάμερά μου κάπου εδώ. Τώρα, αν πατήσω το play, εσείς μην το κάνετε αυτό, αν πατήσω το play, αυτό είναι αυτό που βλέπω αυτή τη στιγμή. Δηλαδή, αν έτρεχα το παιχνίδι αυτή τη στιγμή, θα έβλεπα αυτό το πράγμα. Δηλαδή, το τρέχω η αλήθεια είναι και βλέπω αυτό το πράγμα. Πάμε edit, render settings, βάζω ομίχλη. Βάλτε κι εσείς ομίχλη. Κάντε ένα κλικ. Νομίζω ότι δεν βλέπω τίποτα. Αυτή είναι μια ομίχλη, η οποία έχει να κάνει με την κάμερα και με την απόσταση από την κάμερα. Thog, από τα render settings. Τώρα, η ομίχλη, ναι, η ομίχλη έχει να κάνει από την απόσταση της κάμερας και μπροστά. Θα βάλουμε ένα χρώμα ομίχλης, το οποίο να ταιριάζει λίγο με το τοπίο. Γιατί αυτό το μπλε, ό,τι κι αν είναι, δεν είναι και το καλύτερο. Οπότε, θα επιλέξουμε μία ομίχλη... Να, είναι λίγο... Να. Άμα ζουμάρετε περισσότερο... Ναι, η απόσταση που έχετε από την ομίχλη είναι όπως στην πραγματικότητα. Μακριά και βλέπεις την ομίχλη, βλέπεις ένα άσπρο σύννεφο. Όσο όμως πλησιάζεις, έχεις μια σχετική ορατότητα. Έστω, 2, 3, 5 μέτρα, την έχεις. Από κάτω το fog mode, να είναι στο exp2. Exponential, είναι πιο έντονη. Και το intensity είναι η ένταση της ομίχλης. Αυτή τη στιγμή το 0,01 προκαλεί αυτό. Αν βάλω... Και δοκιμάστε το κι εσείς. 0,01... Βλέπετε που έχει μόνο στο βάθος τώρα ο μίχλη. Στα πίσω τα βουνά. Βασικά έχετε, απλά δεν το καταλαβαίνετε. 0,01. Βάλτε 0,05. 0,05. Έχεις το exp2 στο fog type. Τσεκαρισμένο το έχετε το fog. 0,005. Αν δεν φαίνεται, θα το βάλετε με μικρότερο νούμερο. 0,005. Όχι, το 0,005 θα την κάνει ακόμα πιο αρέη. Ναι, αυτό λέω, γιατί δεν φαίνεται τίποτα. Α, δεν φαίνεται τίποτα. Τώρα είσαι πολύ μακριά, το βλέπεις από το διάστημα. Κατέβα λίγο πιο κάτω για να καταλάβεις την ομίχλη. Από εκεί δεν βλέπεις ομίχλη. Το ξέρω, αυτό δεν το μάθαμε ακόμα. Από το asset store, έχει πακετάκι που δημιουργεί ομίχλη. Όχι, πληρωμή δωρεάν δεν το ξέρω. Μπορεί να βρείτε και κάποια δωρεάν. Οι ομίχλη βασικά είναι particles. Έχει στο asset store weather system. Να ξεκινάει να βρέχει, να σταματάει. Κάποια είναι δωρεάν. Δεν είναι σίγουρο ότι πληρώνεται για όλα. Απλά αν με ρωτάτε αν γίνεται. Προφανώς για να υπάρξει στο asset store, γίνεται. Αν κάποιος έχει τα skills να προγραμματίσει κάτι τέτοιο. Ναι, μπορεί να το κάνει. Μέχρι που να το μάθουμε όμως, η μόνη επιλογή είναι να το πάρουμε έτοιμο ή να μην το κάνουμε καθόλου. Λοιπόν, έχουμε βάλει την ομίχλη. Τώρα θέλω να κάνετε το εξής. Θα πάμε να βάλουμε ένα skybox. Το skybox παιδιά είναι ο ουρανός, ο θόλος. Και αυτό γίνεται αν πατήσετε. Είναι πάρα πολύ εύκολο γενικότερα. Κάντε ένα κλικ στην κάμερα. Κάμερα, κάμερα, ναι. Main camera, ναι, από τις ιδιότητες. Ταυτόχρονα, κάντε και εδώ κάτω στα assets ένα διπλό κλικ στα standard. Μια χαρά είσαι. Μια χαρά. Μια χαρά. Μια χαρά. Μια χαρά. Μια χαρά είσαι. Μια χαρά. Μπείτε μέσα στα standard assets. Διπλό. Μετά μπείτε εκεί που λέει skyboxes. Ποιο να βάλουμε, καλή ερώτηση. Αποκλείεται. Α, δεν το έκανες import. Βασικά θα σας δείξω πώς μπαίνει και μετά θα διαλέξετε όλοι όποιος θέλετε να κάνει. Έχετε όλη την κάμερα επιλεγμένη. Άσχετα με το τι βλέπετε στην οθόνη σας. Κάμερα επιλεγμένη. Add component, εδώ δεξιά. Add component. Το component είναι μια συμπεριφορά που αποκτά ένα αντικείμενο. Να βάλουμε rendering. Rendering. Δεύτερο λέει skybox. Άμα λέει πατήστε το. Και λέει custom skybox και από δίπλα λέει none. Εδώ, έβγαλε αυτό. Ωραία. Αυτό βασικά παίρνει ένα material. Ένα υλικό. Τα υλικά τα έχουμε μέσα εδώ στα skyboxes. Από τα assets μέσα στο skybox. Αυτά είναι οι ιδιότητες που έχει η main camera. Το listener είναι το αυτί ουσιαστικά. Είναι για να πιάνει ήχους που υπάρχουν στο περιβάλλον. Το GUI layer είναι graphical user interface. Ό,τι βλέπω τώρα αριστερά είναι το αντικειμένο που έχω επιλέξει. Αυτή είναι η φιλοσοφία γενικά της Unity. Λοιπόν, έχετε μπεί μέσα στα skyboxes? Εδώ, από κάτω στα assets. Έχει dawn, dusk, airy, moonshine, overcast και τα λοιπά. Να πάρουμε όλοι το ίδιο για να δούμε το ίδιο αποτέλεσμα. Να πάρουμε το dawn, dusk. Βασικά ξαναπιλέξουμε την κάμερα γιατί την έχουμε χάσει. Έτσι. Το έχετε όλο αυτό δεξιά? Πιάνετε το και σήρτε το και βάλετε το εδώ πέρα. Πιάστε το από εδώ. Με την main camera επιλεγμένη πιάστε το και σήρετε το και αφήστε το εδώ. Το πιάνετε από εδώ. Ενώ είναι η camera επιλεγμένη. Πιάνετε από εδώ το συγκεκριμένο skybox και το σήρετε στο custom skybox. Φέρτε λίγο την κάμερα σας σε ένα σημείο όπως είναι περίπου αυτό. Με το zoom. Θα το σήρεις. Δεν θα το πατήσεις για να τα αφήσεις. Πατημένο και το σήρεις εκεί πέρα. Αυτό είναι τέλος. Κάντε ένα κλικ εδώ στο terrain. Βάλε την κάμερα. Και γυρίστε λίγο να φαίνεται και λίγο ουρανός. Λίγο προς τα πάνω. Με το alt πατημένο και ψήρουμε λίγο να γυρίσεις προς τα πάνω. Ίσα ίσα να φαίνεται λίγο ουρανός. Πατήστε λίγο. Όχι μην πατήσετε τίποτα. Είναι η κάμερα επιλεγμένη. Σίγουρα. Πάμε τώρα. Πόδια. Πού είναι τα πόδια. Αυτά είναι το αντικείμενο της κάμερας. Κάντε το εξής όλοι. Πάμε ενώ είναι η κάμερα επιλεγμένη. GameObject. Και πατήστε αυτό που λέει Align with View. GameObject. Align with View. Αυτό που λέει to select. Όχι αυτό που λέει... Αυτό το κάνουμε για να φέρουμε την κάμερα σε εκείνο το στιγμιότυπο. Για να μπορέσουμε να το δούμε. Πατήστε λίγο το play τώρα από το παιχνίδι. Επάνω το play. Φαίνεται το skybox. Όσοι δεν το βλέπετε απλά δεν έχετε κοιτάξει πολύ προς το ουρανό. Αλλά νομίζω κάποια σύννεφα θα τα βλέπετε στο βάθος. Έτσι. Σε λίγη ώρα που θα αρχίσουμε να γράφουμε και κώδικα θα βλέπουμε τα πάντα. Είμαστε νομίζω σε καλό δρόμο. Ναι. Λοιπόν. Αυτή τη στιγμή όχι γιατί δεν υπάρχει κώδικας που να την κοντρολάρει. Πάμε να χτίσουμε την εξέδρα απογείωσης. Επιστρέψτε βασικά στα assets. Κάντε ένα κλικ στα assets για να επιστρέψουμε πάλι πίσω. Ωραία. Για να βάλετε ένα asset μέσα στη σκηνή το μόνο που πρέπει να κάνετε είναι να το πιάσετε από κάτω και να το σήρετε μέσα. Αυτό το έχετε όλοι με το μπλε το κύβο. Το SU-37 Terminator. Αν το πιάσετε αυτό και το βάλετε μέσα στη σκηνή κάπου και το αφήσετε μόλις έχετε βάλει το αεροπλάνο μέσα στη σκηνή. Βάλτε το σε έναν χώρο ανοιχτό. Πάνω μου όχι. Δεν ξέρω. Έχουμε κάποιο ποντίκι. Πιάνουμε αυτό εδώ το SU-37 Terminator που έχει το μπλε το κύβο και το σήρουμε μέσα στη σκηνή. Πολύ ωραία. Το αυτό με το μπλε το κύβο. Όχι το φάκελο το γκρι. Βάλτε το αεροπλάνο. Ένα, δύο, μπόμπα. Ποιος είναι τη λεποντική? Το ζητώ στην άνθρωπος πρώτα, έτσι υπάρχει σιγά προτεραιότητας. Τι πρόβλημα υπάρχει. Προβλήματα δεν υπάρχουν. Πολύ ωραία. Λοιπόν, προσέξτε τώρα τι θα κάνουμε. Επειδή το αεροπλάνο σε σχέση με το τερρίν είναι πολύ μικρό και λογικό είναι γιατί το τερρίν είναι δύο χιλιόμετρα και το αεροπλάνο είναι μερικά μέτρα. Για να ευθυγραμμιστούμε καλά, εδώ πάνω το βλέπετε στην αεραρχία του SU-37 Terminator. Αν θα προσέξετε αυτό έχει μια διαφορά μετά, αλλά έχει και ένα βελάκι. Που σημαίνει ότι αν το πατήσετε βγάζει από κάτω θα είναι κομμάτια του αεροσκάφους. Εμείς βέβαια δεν τα χρησιμοποιήσουμε. Απλά αν θέλαμε να κάνουμε ένα πολύ ωραίο παιχνίδι, θα μπορούσαμε να κουνάμε τα πτερίγια, θα μπορούσαμε να ανοίγουμε το πηλωτήριο, θα μπορούσαμε να κάνουμε τον πιλότο να εκτοξεύεται σε περίπτωση που πέσει το αεροπλάνο. Βέβαια όλα αυτά σημαίνουν γραμμές κώδικα. Δεν θα τα κάνουμε για πρώτη φορά. Θα θέλαμε όλοι το F να κάνουμε zoom στο αεροσκάφος. Αυτά είναι τα particles. Τα σωματίδια. Τη σκιά την βλέπετε που έχει δημιουργήσει από κάτω. Βγάζει ένα αεροπλάνο στον αέρα και ένα κάτω. Σβήστε το από εκεί το SU37 Terminator τελείως και ξαναβάλτε το γιατί μάλλον κούνησε σε κάποιο αντικείμενό του ξεχωριστά. Αυτά δεν είναι προβλήματα παιδιά, μην ανησυχείτε. Ωραία. Παρακολουθείς ή όσο μπορείς και... είπαμε. Το έχω επιλεγμένο, δεν έχω κάνει κάτι. Απλά έχω κάνει κλειδί πάνω του και ενεργοποιούνται τα σωματίδια. Τα particles. Δεν πειράζει, θα το σηκώσουμε. Βουλιάξε μέσα. Προσέξτε. Σε όσους είναι το αεροσκάφος μέσα στο έδαφος μπορείτε να κάνετε ένα κλικ επάνω του και με το Move Tool εδώ με το σταυρό βγάζει αυτό το πράσινο το βελάκι. Πιάστε το και σηκώστε το λίγο πάνω από το έδαφος. Δηλαδή αν είναι έτσι, πιάστε το πάνω από το έδαφος. Εντάξει, φέρετε το λίγο πάνω από το έδαφος. Ας μην κολλήσουμε στα particles. Ας τα σβήσω. Ας μην ασχοληθούμε με αυτά άλλα. Λοιπόν. Μόνος το camera πάνω από το έδαφος μπορείτε να κάνετε ένα κλειδί πάνω από το έδαφος. Μπορείτε να κάνετε ένα κλειδί πάνω από το έδαφος. Ας μην ασχοληθούμε με αυτά άλλα. Λοιπόν. Μόνος το camera πάνω από το έδαφος. Εντάξει, έφυγαν. Με το Move Tool παιδιά εδώ πάνω έχει το σταυρό, πατήστε το και θα βγει το βελάκι. Ενώ είναι επιλεγμένο το Terminator φυσικά. Και μπορούμε να το μετακινήσουμε πάνω κάτω. Λοιπόν. Μπορείτε να αλλάξουμε τις θέσεις και να πια κοιτάει. Ναι. Αν πατήσουμε το Rotate και πιάσουμε το μπράσινο κύκλο. Εμένα που βγάζει είναι ο Particle Effect και όσο κάνει try, κάνει scroll. Ναι, είναι τα σωματίδια που έχει... Ναι, και δεν μπορώ να το μετακινήσω. Με το Move Tool. Με το κόκκινο pipe. Ένα αεροπλάνο βάλτε. Λοιπόν. Είστε όλοι έτοιμοι? Όχι. Πάνω απ' το έδαφος. Μόνο αυτό, τίποτα άλλο. Η αποστολή μας είναι αυτή, να βάλουμε το αεροπλάνο πάνω απ' το έδαφος. Από αριστερά επιλέγουμε το SU-37 Terminator. Πατάμε το Delete να διαγραφεί. Και κάτω από τα Asset το ξαναβάζουμε. Αυτό. Έχουμε μια απλή αποστολή. Βάλουμε το αεροπλάνο. Λοιπόν, τις φυσαλίδες για να τις βγάλετε. Εδώ δεξιά κάπου έχετε... κάποιο από αυτά λέει Particle System. Πατήστε στο γρανοζάκι. Ναι, εγώ δεν το έχω, δεν το έχω βγάλει. Άλλοι, πατήστε στο δικό σας το Particle System δεξιά. Α, ναι. Στο γραναζάκι και πατήστε Remove Component. Να το διώξουμε, να μη μας ενοχλεί. Εντάξει. Ωραία. Όπως είμαστε έτσι και βλέπουμε το αεροπλάνο, σηκώστε το λίγο πιο ψηλά. Πάμε με το Move του λίγο πιο πάνω. Λίγο πάνω από το έδαφος. Ωραία. Και φέρτε την κάμερα κάπου σε αυτήν την προοπτική. Πάμε. Ωραία. Πάμε... Έχουμε όλη την κάμερα επιλεγμένη. Κάντε ένα κλικ στο Main Camera και πάμε Game Object. Align with View. Game Object, Align with View. Φέρνει την κάμερα στη θέση που είναι εκείνη τη στιγμή... Το αεροπλάνο. Όχι, η σκηνή. Αυτό που βλέπουμε στο Scene, φέρνει την κάμερα σε εκείνη τη στιγμή. Για την κάμερα. Ούτως όταν πατήσουμε Play, η κάμερα θα ξεκινήσει από εκείνο το σημείο. Για να μην ξεκινήσει από το σημείο που είναι ρυθμισμένη. Λοιπόν, πατήστε λίγο Play να δούμε τι θα συμβεί. Τι συνέβη? Λοιπόν, προσέξτε λίγο. Αν πατήσω το Play... Ναι, εντωμεταξύ εγώ δεν έκανα το Align with View. OK. Game Object, Align with View. Βλέπουμε. Βλέπουμε. Βλέπουμε. Game Object, Align with View. Αν πατήσω το Play... Είναι λογικό ότι δεν θα συμβεί τίποτα. Είναι ένα πολύ βαρετό παιχνίδι μέχρι στιγμής. Δεν κάνει τίποτα. Είναι ένα αεροπλάνο το οποίο στέκεται. Το αεροπλάνο δεν χρησιμοποιεί... είναι ένα αντικείμενο αυτή τη στιγμή πολύ γενικό και αόριστο. Δεν έχει τίποτα. Δεν κάνει τίποτα. Δεν εφαρμόζουμε ούτε καν τους νόμους της βαρύτητας επάνω του. Πρέπει να εφαρμόσουμε. Κάντε ένα κλικ στο αεροπλάνο όλοι. Και πάμε Add Component. Όλοι ένα κλικ στο αεροπλάνο. Add Component, Physics και επιλέγουμε το Rigid Body. Το πρώτο. Physics και Rigid Body. Add Component. Κατέβα τέρμα κάτω. Εδώ. Physics. Rigid Body. Αν είναι τσεκαρισμένο το Use Gravity. Αν είναι τσεκαρισμένο και πατήσω play αυτή τη φορά. Προσομοιώνουμε τη βαρύτητα τώρα. Παρακολουθήστε εδώ όσοι έχετε χαθεί. Παρακολουθήστε εδώ. Use Gravity. Αν το ξαναξεκινήσω θα δείτε ότι χρησιμοποιεί τη βαρύτητα και το αεροπλάνο πέφτει προς τα κάτω. Όπως γίνεται και στο μπλε. Θα πέσει προς τα κάτω. Αυτή είναι η βαρύτητα. Add Component. Physics. Και μετά Rigid Body. Παρακολούθησατε εδώ γιατί θα χάσεις πιο σημαντικά πράγματα από ό,τι να βρεις τώρα τη βαρύτητα. Στο GameObject είναι. Κάντε τώρα το εξής. Πάμε GameObject. Create Other. Create Other. Create Other. Create Other. 3D Object. Και πάμε να βάλουμε ένα 3D Object. Θέλουμε να βάλουμε ένα Plane. Το οποίο Plane θα το βάλουμε σε αυτή τη θέση. Αυτό είναι η ράμπα εκτόξευση που είχαμε δει. Λοιπόν, αν πατήσετε το κουμπί Scale μπορείτε να την μεγαλώσετε την μπάρα. Και με το κουμπί της περιστροφής παρακολουθήστε λίγο εδώ πέρα παιδιά για να βλέπετε τη ροή. Μετά θα μπορέσετε να το επαναλάβετε και μόνοι σας αυτό. Και θα περιστρέψω την μπάρα έτσι σε μια τέτοια πλήση. Και θα την κατεβάσω και λίγο πιο κάτω. Ίσα-ίσα να μπαίνει μέσα στο έδαφος. Και θα κάνω το ίδιο και με το αεροπλάνο. Θέλει λίγο να την μεγαλώσουμε, έτσι? Με το Scale εδώ πέρα. Πώς θέλετε να παρουσιάσετε την μπάρα. Ποια μπάρα? Είναι ένα Plane αυτό. 3D Object Plane. Το αεροπλάνο θα του δώσουμε και αυτό λίγο μια κλήση. Θα το φέρουμε κοντά στην μπάρα. Αλλά μην ακουμπάει την μπάρα. Εδώ πέρα λέει ISO? Πάτα το κυβάκι ανάμεσα. Τι λέει τώρα? Alt πατημένο και γυρνάμε το ποντίκι. Alt πατημένο και κλικ. Το φέρατε? Έτσι, απλά κάντε λίγο την μπάρα πιο... Δεν πειράζει, κατέβαστε του λίγο πιο κάτω. Πάρε το Move Tool εδώ πέρα αυτό. Και με το πράσινο το βελάκι το πας λίγο κάτω. Έτσι, αλλά αντίστοιχα θα κουνήσεις και το αεροπλάνο. Άμα δεν το καταφέρετε ακριβώς δεν πειράζει. Το Project θα το ανεβάσουμε στο διαδίκτυο και θα το πάρετε από εκεί... με έτοιματα, αντικείμενα, στιγμένα. Είναι η πρώτη φορά που το κάνει, το λογικό είναι να μην το καταφέρετε. Δηλαδή αυτό μπορεί να φάνει και μια μέρα, μην σας ανησυχεί αυτό το γεγονός. Υπάρχει τρόπος να ορίσουμε ότι το bounding box του αεροπλάνου... είναι παράλληλο με το bounding box του plane? Όχι, βασικά κάθε αντικείμενο, εδώ στις ιδιότητες, έχει μια γωνία. Εάν αυτές οι δύο γωνίες είναι οι ίδιες των δύο αντικειμένων... θα πάρουν την ίδια κλήση. Οπότε θα είναι παράλληλα. Τώρα, αν κάνω align with view και το δω εδώ πέρα, από την κάμερα βέβαια, γιατί κουνήσατε τα εσωτερικά αντικείμενα του αεροπλάνου. Control και Z. Το αεροπλάνο στέκεται πάνω στην μπάρα εκτόξευσης. Δεν έχω βάλει τις δύο κολόνες μπροστά, αλλά είναι μαγική μπάρα... και μπορεί να κάθετε χωρίς υποστήριξη. Με το μάτι κάντε το. Διαφορετικά πρέπει να έχουν την ίδια γωνία περιστροφής, το οποίο φαίνεται στο inspector. Το Ζ, ναι, ο άξονος Ζ. Όταν μιλήσαμε για γραφικά και χαρακτηριότητες, αυτά τα γραφικά είναι πολύ μέτρα. Ναι. Και για να κάνεις καλύτερα γραφικά, τίποτα χαρακτηριότητα, δεν έχεις να βρεις καλύτερα γραφικά. Κάτσε, κάτσε. Είναι μέτρα γραφικά. Θέλεις έναν καλλιτέχνη. Ναι, αλλά ο καλλιτέχνης δεν είναι καλλιτέχνης. Θα σχεδιάσει καλύτερα γραφικά. Θα τα μοντελοποιήσει ψηφιακά. Και το αεροπλάνο που θα βάλουμε, η ράμπα δεν θα είναι ένα κίτρινο πλέιν, θα είναι μια ράμπα κανονική εκτόξευσης. Ή θα είναι ένα αεροπλανοφόρο. Με ό,τι συνεπάγεται ένα αεροπλανοφόρο. Με την υφή του κάτω, με τη γυαλάδα του, με το φωτισμό του, με τα χρώματά του. Θέλουμε καλό καλλιτέχνη, με λίγα λόγια. Θέλουμε artist. Αν έχεις καλό artist, έχεις και καλό παιχνίδι. Ψχετικό βέβαια, γιατί πρέπει να έχεις και καλό προγραμματιστή. Αλλά ο artist είναι ο υπεύθυνος για την εικόνα του παιχνιδιού. Έχεις ένα όμορφο παιχνίδι. Έχεις ένα καλό παιχνίδι όταν έχεις μια συγκροτημένη ομάδα, καλή είσαι όλα. Με το rotate, με το scale, με αυτό εδώ το κουμπί, και ενώ είναι η ράμπα επιλεγμένη, βγάζει αυτά τα τετραγωνάκια. Αν θέλω να το μεγαλώσω από εδώ, πιάνω αυτή τη ράμπα. Τώρα, να κάνουμε κάτι για να μην παιδευτούμε όσον αφορά τον κώδικα. Τελειώστε με τη ράμπα. Πολύ ωραία. Δεν πειράζει. Καλό είναι, λίγο περισσότερη κλήση. Ναι, έτσι πρέπει να είναι. Click. Focus. Alt-πατημένο. Λίγο πιο κλειστό. Λίγο πιο κλειστό. Λίγο πιο κλειστό. Λίγο πιο κλειστό. Alt-πατημένο. Κάτι γίνεται με το λάπτο, προφανώς. Ίσως έχει κάτι πατημένο. Όχι, έχει κάτι κολλήσει από εδώ πέρα. Ναι, κάποιο κουμπί είναι κολλημένο μάλλον. Έχει ένα κίτρινο χρώμα, δεν ξέβαλα εγώ. Κάντε όλο το εξής τώρα. Ελάτε πάλι στον φάκελο Assets, όπως είμαστε. Έχει μέσα έναν φάκελο που λέγεται Scripts. Να τον πάρετε και να το σήρετε μέσα στα Assets. Βασικά, τον φάκελο Scripts από τα Assets, τον σήρουμε μέσα. Βγεί και εδώ. Αν μπείτε μέσα του έχει τρία Script. Camera Follow, Flight και Engine Sound. Κάντε ένα κλικ στο αεροπλάνο. Κάντε ένα κλικ στο αεροπλάνο. Πιάστε το Camera Follow, ή μάλλον όχι. Κάντε ένα κλικ στο αεροπλάνο. Ελάτε Add Component. Ένα κλικ στο αεροπλάνο. Το αεροπλάνο είναι εδώ πάνω όμως, παιδιά, όχι μέσα σε κάποιο υποαντικείμενο του. Εδώ πάνω. Στο S2-37 Terminator ένα κλικ. Κάντε ένα κλικ εκεί. Πάμε Add Component, εδώ δεξιά. Script. Και βάλτε το Camera Follow. Το Camera Follow είναι ένα script, το οποίο λέει στην κάμερα να ακολουθεί το αεροπλάνο. Αν πατήσουμε play δεν θα γίνει τίποτα, γιατί δεν έχουμε πει το αεροπλάνο πως κινείται. Αυτό γίνεται με το flight. Λοιπόν, έχουμε πάλι το αεροπλάνο επιλεγμένο. Και πάμε, Add Component. Script. Flight. Script. Flight. Αυτό θα βγάλει και κάποιες παραμέτρους, αν θα δείτε. Τις οποίες εμείς δεν θα πειράξουμε καθόλου, έτσι? Όταν κάνεις save, αποφυγεύονται τα πάντα. Τα πάντα, ναι, ότι έχουμε μέχρι εκείνη τη στιγμή, αποφυγεύονται. Ναι, πιστεύω ότι δεν θα έχεις πρόβλημα. Αλλά μην το κάνεις, ας το. Έτσι, αλλιώς, σε λίγο τελειώνουμε, παρακολούθησε εδώ. Θα πάρετε μετά τα project files και θα παίξετε, ας πούμε... Τώρα, τι έχει συμβεί? Να δοκιμάσουμε να πατήσουμε play. Δεν παίζει. Δεν παίζει? Όχι, δεν παίζει. Αν πατήσετε την παρά, δηλαδή, δεν γαζώνει. Όχι. Για να λέει τι να κάνω, γαζώνει. Και με τα βελάκια χειρίζεται το αεροπλάνο. Όχι. Απλά, ας πούμε, 12.000. 12.000, ας πάει. Αν για κάποιο λόγο συμπεριφέρεται περίεργα τώρα, είναι γιατί σε κάποιο βήμα δεν ακολουθήσατε ακριβώς αυτό που πρέπει να γίνει. Επίσης, υπάρχει μια πιθανότητα, επειδή πατάμε ταυτόχρονα τρία πλήκτρα, μερικοί υπολογιστές δέχονται είσοδο από δύο πλήκτρα ταυτόχρονα. Αυτό σημαίνει ότι ένα τον γάζει και ένα για να σηκωθείτε προς τα πάνω. Προς τα πάνω σηκώνεστε να πατήσετε το βελάκι. Και πάντε στρήν. Ναι, επειδή το τρίτο πλήκτρο είναι ανενεργό. Αν αρχίζει το τρίτο πλήκτρο που πατάτε ταυτόχρονα, δεν το δέχεται το πληκτρολόγιό σας. Γι' αυτό συμβαίνει αυτό. Αυτό σημαίνει ότι δεν προχωράει. Το βελάκι προς τα πάνω. Ο χειρισμός του... Είναι λίγο... Θα δούμε λίγο το σκριτάκι. Απλά δηλαδή δεν υπήρχε περίπτωση να μπορέσουμε να το γράψουμε από το μηδέν. Υποπτεύομαι πως ναι. Θέλει μία μικρορίθμιση. Πιστεύω ότι μετά το τέλος αυτού των μαθημάτων θα εκτιμήσουμε πολύ τη δουλειά που κάνουν αυτοί. Αυτοί που κάνουν τα παιχνίδια. Αυτοί που κάνουν τα παιχνίδια. Αυτοί που κάνουν τα παιχνίδια. Αυτοί που κάνουν τα παιχνίδια. Αυτοί που κάνουν τα παιχνίδια. Αυτοί που κάνουν τα παιχνίδια. Θα εκτιμήσουμε πολύ τη δουλειά που κάνουν αυτοί. Αυτοί που κάνουν τα παιχνίδια. Βασικά θα πάρετε το project μετά το μάθημα έτοιμο. Με όπως έπρεπε να το είχαμε κάνει. Οπότε θα δουλεύει και κανονικά. Όπως αυτό που σας έδειξε στην αρχή. Εδώ απλά τώρα θέλω να σας δείξω το εξής. Κάντε όλοι ένα διπλό κλικ. Στα asset είμαστε όλοι μέσα στα script. Μέσα στα script μπείτε λίγο. Το script θα σας το δείξω τώρα. Απλά γιατί δεν θα μπορούσαμε να το ολοκληρώσουμε τόσα άτομα σε το χρόνο που μας έχει απομείνει. Για αυτό θα σας το δείξω και θα σας εξηγήσω πώς λειτουργεί το script. Ανοίξτε λίγο το script flight που είναι το σημαντικότερο. Με διπλό κλικ. Και θα ανοίξει ο μόνο develop, είναι ένας editor ο μόνο develop με τον οποίο γράφουμε script. Αν περιμένετε λίγο θα ανοίξει. Αργή λίγο. Προσέξτε λίγο το script, τον κώδικα δηλαδή και τη λογική που κρύβεται πίσω από τον κώδικα. Και σε ένα απλό σημειωματάριο θα μπορούσατε. Απλά η γιονύτη το έχει ενσωματωμένο μέσα όταν κάνει την κατάσταση στο πρόγραμμα και μπορείτε να το χρησιμοποιήσετε. Έχουμε μία κλάση, την flight. Αυτή εδώ η κλάση μέσα της κρύβει όλες τις εντολές. Αν εξάρτητα με το αν όλοι καταλαβαίνετε ακριβώς τι σημαίνει κλάση, τι σημαίνει συνάρτηση, τι σημαίνει μεταβλητή, η κλάση είναι ένα αντικείμενο το οποίο μέσα της κάνει πράγματα. Όταν θέλουμε να κάνουμε πράγματα, όταν θέλω να φτιάξω ένα παιχνίδι και γενικότερα θα θέλω να φτιάξω μια λειτουργικότητα σε ένα παιχνίδι, είναι πολύ σημαντικό να δημιουργήσω πρώτα τις μεταβλητές αυτές για να μπορώ να έχω ευελιξία μέσα όσον αφορά τις διαδικασίες που γίνονται. Αν θα προσέξετε έχω κάποιες μεταβλητές στην αρχή. Οι οποίες και αυτές δεν είναι διαθέσιμες στο διαδίκτυο και μάλιστα δίπλα η κάθε μεταβλητή έχει με κάθε τους σχόλιο για να ξέρετε ακριβώς τι σημαίνει. Οπότε δεν θα δυσκοληθείτε καθόλου για να καταλάβετε πώς ακριβώς λειτουργεί. Εφόσον εδώ έχω τη λέξη public σημαίνει δημόσιο, σημαίνει ότι όταν θα έχω επιλεγμένο το αεροσκάφος μου, γιατί εκεί έβαλα το script, εδώ δεξιά αυτά που βλέπετε, plane speed, turn speed, minimum speed, maximum speed και plane rigid body, είναι αυτές οι μεταβλητές εδώ τις οποίες έχω αρχικοποιήσει και τις οποίες δε φαίνεται απλά στις ιδιότητες, γιατί δεν χρειάζεται να φαίνεται. Ναι, είναι για μένα, δηλαδή είναι για τον προγραμματιστή. Και το rigid body και αυτό θα μπορούσε να ήταν private γιατί δεν το χρησιμοποιεί ο χρήστης κάπου. Public συνήθως θα κάνουμε την ώρα που δοκιμάζουμε, δηλαδή μου αρέσει η ταχύτητα, όχι το αφήνω, δεν μου αρέσει ταχύτητα, για να μην μπαίνω εδώ και το αλλάζω, μπορώ ας πούμε το maximum speed, να του πω ότι ξέρεις το 2,5 χιλιάδες δεν μου αρκεί, μπορώ να το βάλω 5 χιλιάδες. Να πηγαίνει ακόμα πιο γρήγορα, να μην καταλαβαίνει τίποτα. Ή για παράδειγμα η ταχύτητα με την οποία περιστρέφεται, δεν θέλω να είναι 100 γιατί το βλέπω ας πούμε περιστρέφεται πολύ αργά, ή πολύ γρήγορα σε κάποιους που έκανε κάτι, να το κάνω λίγο πιο χαλαρό, να το κάνω 50, να το κάνω 60, το πιο είναι το σωστό θα το βρείτε με δοκιμές. Και αν έχετε public τις μεταβλητές σας, θα είναι πιο εύκολο να το καταλάβετε. Ξεκινάμε με τη μέθοδο awake. awake τι σημαίνει στα ελληνικά? Ξυπνάω. Ξυπνάει. Το ξεκινάει έχει άλλη μέθοδο που λέγεται start. Το ξυπνάει σημαίνει ότι γίνεται πριν από το ξεκινάει. Η μέθοδος awake ξεκινάει πρώτη σε ένα project. Δηλαδή, όταν πατάω το play, το πρώτο πράγμα που θα εκτελεστεί είναι η μέθοδος awake. Και στη μέθοδο awake αποθηκεύω προσωρινά το rigid body. Θυμάστε τι είναι το rigid body? Είναι η βαρύτητα που αποκτά. Είναι το component αυτό το οποίο κάνει το αεροσκάφος να υπακούει στους νόμους της φυσικής. Αν δεν έχει rigid body, στέκεται και ακίνητο, δεν πέφτει. Μόλις βάλαμε το rigid body άρεσε να πέφτει προς τα κάτω. Αυτό έγινε γιατί το rigid body είναι το αντικείμενο αυτό, η συμπεριφορά αυτή που μπαίνει στο αντικείμενο, για να μπορέσει το αντικείμενο να ακούει στους νόμους της βαρύτητας. Αυτό το βάλαμε σαν ιδιότητα μέσα στο αντικείμενο. Ναι. Και εδώ το θέτουμε στους νόμους της βαρύτητας, εδώ είναι για να μπορέσω να το χρησιμοποιήσω προγραμματιστικά. Όταν θα αναφέρομαι στη συμπεριφορά ως προς τους νόμους της φυσικής του αντικειμένου, θα αναφέρομαι με αυτή τη μεταβλητή, plain rigid body, η οποία μέσα της έχει το component. Component θυμάστε, από δεξιά που κάναμε add component physics. Ποιο component? Το rigid body. Αυτό το component δηλαδή είναι εδώ πέρα. Η μέθοδος update είναι μια μέθοδος η οποία εκτελείται σε κάθε καρέ του παιχνίδιου, frame. Δηλαδή κάθε στιγμή συνεχόμενα εκτελείται, εκτελείται, εκτελείται χωρίς σταματημό. Δηλαδή παίζεται ένα παιχνίδι και την ώρα που τρέχει ένα αυτοκινητάκι, γενικά διαδραματίζεται το παιχνίδι εκείνη τη στιγμή, ό,τι συμβαίνει μέσα στη μέθοδο update είναι αυτό που βλέπετε εκείνη τη στιγμή. Κάνει ανανέωση δηλαδή του κώδικα. Ποιο κώδικα? Όποιο κώδικα υπάρχει εδώ μέσα. Και εδώ μέσα σε αυτόν τον κώδικα εγώ τι του λέω. Ποια είναι η φιλοσοφία δηλαδή. Του λέω, η δύναμη περιστροφής η οριζόντια, το input get axis είναι πάρε τον οριζόντιο άξονα από το πληθρολόγιο. Unity έχει προκαθορισμένα μέσα κάποια standards και λέει ότι το δεξιά-αριστερά βελάκι ή όσοι είναι gamers το α και το δ είναι για να πηγαίνεις δεξιά και αριστερά. Και το W το S είναι για να πηγαίνεις πάνω-κάτω, αντίστοιχα τα βελάκια πάνω-κάτω είναι τα vertical. Άρα δεξιά-αριστερά είναι το οριζόντιαλ, πάνω-κάτω είναι το vertical. Αυτά τα διαβάζω. Και γιατί τα διαβάζω σε κάθε frame? Γιατί το παιχνίδι διαδραματίζεται εκείνη την ώρα live, άρα θέλω συνέχεια να παίρνω είσοδο. Αν τα έβαζα αυτά δηλαδή μέσα στο awake θα τα διάβαζε μία φορά και το αεροπλάνο δεν θα κουνιόταν γιατί θα είχε μία τιμή και θα ήταν αυτό. Τα βάζω μέσα στο update για να τα διαβάζει συνέχεια. Πάτησα το κουμπί, θέλω να το διαβάσεις. Πάτησα το άλλο, θέλω να το διαβάσεις. Το άφησα και αυτό θέλω να το ξέρω. Εδώ λοιπόν διαβάζω αν έχει στρίψει αριστερά-δεξιά και εδώ κατακόρυφα. Εδώ τι συμβαίνει. Το if σημαίνει αν. Αν έχει πατήσει ποιο κουμπί. Τι είπαμε το space. Τον γκάζει. Αν έχει πατήσει το space και η ταχύτητα του αεροπλάνου είναι μικρότερη από τη μέγιστη ταχύτητα και έχω βάλει κόφτη. Δεν θέλω να πηγαίνει πάνω από 2,5 χιλιάδες ή από πάνω από 1.500. Αν λοιπόν πατάει το space και δεν έχει ξεπεράσει τα 1.500, τότε αύξησε την ταχύτητα κατά 10 μονάδες. Κάθε ανανέωση. Δεν είναι δευτερόλεπτα αυτό. Μπορεί να είναι και λιγότερο. Το update μπορεί να εκτελείται κάθε 0,2 δευτερόλεπτα, κάθε 0,1 δευτερόλεπτα. Εξαρτάται από την ταχύτητα του κάθε υπολογιστή. Ναι. Εδώ πέρα τώρα εμείς το 10, δηλαδή αν δείτε ότι την καζώνει πολύ αργά και το βαριέστε, δεν θα πείτε 10. Θα φτάσουμε και για το να τρέχει το ίδιο σε όλους. Μέχρι στιγμής μιλάμε για τη μέθοδο update η οποία δεν είναι ίδια σε όλους. Αλλά μιλάμε οι διαφορές είναι απειροηλάχιστες. Είναι στα εκατοστά του δευτερολέπτου, ίσως και στα χιλιοστά. Οπότε αν εσείς θεωρείτε βαρετή την αύξηση της ταχύτητας, το 10 το κάνετε 30, 50. Και φεύγει πιο γρήγορα. Τώρα αυτό το θαυμαστικό σημαίνει ότι αν δεν πατάω το space, άρα το έχω αφήσει. Και η ταχύτητα του αεροπλάνου είναι μεγαλύτερη από την ελάχιστη ταχύτητα, γιατί δεν θέλω να πάει αρνητική ταχύτητα. Οπισθεν δεν έχουν τα αεροπλάνα, έτσι δεν γίνεται να πάει οπισθεν, τότε τι να την κάνεις στην ταχύτητα, να την μειώσεις. Εάν η ταχύτητα, για κάποιο λόγο, δεν ξέρουμε γιατί, εάν η ταχύτητα του αεροπλάνου είναι μικρότερη από την ελάχιστη ταχύτητα, τότε η ταχύτητα του αεροπλάνου να γίνει ίση με την ελάχιστη ταχύτητα. Αυτό είναι η δικλήδα ασφαλείας γενικότερα. Θα μπορούσαμε και να μην το βάλουμε, αλλά αν για κάποιο λόγο κάπου σε έναν καταχωρητή, σε καμιά μνήμη μπει για κάποιο λόγο μία τιμή, καλό είναι να το έχουμε ως δικλήδα ασφαλείας, για να εξασφαλίζουμε ότι η ταχύτητα του αεροπλάνου ποτέ δεν θα γίνει μικρότερη από την ελάχιστη ταχύτητα. Εδώ το σκριπ τώρα σας φαίνεται δύσκολο, δεν είναι δύσκολο, είναι εύκολο. Έχει δύσκολα σκριπ, τα οποία είναι πολύ πιο προχωρημένα από αυτό. Απλά για πρώτη φορά είναι πολύ καλό παράδειγμα, γιατί έχει μέσα και μεταβλητές και ίφ και είσοδο από το μητρολόγιο, θα το μελετήσετε σπίτι και θα έχετε πολλά θετικά να πάρετε από αυτό. Τώρα, αυτό ήταν ο έλεγχος για το γκάζι μόνο. Λοιπόν, αυτές οι τρεις γραμμές είναι υπεύθυνες για την κίνηση. Τρεις γραμμούλες, τίποτα παραπάνω. Εδώ έχω μία άλλη μέθοδο, η οποία λέγεται fixed update. Η διαφορά της με την update είναι ότι η fixed update επαναλαμβάνεται σε σταθερές περιόδους. Η update διαφοροποιείται ανάλογα με τον κάθε υπολογιστή. Η fixed update τρέχει το ίδιο σε όλους τους υπολογιστές. Και όταν μιλάω για δυνάμεις φυσικής, βαρύτητα, επιτάχυνση, ροπή, αυτά όλα τα θέλω σε fixed update. Λοιπόν, το force τι σημαίνει δύναμη. Δύναμη δηλαδή, φεύγει μπροστά. Λέω plane rigid body, τι σημαίνει το plane rigid body, να το εδώ πάνω είναι. Ποιο νόμο βαρύτητα. Το αεροπλάνο. Το αεροπλάνο, μπράβο. Στην βαρύτητα του αεροπλάνου, τώρα σας το διαβάζω όπως θα το έλεγε ένας άνθρωπος. Στην βαρύτητα του αεροπλάνου βάλε μια σχετική δύναμη. Σχετική δύναμη όμως, εννοεί με βάση την κατεύθυνση που κοιτάει εκείνη τη στιγμή το αεροπλάνο. Αν δηλαδή το αεροπλάνο έχει κλείσει, η σχετική δύναμη θα είναι σύμφωνα με τη μύτη του αεροπλάνου, να σας το πω έτσι. Αν δεν έβαζα τη λέξη relative, γιατί υπάρχει και αυτή η εντολή, υπάρχει το add force, το σκέτο, όπου και να κοίταζε το αεροπλάνο θα πήγαινε πάντα μπροστά. Τώρα θα μου πεις που το χρειάζομαι αυτό. Σε άλλες περιπτώσεις. Σε μία μπάλα κανονιού, ας πούμε, η οποία θέλω να πηγαίνει προς μια σταθερή κατεύθυνση αλλά να περιστρέφεται ταυτόχρονα. Εδώ θέλω όταν στρέφω τη μύτη προς τα πάνω να ακολουθεί η δύναμη την μύτη του αεροπλάνου. Έτσι δεν είναι. Το αεροπλάνο πετάει και η δύναμή του είναι προς τα εκεί που κοιτάει η μύτη. Διαφορετικά δε σηκώνεται ποτέ στον αέρα. Μέσα αυτό σαν όρισμα παίρνει. Το vector 3 forward ουσιαστικά είναι εδώ πάνω το transform που βλέπετε και έχει ένα position χ, ψ και ζ. Το μπροστά είναι η μπλε γραμμή, είναι ο άξονα ζ, άμα δείτε στο παράθυρό σας. Ουσιαστικά αυξάνει το ζ. Επειδή όμως η Unity μου δίνει το εργαλείο με το vector 3 και μου δίνει τη λέξη για να τη χρησιμοποιήσω, του λέω θέλω να πηγαίνεις forward. Forward τι σημαίνει? Μπροστά. Μπροστά. Έχει up, όχι down δεν έχει, είναι το αρνητικό up το down. Αυτό άλλαξε τώρα τελευταία, υπήρχε το down αλλά το κατήργισαν. Forward, πόσο μπροστά να τρέχει επί plane speed, που είναι η ταχύτητα του αεροπλάνου, η οποία προσαρμούζεται με τα i που είδαμε λίγο πιο πάνω, που έλεγε όταν πατάω να αυξάνεται, όταν αφήνω να μειώνεται. Επί time-delta-time, εδώ είναι όλη η ουσία. Το time-delta-time εξασφαλίζει ότι είτε αυτό το παιχνίδι τρέξει σε έναν 5.86, είτε τρέξει σε έναν i7 που έχει οχταπύριο να επεξαργαστεί, θα τρέχει ακριβώς με τον ίδιο τρόπο. Έτσι και βγάλετε το time-delta-time, σε έναν γρήγορο υπολογιστή δεν θα βλέπετε το αεροπλάνο γιατί θα πηγαίνει σαν τρελό, και σε έναν αργό υπολογιστή θα το βλέπετε και θα το κοιτάτε και θα το κοιτάτε και θα το κοιτάτε. Με το time-delta-time εξασφαλίζεται ότι σε όλους τους υπολογιστές θα τρέχει με τον ίδιο τρόπο. Απλά ίσως να μην βλέπετε διάμεσα σε έναν αργό. Όχι, απλά θα το βλέπετε να πηγαίνει αργά. Όχι, όταν βάλουμε το time-delta-time σε έναν αργό θα βλέπεις το τελικό και το αρχή-τέλος, μετά πηγαίνει το ίδιο τρόπο και μπορεί να είναι διάμεσο. Αν δεν μπορεί να το διαβάσει, ναι. Αυτό είναι το force, είναι η δύναμη. Έχω δύο περιστροφές. Έχω νεορζόντια, τα φτερά πηγαίνουν πάνω-κάτω και έχω και την κατακόρυφη που είναι η μύτη. Ξανά, σε ποιον πρέπει να πω να στρίψει, όχι στο αεροπλάνο, στο rigid body θα το πω. Αυτό θέλω να υπακούει στους νόμους της φυσικής. Αυτό είναι προσαρτημένο στο αεροπλάνο. Εάν αυτό κάνει ό,τι το πω, θα κάνει και το αεροπλάνο ό,τι το πω. Γιατί είναι αυτά οι λέντετα. Του λέω, add relative torque, δηλαδή το torque είναι το στρίψιμο. Θέλω να στρίβεις ανάλογα με την κατεύθυνση που κοιτάζει το αεροπλάνο εκείνη τη στιγμή, γιατί μπορεί να είναι λίγο προς τα κάτω και θέλω να στρίψω λίγο. Ή μπορεί να είναι λίγο οριζόντιο και θέλω να ανέβω. Θέλω να κοιτάει πάντα τη φορά του αεροπλάνου. Και λέω, στρίψε με την ταχύτητα περιστροφής, την οποία έχω ορίσει και είπαμε ότι αν εγώ το θεωρώ βαρετό, βλέπω ότι στρίβει αργά. Στρίψε με την ταχύτητα περιστροφής, με τη δύναμη μάλλον, επί την ταχύτητα, η δύναμη περιστροφής είναι το πόσο, με πόση ένταση θα περιστρέφεται και η ταχύτητα περιστροφής είναι πόσο γρήγορα θα χρησιμοποιεί αυτή την ένταση. Επί time-delta-time, είπαμε, θέλω όπως στρίβεις τον έναν υπολογιστή να στρίβει και στον άλλον. Αυτός είναι ο άξονας, ο ένας από τους τρεις, ο χ. Στον άξονα χ θέλω να στρίβει. Αν κάνετε αυτό με το χέρι σας, αυτό το δάχτυλο είναι ο άξονας χ, αυτό είναι το άξονα ζ, το βάθος που λέμε, και ο αντίχειρας είναι ο άξονας ψ. Εμείς θέλουμε να είναι στο χ. Στους άλλους δύο άξονες θέλουμε να περιστρέφεται. Όχι, μόνο στον άλλον άξονα. Με τους άλλους δύο άξονες δεν έχουμε να κάνουμε. Είναι η κάτω γραμμή. Εδώ στρίβουμε στον έναν τον άξονα. Δηλαδή, όταν πατάω το βελάκι χρησιμοποιεί τον έναν τον άξονα μόνο. Οι άλλοι δύο μηδέν. Δεν θέλω να μεταβάλλετε, δηλαδή, η περιστροφή και στους άλλους δύο άξονες. Το χ είναι πάνω-κάτω. Θα σου πω ότι είναι το χ. Όχι, το χ, ναι. Φανταστείτε ότι το αεροπλάνο είναι αυτό και ο άξονας χ είναι οριζόντιος. Κουμπώνει και είναι πάνω-κάτω. Το κατακόρυφο είναι λίγο περίεργο, αλλά αν το σκεφτείτε είναι έτσι. Ναι. Και το άλλο είναι στον άξονα ζ. Κατακόρυφα, χ. Και ο ζ, πιάστε με το άλλο το χέρι σας και φανταστείτε το αεροπλάνο. Αυτό είναι το αεροπλάνο, στρίβει δεξιά-ριστερά. Ο άξονας ζ. Κάθε στον άξονα. Ο άξονας χ πάνω-κάτω. Σαν να κάνετε ένα σταυρό με το χέρι. Βασικά, άμα το πιάστε μία φορά, παντού το ίδιο είναι. Δηλαδή, είτε αυτοκίνητο θέλαμε να κάνουμε, είτε αεροπλάνο είτε καράβι, με την ίδια λογική θα το χρησιμοποιούσαμε. Στην δεύτερη περιστροφή, κάνω το ίδιο πράγμα. Κρατάω το άξονα χ και ψήφω. Και κάνω την περιστροφή στον ζ. Στο τέλος έχω απλά ένα force mode accelerator, που σημαίνει να χρησιμοποιήσετε επιτάχυση. Δηλαδή, να μην είναι ξερή που ξεκινάει. Μην είναι ξερή που ξεκινάει και τρέχει. Να ξεκινάει σταδιακά. Το documentation μέσα της Unity εξηγεί ακριβώς τι είναι όλα αυτά. Ενώ το accelerator, το time delta time, το add relative force, όλα αυτά τα εξηγεί μέσα αναλυτικά. Στα γλυκά βέβαια, αλλά δεν έχει σημασία. Κάνουμε game design και game development. Οπότε, και με ένα translator δηλαδή, θα μπορούμε να καταλάβουμε αν δεν είναι τα γλυκά μας τόσο καλά. Αυτές οι τρεις γραμμές, λοιπόν, είναι υπεύθυνες για την κίνηση του αεροπλάνου. Η παραπάνω ήταν για τον έλεγχο της ταχύτητας. Μας έχει μείνει μια τελευταία σειρά εντολών. On GUI. Το on GUI δεν είναι τίποτα άλλο, δηλαδή, απ' το παραθυράκι που έβγαινε πάνω που έλεγε δύναμη και επιτάχυση. Έχουμε ένα style. Είναι το style. Αν έρθω εδώ, έχει ένα style εδώ, όπου εδώ μπορώ να ορίσω γραμματοσύρες, μέγεθος, χρώμα. Είναι σαν τη μορφωποίηση που κάνουμε στο Word. Δεν είναι ακριβώς το ίδιο, αλλά η φιλοσοφία του είναι αυτή, ότι είναι ένα style με το οποίο μπορούμε να μορφωποιήσουμε. Και αν θυμάστε, είχαμε φέρει και έναν φάκελο fonts, όπου αν μπω μέσα στον φάκελο fonts και πιάσω αυτό το font, βασικά να το δούμε λίγο χωρίς τη γραμματοσυρά. Βλέπετε τη δύναμη και την επιτάχυση, πώς είναι με απλή γραμματοσυρά? Εδώ πάνω, αυτό εδώ είναι το on GUI, αυτή τη δουλειά κάνει. Αν φέρω τώρα τη γραμματοσυρά εδώ και τη βάλω εδώ στο font και ξανατρέξω το script, πρέπει να μειώσω το μέγεθος της γραμματοσυράς. Δεν είναι τίποτα αυτό, δεν είναι πρόβλημα. Δηλαδή, αν κάπου εδώ πέρα στο font size αρχίζω και παίζω με τη γραμματοσυρά. Αν τώρα πατήσω stop, θα γίνει reset αυτό, δεν θα το κρατήσει. Οπότε, όταν κάνετε πειραματισμούς, γι' αυτό είναι τα public εδώ πέρα, γι' αυτό φαίνονται στο property inspector. Εγώ βλέπω ότι το 19 μου κάνει, μ' άρεσε. Αν πατήσω τώρα το stop, το 19 μου κάνει. Εγώ βλέπω ότι το 19 μου κάνει, μ' άρεσε. Αν πατήσω τώρα το stop, το 19 χάθηκε εδώ κάτω, βλέπετε. Αλλά τώρα επειδή το θυμάμαι, μπορώ να βάλω 19, να πατήσω το enter, είναι έτοιμο. Γιατί ξέρω τι μου κάνει, το έκανα δοκιμή, το 19 μου άρεσε και το αφήνω. Και για να κάνετε κείμενα μέσα στην οθόνη σας, δεν είναι όπως τα αεροπλανάκια που παίρνουμε και βάζουμε μέσα asset και τα πηγαίνουμε όπου θέλουμε, γίνεται με κώδικα. Στην 4.6 βέβαια, έχει το UI system ενσωματωμένο, που είναι πολύ απλοποιημένο. Όσοι εγκαταστήστε την 4.6 και την δουλέψετε, θα δείτε ότι αυτά που κάνουμε τώρα με τα μηνύματα που εμφανίζονται, εσείς θα τα κάνετε πολύ πιο εύκολα. Click, drag, click, drag. Εδώ απλά αυτή είναι η παλιότερη έκδοση, δεν το έχει. Για να το δούμε αυτό. Ένα κουτάκι είναι για τον πίνακα ελέγχου, το κείμενο που έγραφε επάνω. Ένα για τη δύναμη και ένα για την επιτάχυνση. Του λέω εδώ, κάνε ένα κουτί, το οποίο να ξεκινάει στο X δέκα μονάδες, στο Ψι άλλες δέκα μονάδες και να έχει πλάτος 250 πίξελ και ύψος 90. Μέσα σε αυτό γράψε τη λέξη πίνακα ελέγχου και εφάρμοσέ του το στυλ custom. Custom. Custom. Μπορώ να κάνω πολλά στυλ. Άλλο στυλ για τους τίτλους, άλλο στυλ για τα μενού. Ακόμα ένα κουτάκι από κάτω σε αυτή τη θέση X και Ψι με αυτές τις διαστάσεις. Βάλε μέσα το κείμενο δύναμη, έτσι το ονόμασα και βάλε το plane speed. Το plane speed είναι μια μεταβλητή που χρησιμοποίησα πιο πάνω και παίρνει την ταχύτητα του αεροπλάνου. Οπότε την έχω έτοιμη και ανημερώνεται αυτόματα. Όσο πατάω τον γκάζι και ανεβαίνει το plane speed, αλλάζει και δίπλα από τη λέξη δύναμη η τιμή. Και μετά από κάτω είναι πιο παιχνιδιάρικο, ας το πούμε έτσι. Λέω, το MathF είναι μαθηματική συνάρτηση σημαίνει. Και λέω, πάρε μια μαθηματική συνάρτηση, μετέτρεψε έναν αριθμό round σε int, σε ακέραιο δηλαδή, ο οποίος θα είναι το plane rigid body, το component με το αεροπλάνο, το οποίο το κάνει και η υπακούηση του ζώματος φυσικής. Και πάρε το velocity, το magnitude συγκεκριμένο, είναι η επιτάχυση. Την οποία επιτάχυση τη μετράμε σε mth. Και σε αυτό το μήνυμα που έχω πει, βάλε το still custom. Με ό,τι συνεπάγεται το custom. Το custom είναι ένα όνομα, άμα θες τον ονομάζεις και Γιαννάκη. Δηλαδή μην κολλάτε τη λέξη custom σαν still, να το ξέρετε. Θα φαίνεται κάτι προκαθορισμένο που έχει μέσα η Unity. Αν θέλετε να βάψετε πηχή, να έχετε μια μεγάλη γραμματοσυρά για ένα μενού, χρειάζεται GUI still. Τώρα, εσείς σαν πρώτη επαφή με τη Unity, δεν ξέρω αν κάνας έχει ξαναασχοληθεί με τη Unity. Αυτό που μπορείτε να ξεκινήσετε σε πρώτη φάση, είναι να μετατερράν. Φτιάξτε ένα τερράν, φτιάξτε έναν κόσμο, χωρίς να χρειάζεται να γράψετε κώδικα. Φτιάξτε έναν κόσμο, δοκιμαστείτε εκεί. Μπείτε στο asset store. Δείτε τι δωρεάν υπάρχει, έχει πάρα πολλά δωρεάν. Και η εταιρεία ίδια έχει κάποια δωρεάν πακέτα τα οποία μπορείτε να κατεβάσετε, έχουν μέσα πολύ όμορφα πράγματα. Αροπλάνα, μπάλες, κτίρια, δρόμους, δέντρα, έχει πάρα πολλά πράγματα. Δοκιμάστε να φτιάξετε κόσμους, όσοι δηλαδή έτσι το θεωρείτε ενδιαφέρον και θέλετε να ασχοληθείτε με αυτό. Ο κώδικας θα έρθει από μόνος του σιγά σιγά. Το tutorial μπορείτε να δείτε στο YouTube, έχει άπειρα για αρχάριους και για προχωρημένους. Και πιστεύω ότι αν μπείτε λίγο στο νόημα, έτσι, να το βρείτε ενδιαφέρον και να ασχοληθείτε και να φτιάξετε πράγματα. Ο καθένας, ας πούμε, ότι θεωρεί για αυτό τον ενδιαφέρον. Το σκριπτάκι είναι αυτό. Έχουμε άλλα δύο, τα οποία είναι υπεύθυνα για το πώς η κάμερα ακολουθεί το αεροπλάνο και ένα για τον ήχο. Δεν θα σας τα δείξω όλα γιατί σας έχω κουράσει. Έχει όμως σχολιασμό και documentation τα σκριτάκια. Αν τα δείτε από δίπλα θα καταλαβαίνετε τι κάνει το καθένα στις σημείωσες που θα υπάρχουν συνοδευτικές. Θα είστε πλήρεις δηλαδή και θα καταλάβετε τι έχουμε κάνει μέσα στα σκριπτάκια. Ερωτήσεις, πάω λαπορίες κανείς. Τα fonts που τα έβαλες ή τα συναραπωρούσα. Τα fonts τα έκανα μέσα στο steel. Στο αεροπλάνο. Στο αεροπλάνο, όλα στο αεροπλάνο είναι. Εδώ στο custom, αν το αναπτύξω. Ναι, ναι. Γενικά όλα μπήκαν στο αεροπλάνο σαν components. Η κάμερα θέλει να ακολουθεί το αεροπλάνο. Τα βελάκια και το space θέλω να αλληλεπιδρούν με το αεροπλάνο. Ο ήχος θέλω να ακούγεται στο αεροπλάνο. Άρα όλα αυτά ήταν συμπεριφορές που αφορούσαν το αεροπλάνο. Άρα όλα τα σκριπτάκια τα βάζω στο αεροπλάνο. Πώς τα βάζω, add component script και το ρίχνω μέσα. Όλα τα αρχεία μαζί με τη σκηνή έτοιμη, η οποία να λειτουργεί 100% όλο το πακέτο, θα το αναρτήσουμε στη σελίδα της βιβλιοθήκης και να μπορείτε να το κατεβάσετε και να πειραματιστείτε. Ένα τελευταίο μόνο και σας αφήνω. Αυτό που θα πάρετε εσείς από τη βιβλιοθήκη, θα το αποσημειέσετε σε ένα φάκελο και για να το ανοίξετε θα πάτε file, open project, θα πατήσετε open other και κάπου στην επιφάνεια εργασίας θα είναι αυτός ο φάκελος, ο lesson 1 flight simulator. Θα μπείτε εδώ μέσα, θα πατήσετε επιλογή φακέλου. Αυτό δεν χρειάζεται να το αποθηκεύσουμε τώρα. Θα κάνει ό,τι θα κάνει και θα ανοίξει άδειο. Μην πανικοβληθείτε όμως, γιατί αν ανοίξουμε το main scene εδώ κάτω με ένα διπλό κλικ, ανοίγει το σκριπτάκι έτοιμο. Να το. Ναι, βάλαμε το particle του κανονικού. Το νύχωτο να ακούτε πως... Αυτό είναι το σκριπτάκι, το οποίο το έχω συνδέσει με τι, έκανα κάτι πάρα πολύ απλό. Το έχω συνδέσει με τη δύναμη. Όσο αυξάνει η δύναμη, αυξάνει το pitch του ήχου. Το pitch δεν ξέρω ποια είναι η ελληνική λέξη. Είναι αυτό που ψηλένει τις νότες. Η συχνότητα, ναι. Αυτά η επιστήμη. Όσο αυξάνει η ταχύτητα του αεροπλάνου, αυξάνει και η συχνότητα του ήχου. Όσο μειώνεται, μειώνεται η συχνότητα του ήχου. Αυτή είναι το ρελαντί που λέμε. Το ανεβάζουμε. Ναι, η ήχη που θα σας δώσω να χρησιμοποιήσετε είναι η ήχη από jet. Έψαξα στο ίντερνετ, βρήκα δωρεάν ήχους κλιπάκια. Και θα τους έχετε και εσείς τη διάθεσή σας. Καλή ερώτηση. Στο φάιλ έχει ένα build settings. Εδώ μπορείτε να επιλέξετε όποια πλατφόρμα θέλετε εσείς για να παίξετε το παιχνίδι. Είναι ενσωματωμένος μέσα. Αυτό το κάνουμε τώρα, μπορούμε να το κάνουμε και στο Android. Ναι. Να το, Android. iOS, Blackberry. Στο Android δεν ξέρω να το σιγουρέψω λίγο, αν πρέπει να βάλουμε τον builder. Όχι, δεν χρειάζεται. Γιατί το κάνει πακετάκι έτοιμο. Development build. Για να πάει στο... Αν θες να το ανοίξεις με το Eclipse μετά και να κάνεις και εκεί πέρα πράγματα. Είναι αυτά για ποιο... Εσείς μπορείτε να κάνετε ένα απλό build σε όποια συσκευή θέλετε. Build και τέλος. Αυτά που παίζουν στο Internet, βλέπετε στο ConcreteGate και στο Miniclip και στα σχετικά site, είναι Web Player. Σας ετοιμάζει μια σελίδα HTML, με ένα frame μέσα με αυτό και παίζει το παιχνίδι. Ναι, αλλά θα κάνεις ένα παιχνίδι, αν το κάνεις υπολογιστή και θες να το δες άνθρωπος να το παίξεις, όπως που παίρνεις έναν πρώτο παιχνίδι και πρέπει να το κάνεις κατάστασης. Όχι. Γιατί? Δεν έχει κατευθείαν τα αρχεία. Όχι, είναι έτοιμο αυτό. Το build αυτό σημαίνει. Σου δημιουργεί ένα αρχείο εδώ πέρα, ένα APK, αν μιλάμε για Android, και το παίρνει ο άλλος το APK και το κάνει εγκατάσταση στη συσκευή του. Όπως είναι το Exe, που το κάνουμε setup. Για Android λέγονται APK. Στο Web Player αρκεί να το ανεβάσουμε σε έναν server το αρχείο αυτό και θα μπαίνει ο άλλος 3w. Και θα παίζει απευθείας, ούτε να κάνει εγκατάσταση, ούτε να κάνει ρυθμίσεις. Τίποτα, κατευθείαν θα παίζει. Ή αν θέλετε να το δώσετε μεστικάκι από έναν υπολογιστή σε έναν άλλον, επιλέγετε αυτό που λέει stand alone. Πού το... Του λέει κανένας. Α, εδώ. Linux stand alone. PC, Mac και Linux stand alone. Exe. Έρχεται έτσι. Κι Android σε Windows πάνω σε... Ναι. Κατευθείαν στο Windows Store κλπ. Και οι περιορισμοί που θα συναντήσετε από τη free έκδοση με την πληρωμένη είναι εδώ. Δηλαδή κάποιες δετουργίες δεν τις έχει η free έκδοση. Ναι, όπως για παράδειγμα στα Android. Δεν μπορείς να κλειτώσεις το watermax της Unity όταν έχεις το free. Α, εντάξει. Αυτά. Ελπίζω να σας άρεσε. Μια ερώτηση από τον κύριο. Ναι. Η επιτάχυση μήπως. Α, συγγνώμη. Ναι, ναι. Έτσι. Έτσι. File, save project. Ή μπορώ να σας στείλω εγώ να πάρτε το έτοιμο το project και να δουλέψετε πάνω σε εκείνο. |