Διαφήμιση

Ένα εκπληκτικό χαρακτηριστικό της οικονομίας του Διαδικτύου είναι η άνοδος των indie βιντεοπαιχνιδιών. Από τη στιγμή που ο αποκλειστικός τομέας των στούντιο τριπλού-Α χιλιάδων ατόμων, πολλών εκατομμυρίων δολαρίων, έχει αναπτυχθεί μια σειρά εργαλείων που μεταφέρετε σύγχρονα μέσα ανάπτυξης παιχνιδιών στα χέρια ατόμων ή μικρών, ad-hoc συλλογών προγραμματιστών και σχεδιαστών. Συζητήσαμε προηγουμένως το καλύτερα παιχνίδια indie 10 Indie Games τόσο καλά, θα ξεχάσετε ότι είναι Indie καθόλουΩστόσο, μπορεί να υπάρχουν στιγμές όπου θέλετε κάτι διαφορετικό από το indie norm. Ένα παιχνίδι που ακολουθεί indie τιμές, αλλά έχει κατασκευαστεί με την ποιότητα για την οποία είναι γνωστά τα κορυφαία παιχνίδια AAA. Τίτλοι όπως ... Διαβάστε περισσότερα , οπότε σιγουρευτείτε ότι τα ελέγχετε για κάποια έμπνευση για το τι μπορεί να επιτευχθεί με εργαλεία όπως το Unity.

Αυτός ο οδηγός είναι διαθέσιμος για λήψη ως δωρεάν PDF. Κατεβάστε τώρα τον προγραμματισμό ενός παιχνιδιού με ενότητα: Ένας οδηγός για αρχάριους
instagram viewer
. Μη διστάσετε να το αντιγράψετε και να το μοιραστείτε με τους φίλους και την οικογένειά σας.

Αυτές οι ομάδες ανάπτυξης παιχνιδιών indie έχουν επιδείξει ευελιξία και ανοχή κινδύνου που, σε πολλές περιπτώσεις, τους επιτρέπει να προωθήσουν την καινοτομία στο παιχνίδι πιο γρήγορα από τους μεγάλους ομολόγους τους. Ορισμένοι επιτυχημένοι τίτλοι indie έχουν κάνει πρεμιέρα τα τελευταία χρόνια, συμπεριλαμβανομένων Minecraft, Τόπος λησμονημένων ανθρώπων, και Σούπερ κρέας αγόρικαι ακόμη και αν δεν χρειάζεται να κάνετε δεξιότητες για παιχνίδια, μπορείτε δημιουργήστε ένα παιχνίδι χρησιμοποιώντας το Buildbox Πώς να δημιουργήσετε ένα βιντεοπαιχνίδι σε μια εβδομάδα χρησιμοποιώντας το BuildboxΥπάρχει ένα πρόγραμμα που κάνει την ανάπτυξη παιχνιδιών απίστευτα εύκολη ακόμη και για όσους δεν έχουν καμία εμπειρία στο σχεδιασμό βιντεοπαιχνιδιών. Ονομάζεται Buildbox. Εδώ πρέπει να το δοκιμάσετε. Διαβάστε περισσότερα .

Στο ταχέως εξελισσόμενο τοπίο ανάπτυξης indie παιχνιδιών, Ενότητα έχει αναδειχθεί ως ένα de-facto πρότυπο: το χαμηλό κόστος, η ευκολία στη χρήση και το ευρύ σύνολο λειτουργιών το καθιστούν ιδανικό για ταχεία ανάπτυξη παιχνιδιών. Η ενότητα είναι τόσο ευέλικτη, που μπορείτε ακόμη και δημιουργήστε τους δικούς σας προσαρμοσμένους ελεγκτές παιχνιδιών Πώς να φτιάξετε έναν προσαρμοσμένο ελεγκτή παιχνιδιών με το Arduino και το UnityΘέλατε ποτέ να σχεδιάσετε τον δικό σας ελεγκτή παιχνιδιών; Είναι πιο εύκολο από ό, τι νομίζετε! Διαβάστε περισσότερα με λίγο DIY ξέρει πώς!

Ακόμα και μεγάλα στούντιο όπως το CCP (Developers of Εύα σε απευθείας σύνδεση) Χρησιμοποιήστε το για γρήγορες πρωτότυπες έννοιες παιχνιδιών. Το Unity παρέχει μια "μηχανή παιχνιδιών σε ένα κουτί" - μια μηχανή φυσικής και απόδοσης με άγκιστρα για πολλές γλώσσες δέσμης ενεργειών, προσαρμόσιμη σε σχεδόν οποιοδήποτε είδος βιντεοπαιχνιδιού.

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

Η ενότητα δεν θα κάνει τη δουλειά για εσάς, αλλά μειώνει σημαντικά το εμπόδιο στην είσοδο. Ξεκινώντας εντελώς από το μηδέν με C ++ και OpenGL, μπορεί να χρειαστούν μέρες για να φτάσουμε στο σημείο όπου υπάρχει πραγματικά κάτι που αποδίδεται στην οθόνη. Χρησιμοποιώντας το Unity, χρειάζονται περίπου δέκα δευτερόλεπτα. Το Unity θέτει τα βασικά στοιχεία της δημιουργίας παιχνιδιών στα χέρια των αρχάριων προγραμματιστών με γρήγορο, διαισθητικό τρόπο.

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

§1 – Εκδόσεις Ενότητας

§2 - Εγκατάσταση Unity

§3 – Μια σύντομη εισαγωγή στο αντικειμενοστρεφές παράδειγμα

§4 – Βασικά στοιχεία ενότητας

§5 – Παράδειγμα: Βασικά στοιχεία ενός παιχνιδιού

§6 – Σενάριο στο Unity

§7 – Παράδειγμα: Σενάριο Pong

§8 - Εξερεύνηση της Τεκμηρίωσης / Μάθετε περισσότερα

§9 - Δημιουργία του παιχνιδιού σας / Συγκέντρωση σε αυτόνομη εφαρμογή

§10-Σημειώσεις κλεισίματος

1. Εκδόσεις της Ενότητας

Το Unity διατίθεται σε δύο βασικές γεύσεις: την επαγγελματική έκδοση και τη δωρεάν έκδοση. Υπάρχουν αριθμός διαφορών, αλλά, σε γενικές γραμμές, η επαγγελματική έκδοση υποστηρίζει μια σειρά οπτικών βελτιώσεων (όπως σε πραγματικό χρόνο απαλές σκιές και μετά την επεξεργασία), και ένα μεγάλο αριθμό σχετικά μικρών χαρακτηριστικών που είναι εξαιρετικά χρήσιμα για πιο περίπλοκα Παιχνίδια.

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

1.1 Τιμολόγηση

Η δωρεάν έκδοση του Unity είναι, φυσικά, δωρεάν. Ωστόσο, υπάρχουν μερικοί περιορισμοί: η δωρεάν έκδοση του Unity δεν μπορεί να παραχωρηθεί σε οποιαδήποτε εταιρεία με ετήσιο εισόδημα μεγαλύτερο από $100,000. Παρόλο που τέτοιοι οργανισμοί δεν εμπίπτουν στο πεδίο εφαρμογής αυτού του οδηγού, εάν υποψιάζεστε ότι μπορεί να γίνετε ένας τέτοιος οργανισμός, είναι πιθανό σοφό να ξεκινήσετε την έκδοση Pro.

Η Pro έκδοση του Unity είναι $75 ένα μήνα, ή $1500 για μόνιμη άδεια, και δεν έχει όρια στο τι μπορείτε να κάνετε με τα παιχνίδια που δημιουργήθηκαν με αυτήν. Υπάρχει επίσης μια δωρεάν δοκιμαστική περίοδο 30 ημερών, την οποία θα χρησιμοποιήσουμε για αυτόν τον οδηγό, προκειμένου να σας παρέχουμε όσο το δυνατόν πληρέστερη επισκόπηση των διαθέσιμων δυνατοτήτων. Μια φοιτητική άδεια ενός έτους είναι επίσης διαθέσιμη μέσω Στούντιο Για $129.

1.2 Χαρακτηριστικά

Υπάρχουν πολλές δυνατότητες που λείπουν στη δωρεάν έκδοση του Unity. Ωστόσο, οι πιο σημαντικές διαφορές είναι οι εξής: η δωρεάν έκδοση του Unity δεν διαθέτει πολλές επιλογές απόδοσης που το επιτρέπουν παιχνίδια με καλύτερη εμφάνιση, ταχύτερη εκτέλεση (υποστήριξη LOD, μετα-επεξεργασία διαστήματος οθόνης, προηγμένες σκιάσεις, μαλακές σκιές σε πραγματικό χρόνο και αναβολή απόδοση). Δεν έχει επίσης το πλήρες μηχανικό σύστημα κίνησηςκαι ορισμένα εργαλεία AI.

Σε γενικές γραμμές, για πολύπλοκα έργα μεγάλης κλίμακας ή έργα όπου η γραφική απόδοση είναι σημαντική, η επαγγελματική έκδοση αξίζει τον κόπο. Χρησιμοποιώ την επαγγελματική έκδοση, επειδή αναπτύσσω παιχνίδια εικονικής πραγματικότητας για το Oculus Rift Αναθεώρηση Oculus RiftΗ Εικονική Πραγματικότητα δεν είναι καινούργια, αλλά τελικά είναι προσιτή και μπορεί να γίνει κατανοητή. Μετά από τέσσερα και δύο πρωτότυπα ανάπτυξης, έφτασε η τελική έκδοση του Oculus Rift για τους καταναλωτές. Διαβάστε περισσότερα και η υποστήριξη μετά την επεξεργασία του χώρου-οθόνης είναι απαραίτητη για την σωστή αλληλεπίδραση με το ακουστικό.

2. Εγκατάσταση του Unity

Η ενότητα είναι απλή στην εγκατάσταση. Μπορείτε να κατεβάσετε το εκτελέσιμο από το united3d.com/get-unity/download.

Μετά τη λήψη, εκτελέστε το και, στη συνέχεια, ακολουθήστε τις οδηγίες του προγράμματος εγκατάστασης. Όταν ολοκληρωθεί η εγκατάσταση, θα εμφανιστεί ένα παράθυρο με τίτλο «Ενεργοποίηση της άδειας Unity». Επιλέξτε το πλαίσιο "Ενεργοποίηση δωρεάν δοκιμής 30 ημερών του Unity Pro" και, στη συνέχεια, "OK".

Συγχαρητήρια! Έχετε τώρα μια δοκιμή 30 ημερών του Unity Pro. Όταν λήξει η δοκιμή, εάν δεν θέλετε να αγοράσετε την επαγγελματική έκδοση, μπορείτε να μεταβείτε στη δωρεάν έκδοση και να διατηρήσετε το υπάρχον περιεχόμενό σας.

3. Σύντομη Εισαγωγή στο Αντικειμενοστρεφό Παράδειγμα

Προτού ξεκινήσετε με το Unity, είναι σημαντικό να αναλύσουμε λίγο τα βασικά. Η ενότητα υποστηρίζει και τα δύο ΝΤΟ# και JavaScript Για προγραμματισμός παιχνιδιών 7 γλώσσες ανάπτυξης παιχνιδιών Unity για μάθηση: Ποια είναι η καλύτερη;Θέλετε να ξεκινήσετε την ανάπτυξη παιχνιδιών στο Unity; Θα χρειαστείτε εξοικείωση με μία από αυτές τις γλώσσες συμβατές με το Unity. Διαβάστε περισσότερα ; θα συνεργαστούμε με το C # για αυτό το σεμινάριο.

Πρώτα απ 'όλα, εάν δεν έχετε προγραμματίσει ποτέ πριν, αφήστε αυτό το σεμινάριο στην άκρη και αφιερώστε μερικές ημέρες δουλεύοντας μέσω της Microsoft Γ # Γλώσσα Primer μέχρι να νιώσετε άνετα να χρησιμοποιείτε τη γλώσσα για απλές εργασίες.

Εάν θέλετε κάτι διαφορετικό από το C # (αλλά όχι απαραίτητα μια γλώσσα που μπορείτε να χρησιμοποιήσετε στο Unity), ρίξτε μια ματιά στον οδηγό μας για το έξι ευκολότερες γλώσσες προγραμματισμού για αρχάριους 6 ευκολότερες γλώσσες προγραμματισμού για μάθηση για αρχάριουςΗ εκμάθηση του προγράμματος είναι η εύρεση της σωστής γλώσσας όπως και η διαδικασία επιμόρφωσης. Εδώ είναι οι κορυφαίες έξι ευκολότερες γλώσσες προγραμματισμού για αρχάριους. Διαβάστε περισσότερα .

Εάν έχετε προγραμματίσει στο παρελθόν σε μια επιτακτική ή αντικειμενική γλώσσα, όπως C ή Java, αποφύγετε το αστάρι και εξοικειωθείτε με το πώς το C # διαφέρει από άλλες γλώσσες που έχετε χρησιμοποιήσει στο παρελθόν. Είτε έτσι είτε αλλιώς, μην συνεχίσετε με το σεμινάριο έως ότου νιώσετε άνετα να επιλύσετε απλά προβλήματα με το C # (για παράδειγμα, αν ήθελα να ρωτήσω για να γράψετε ένα πρόγραμμα που εκτυπώνει τους πρώτους εκατοντάδες πρώτους αριθμούς, θα πρέπει να μπορείτε να γράψετε αυτό το πρόγραμμα χωρίς να συμβουλευτείτε Google).

Η πιο σημαντική έννοια που πρέπει να καταλάβουμε εδώ είναι η αντικειμενοστρεφές παράδειγμα Από πού προήλθε το όνομα "Προσανατολισμένος" προγραμματισμός;Το Object Oriented δεν είναι απλώς μια τυχαία λέξη-κλειδί που ακούτε στους κύκλους προγραμματισμού. Υπάρχει ένας λόγος πίσω από το όνομα - αλλά τι; Ελάτε μαζί μου καθώς εξερευνούμαι μερικές από τις βασικές αρχές των εννοιών προγραμματισμού και εξηγώ ... Διαβάστε περισσότερα (συντομογραφείται ως ΩΟ). Σε αντικειμενοστραφείς γλώσσες, τα προγράμματα χωρίζονται σε λειτουργικές ενότητες που ονομάζονται Αντικείμενα. Κάθε αντικείμενο έχει τις δικές του ιδιωτικές μεταβλητές και συναρτήσεις. Οι αντικειμενικές συναρτήσεις ονομάζονται μεθόδους.

Η ιδέα εδώ είναι η αρθρωτότητα: με το να απομονωθεί κάθε αντικείμενο και να αναγκάσει άλλα αντικείμενα να αλληλεπιδράσουν με αυτό μέσω των μεθόδων του, μπορείτε να μειώσετε τον αριθμό πιθανών ακούσιων αλληλεπιδράσεων - και, κατ 'επέκταση, σφάλματα. Μπορείτε επίσης να δημιουργήσετε αντικείμενα που μπορείτε να χρησιμοποιήσετε ξανά αργότερα χωρίς τροποποίηση. Στο Unity, θα δημιουργήσετε αυτά τα αντικείμενα και θα τα συνδέσετε οντότητες παιχνιδιών (ποια συμπεριφορά θα κυβερνούν).

Τα αντικείμενα δημιουργούνται από τάξεις: μια κλάση είναι απλώς ένα αρχείο που παραθέτει τον ορισμό του αντικειμένου σας. Έτσι, εάν θέλετε ένα Μακ αντικείμενο που χειρίζεται το AI για έναν εχθρό στο παιχνίδι σας, θα γράφατε μια τάξη «Mook» και, στη συνέχεια, θα επισυνάψετε αυτό το αρχείο σε κάθε οντότητα του εχθρού. Όταν εκτελείτε το παιχνίδι σας, κάθε εχθρός θα διαθέτει ένα αντίγραφο του αντικειμένου «Mook».

Η προσάρτηση ενός νέου σεναρίου σε ένα αντικείμενο μοιάζει με αυτό:

Προγραμματισμός ενός παιχνιδιού με ενότητα: Ένα παιχνίδι προγράμματος ενότητας για αρχάριους οδηγούς 1

Πρώτα, επιλέξτε το αντικείμενο και πηγαίνετε στο Επιθεωρητής. Κάνε κλικ στο Προσθήκη στοιχείου κουμπί.

Προγραμματισμός ενός παιχνιδιού με ενότητα: Ένα παιχνίδι προγράμματος ενότητας για αρχάριους οδηγούς 2

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

Προγραμματισμός ενός παιχνιδιού με ενότητα: Ένα παιχνίδι προγράμματος ενότητας για αρχάριους οδηγούς 3

Τώρα έχετε ένα νέο σενάριο που μπορείτε να επεξεργαστείτε κάνοντας διπλό κλικ πάνω του!

Ένα αρχείο τάξης μοιάζει με αυτό:

χρησιμοποιώντας το UnityEngine; δημόσια τάξη Mook: MonoBehaviour {private float health; άκυρο Έναρξη () {health = 100; } άκυρη Ενημέρωση () {if (υγεία> 0) {/ * Αναζητήστε παίκτη εάν συναντήσετε τον παίκτη στο δρόμο, σκοτώστε τον εάν πυροβολήσετε, καταργήστε ένα τυχαίο ποσό υγείας * /}} }

Ας το αναλύσουμε:

  • Χρήση του UnityEngine: Αυτή η γραμμή λέει στο C # ότι θέλουμε να χρησιμοποιήσουμε τις βιβλιοθήκες του Unity, οι οποίες μας επιτρέπουν να συνδεθούμε με τη μηχανή παιχνιδιών Unity.
  • Δημόσια τάξη Mook: MonoBehaviour:Αυτή η γραμμή δηλώνει την τάξη και το όνομά της - Μακ.
  • Ιδιωτική υγεία πλωτήρα: Αυτό δηλώνει μια μεταβλητή ιδιωτικής κλάσης (η οποία μπορεί να αλλάξει μόνο από μέσα στην τάξη). Η μεταβλητή έχει μια τιμή σε Αρχή.
  • Άκυρη εκκίνηση (): Αυτό δηλώνει μια μέθοδο που ονομάζεται Αρχή. Το Start είναι μια ειδική μέθοδος που τρέχει μόνο μία φορά, όταν ξεκινά το παιχνίδι.
  • Άκυρη ενημέρωση (): Η ενημέρωση είναι μια άλλη ειδική μέθοδος, η οποία εκτελείται σε κάθε καρέ. Το μεγαλύτερο μέρος της λογικής του παιχνιδιού σας θα πάει εδώ.
  • // αν συναντήσετε τον παίκτη στο δρόμο, σκοτώστε τον: Αυτή η γραμμή είναι ένα σχόλιο (οποιαδήποτε γραμμή που αρχίζει με διπλή κάθετο αγνοείται από το C #). Τα σχόλια χρησιμοποιούνται για να θυμάστε τι συγκεκριμένα κομμάτια κώδικα κάνουν. Σε αυτήν την περίπτωση, αυτό το σχόλιο χρησιμοποιείται για τη δημιουργία ενός πιο περίπλοκου μπλοκ κώδικα που κάνει ό, τι περιγράφει το σχόλιο.

Μαζί με Αρχή και Εκσυγχρονίζω, μπορείτε να δημιουργήσετε τις δικές σας μεθόδους με σχεδόν οποιοδήποτε όνομα. Ωστόσο, οι μέθοδοι που δημιουργείτε δεν θα εκτελεστούν, εκτός εάν κληθούν. Ας δηλώσουμε μια μέθοδο για μια υποθετική τάξη που ονομάζεται addTwoNumbers που προσθέτει δύο αριθμούς μαζί:

public float addTwoNumbers (float a, float b) {επιστροφή a + b; }

Αυτό δηλώνει μια δημόσια (προσιτή σε άλλα αντικείμενα) μέθοδο που επιστρέφει ένα float, που ονομάζεται addTwoNumbers, το οποίο παίρνει δύο πλωτήρες ως είσοδο (ονομάζεται ένα και σι). Στη συνέχεια επιστρέφει το άθροισμα των δύο τιμών ως έξοδο του.

Κλήση αυτής της μεθόδου από την ίδια τάξη (ας πούμε, από μέσα Εκσυγχρονίζω) μοιάζει με αυτό:

αποτέλεσμα float = addTwoNumbers (1, 2);

Η κλήση της μεθόδου από άλλη τάξη είναι παρόμοια:

παρουσία addTwoNumbers; αποτέλεσμα float = instance.addTwoNumbers (1, 2);

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

Εάν το σενάριό σας είναι προσαρτημένο σε ένα αντικείμενο που έχει ειδικές ιδιότητες (όπως ένας εκπομπός σωματιδίων) στο οποίο δεν είναι δυνατή η πρόσβαση Κάτω από το κανονικό σύνολο παραμέτρων GameObject, μπορείτε να το χειριστείτε ως διαφορετικό είδος οντότητας παιχνιδιού χρησιμοποιώντας ο GetComponent μέθοδος.

Η σύνταξη για αυτό μοιάζει με αυτό:

GetComponent().Παίζω();

Εάν κάτι από αυτά δεν σας είναι γνωστό, επιστρέψτε και περάστε από το αστάρι C #. Θα σας εξοικονομήσει μεγάλη απογοήτευση καθώς προχωράμε.

4. Βασικά στοιχεία ενότητας

Σε αυτήν την ενότητα, θα δουλέψουμε με τον βασικό μηχανισμό του κινητήρα Unity. Η ροή εργασίας στο Unity πηγαίνει κάπως έτσι:

  1. Δημιουργήστε μια οντότητα για να παίξετε έναν ρόλο στο παιχνίδι (κενό GameObjects μπορεί να χρησιμοποιηθεί για αφηρημένες λογικές εργασίες).
  2. Γράψτε ή βρείτε ένα αρχείο τάξης και προσθέστε το στην οντότητα ως σενάριο (χρησιμοποιώντας το Προσθήκη στοιχείου κουμπί στο επιθεωρητής θέα.
  3. Τρέξιμο > δοκιμή > εντοπισμός σφαλμάτων > επαναλαμβάνω μέχρι να λειτουργήσει και να προχωρήσει στο επόμενο στοιχείο του παιχνιδιού.

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

  1. Παιχνίδι: εμφανίζει μια τρέχουσα παρουσία του παιχνιδιού με την οποία μπορείτε να αλληλεπιδράσετε και να δοκιμάσετε.
  2. Σκηνή: παρέχει μια στατική, επεξεργάσιμη έκδοση του κόσμο του παιχνιδιού.
  3. Επιθεωρητής: σας επιτρέπει να τροποποιήσετε μεμονωμένες οντότητες στον κόσμο του παιχνιδιού επιλέγοντας τις στο συντάκτης αυτί.
  4. Εργο: σας επιτρέπει να περιηγηθείτε στα αρχεία του έργου και να σύρετε μοντέλα, υλικά και άλλους πόρους στο συντάκτης καρτέλα για να τα τοποθετήσετε στον κόσμο του παιχνιδιού.
  5. Ιεραρχία: Αυτή η καρτέλα εμφανίζει όλα τα αντικείμενα στον κόσμο, επιτρέποντάς σας να βρείτε μακρινά αντικείμενα στη σκηνή, καθώς και γονικές οντότητες η μία στην άλλη κάνοντας κλικ και σύροντας.

Δείτε το παρακάτω διάγραμμα για τις τοποθεσίες όλων αυτών των πραγμάτων:

Προγραμματισμός ενός παιχνιδιού με ενότητα: Ένα παιχνίδι προγράμματος ενότητας για αρχάριους οδηγούς 0

4.1 Ενότητες οντοτήτων

4.1.1 Πλέγματα

Τα πλέγματα είναι ο τρόπος 3D γεωμετρία εκπροσωπείται στην ενότητα. Μπορείτε είτε να χρησιμοποιήσετε το ενσωματωμένο Unity πρωτόγονος αντικείμενα (κύβοι, σφαίρες, κύλινδροι κ.λπ.) ή εισαγάγετε τα δικά σας μοντέλα 3D από ένα πακέτο μοντελοποίησης όπως Μίξερ Ξεκινώντας με το Blender: 7 Φανταστικά μαθήματα για αρχάριουςΗ μοντελοποίηση 3D είναι ένας εξαιρετικός τρόπος άσκησης της δημιουργικότητας, διατηρώντας παράλληλα επαφή με την τεχνική πλευρά σας. Εδώ είναι μερικά φοβερά δωρεάν μαθήματα. Διαβάστε περισσότερα ή Μάγια Learning Maya 2016: Πού να ξεκινήσετεΤο Maya είναι ένα εργαλείο που χρησιμοποιείται για 3D animation, αλλά συνοδεύεται από μια εξαιρετικά απότομη καμπύλη μάθησης. Τι καλό διδακτικό υλικό υπάρχει; Διαβάστε περισσότερα . Το Unity υποστηρίζει μια ποικιλία μορφών 3D, συμπεριλαμβανομένων των .fbx, και .3δ.

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

4.1.2 Στοιχεία GUI

Τα παραδοσιακά sprite GUI και το κείμενο μπορούν να εμφανιστούν χρησιμοποιώντας το Κείμενο GUI και το Υφή GUI GameObjects στο πρόγραμμα επεξεργασίας. Ωστόσο, ένας πιο στιβαρός και ρεαλιστικός τρόπος χειρισμού στοιχείων διεπαφής χρήστη είναι η χρήση του 3D κείμενο και Τετράδυμο GameObjects (με διαφανείς υφές και διαφανή shader) για να τοποθετήσετε τα στοιχεία HUD στον κόσμο του παιχνιδιού ως οντότητες.

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

Τα στοιχεία GUI (κείμενο και υφές) μπορούν να προσαρμόσουν το μέγεθος και την κλίμακα τους χρησιμοποιώντας τα σχετικά πεδία στην καρτέλα επιθεωρητή.

4.1.3 Υλικά

Τα υλικά είναι συνδυασμοί υφής και shaders Εξηγήθηκαν πέντε σημαντικοί όροι παιχνιδιών PCΕάν παίζετε ένα παιχνίδι σε μια κονσόλα, οι τεχνικές λεπτομέρειες διαχειρίζονται για εσάς. Μερικοί παίκτες προτιμούν αυτό, αλλά οι παίκτες PC απολαμβάνουν συχνά τον μεγαλύτερο βαθμό ελέγχου που έχουν πάνω από το παιχνίδι ... Διαβάστε περισσότερα και μπορεί να μεταφερθεί απευθείας σε αντικείμενα παιχνιδιού από την καρτέλα έργου. Ένας μεγάλος αριθμός shaders έρχεται με το Unity Pro και μπορείτε να προσαρμόσετε την υφή που τους συνδέεται χρησιμοποιώντας την καρτέλα επιθεωρητή για ένα αντικείμενο στο οποίο εφαρμόζονται.

Για να εισαγάγετε μια υφή, μετατρέψτε την σε α .jpg, .png, ή .bmpκαι σύρετέ το στο περιουσιακά στοιχεία φάκελο στον κατάλογο έργου Unity (ο οποίος εμφανίζεται στο Τα αρχεία μου από προεπιλογή). Μετά από λίγα δευτερόλεπτα, θα εμφανιστεί μια γραμμή φόρτωσης στο πρόγραμμα επεξεργασίας. Όταν τελειώσει, θα μπορείτε να βρείτε την εικόνα ως υφή κάτω από το έργο αυτί.

4.1.5 Φώτα

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

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

Οι οδηγίες στο προβολή σκηνής σας δείξει το μέγιστο εύρος του φωτισμού. Παίξτε και με τις δύο ρυθμίσεις για να επιτύχετε το επιθυμητό αποτέλεσμα. Μπορείτε επίσης να ρυθμίσετε το χρώμα του φωτός, το μοτίβο (κουλουράκι εμφανίζεται στην επιφάνεια το φως δείχνει και τι είδους φωτοβολίδα εμφανίζεται στην οθόνη όταν κοιτάζει απευθείας στο φως. Το cookie μπορεί να χρησιμοποιηθεί για να πλαστογραφήσει πιο ρεαλιστικά μοτίβα φωτός, να δημιουργήσει δραματικές ψευδείς σκιές και να προσομοιώσει προβολείς.

Τα τρία κύρια είδη φωτός είναι σημείο, σημείο, και κατευθυντήριος.

Spot lights να έχετε θέση σε τρισδιάστατο χώρο και να προβάλλετε φως μόνο σε μία κατεύθυνση σε κώνο μεταβλητής γωνίας. Αυτά είναι καλά για φακούς, προβολείς αναζήτησης και, γενικά, σας δίνουν πιο ακριβή έλεγχο του φωτισμού. Τα σποτ φώτα μπορούν να ρίξουν σκιές.

Σημεία φώτα να έχετε μια θέση σε 3D χώρο και να μεταδίδετε ομοιόμορφα το φως προς όλες τις κατευθύνσεις. Τα σημειακά φώτα δεν ρίχνουν σκιές.

Κατευθυντικά φώτα, τέλος, χρησιμοποιούνται για την προσομοίωση του ηλιακού φωτός: προβάλλουν το φως σε μια κατεύθυνση σαν από απείρως μακριά. Τα κατευθυντικά φώτα επηρεάζουν κάθε αντικείμενο της σκηνής και μπορούν να παράγουν σκιές.

4.1.6 Συστήματα σωματιδίων

ΕΝΑ Σύστημα σωματιδίων είναι ένα GameObject που παράγει και ελέγχει εκατοντάδες ή χιλιάδες σωματίδια ταυτόχρονα. Τα σωματίδια είναι μικρά, βελτιστοποιημένα 2D αντικείμενα που εμφανίζονται σε 3D χώρο. Τα συστήματα σωματιδίων χρησιμοποιούν απλοποιημένη απόδοση και φυσική, αλλά μπορούν να εμφανίσουν χιλιάδες οντότητες σε πραγματικό χρόνο χωρίς να τραυλιστούν, καθιστώντας τις ιδανικές για καπνό, φωτιά, βροχή, σπινθήρες, μαγικά εφέ και άλλα.

Υπάρχουν πολλές παράμετροι που μπορείτε να τροποποιήσετε για να επιτύχετε αυτά τα εφέ και μπορείτε να αποκτήσετε πρόσβαση σε αυτές δημιουργώντας ένα σύστημα σωματιδίων κάτω από το συντάκτης στοιχείων > επιλέγοντας το σύστημα σωματιδίων > άνοιγμα της καρτέλας επιθεωρητή. Μπορείτε να αλλάξετε το μέγεθος, την ταχύτητα, την κατεύθυνση, την περιστροφή, το χρώμα και την υφή κάθε σωματιδίου και να ρυθμίσετε τις περισσότερες από αυτές τις παραμέτρους να αλλάζουν με την πάροδο του χρόνου.

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

5. Παράδειγμα: Βασικά στοιχεία ενός παιχνιδιού

Για αυτό το σεμινάριο, θα κάνουμε ένα απλό παιχνίδι Πονγκ - κάτι που έχουμε καλύψει αρκετές φορές στο DIY πριν:

  • Arduino Classic Pong Πώς να δημιουργήσετε ξανά το παιχνίδι Classic Pong χρησιμοποιώντας το ArduinoΟ Πονγκ ήταν το πρώτο βιντεοπαιχνίδι που έφτασε στη μαζική αγορά. Για πρώτη φορά στην ιστορία, η ιδέα ενός "βιντεοπαιχνιδιού" εισήχθη στο οικογενειακό σπίτι, χάρη στο Atari 2600 -... Διαβάστε περισσότερα
  • Arduino OLED Πονγκ Arduino Retro Gaming με οθόνη OLEDΑναρωτηθήκατε ποτέ πόση δουλειά χρειάζεται για να γράψετε τα δικά σας ρετρό παιχνίδια; Πόσο εύκολο είναι ο Πονγκ να κωδικοποιήσει το Arduino; Διαβάστε περισσότερα

Σε αυτήν την ενότητα, θα εξετάσουμε τα βασικά στοιχεία - το σεμινάριο σεναρίων θα έρθει αργότερα.

Πρώτον, ας αναλύσουμε το παιχνίδι του Πονγκ στα βασικά του στοιχεία. Πρώτον, χρειαζόμαστε δύο κουπιά και μια μπάλα. Η μπάλα πετάει εκτός οθόνης, επομένως θα θέλαμε έναν μηχανισμό για την επαναφορά της. Θέλουμε επίσης κείμενο να εμφανίζει την τρέχουσα βαθμολογία και, για να σας δείξουμε όλα τα βασικά στοιχεία της Unity, θα θέλαμε ένα φανταχτερό εφέ σωματιδίων όταν χτυπήσετε τη μπάλα. Όλο το παιχνίδι θα πρέπει να φωτιστεί δραματικά.

Αυτό χωρίζεται σε α αντικείμενο μπάλας (μια σφαίρα), α ψάρι, δύο στηρίγματα κουπιών με εκπομπούς σωματιδίων συνημμένο, α 3D-κείμενο οντότητα, και ένα σποτ φως. Για αυτό το σεμινάριο, θα χρησιμοποιούμε το προεπιλεγμένο φυσικό υλικό πήδημα, με συνδυασμός αναπήδησης οριστεί σε πολλαπλασιάζω. Δείτε πώς φαίνεται η ρύθμιση, σε δέκα στιγμιότυπα οθόνης:

Προγραμματισμός ενός παιχνιδιού με ενότητα: Ένα παιχνίδι προγράμματος ενότητας για αρχάριους οδηγούς 4
Προγραμματισμός ενός παιχνιδιού με ενότητα: Ένα παιχνίδι προγράμματος ενότητας για αρχάριους οδηγούς 5

Πρώτα, δημιουργήστε ένα στήριγμα κύβου για το κουπί.

Προγραμματισμός ενός παιχνιδιού με ενότητα: Ένα παιχνίδι προγράμματος ενότητας για αρχάριους οδηγούς 6

Κλίμακα κατάλληλα, αντιγράψτε τοκαι βάλτε ένα σφαίρα ανάμεσα στα κουπιά για την μπάλα.

Προγραμματισμός ενός παιχνιδιού με ενότητα: Ένα παιχνίδι ενότητας προγράμματος για αρχάριους οδηγούς 7

Στη συνέχεια, δημιουργήστε ένα Αντικείμενο 3DText και κλίμακα και θέση σωστά, αλλάζοντας το μέγεθος γραμματοσειράς χαρακτηριστικό για λήψη εικόνας με μικρότερο pixel.

Προγραμματισμός ενός παιχνιδιού με ενότητα: Ένα παιχνίδι ενότητας προγράμματος για αρχάριους οδηγούς 8

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

Προγραμματισμός ενός παιχνιδιού με ενότητα: Ένα παιχνίδι προγράμματος ενότητας για αρχάριους οδηγούς 9
Προγραμματισμός ενός παιχνιδιού με ενότητα: Ένα παιχνίδι ενότητας προγράμματος για αρχάριους οδηγούς 10

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

Προγραμματισμός ενός παιχνιδιού με ενότητα: Ένα παιχνίδι προγράμματος ενότητας για αρχάριους οδηγούς 11

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

Προγραμματισμός ενός παιχνιδιού με ενότητα: Ένα παιχνίδι προγράμματος ενότητα για αρχάριους οδηγούς 13
Προγραμματισμός ενός παιχνιδιού με ενότητα: Ένα παιχνίδι προγράμματος ενότητα για αρχάριους οδηγούς 14

Εάν παίζετε το παιχνίδι, μπορείτε τώρα να δείτε τα βασικά στοιχεία του παιχνιδιού μας. Δεν θα κάνουν τίποτα ακόμη, αλλά θα φτάσουμε σε αυτό!

Προγραμματισμός ενός παιχνιδιού με ενότητα: Ένα παιχνίδι προγράμματος ενότητας για αρχάριους οδηγούς 12

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

6. Σενάριο στο Unity

Μόλις συνδέσετε ένα σενάριο σε ένα αντικείμενο, μπορείτε να το αναθεωρήσετε κάνοντας διπλό κλικ πάνω του στο επιθεωρητής. Αυτό ανοίγει Μονοανάπτυξη, το προεπιλεγμένο περιβάλλον ανάπτυξης για το Unity. Στην ουσία, το Monodevelop είναι ένα πρόγραμμα επεξεργασίας κειμένου με δυνατότητες ειδικά βελτιστοποιημένες για τον προγραμματισμό.

Οι λέξεις-κλειδιά και τα σχόλια επισημαίνονται στο μπλε και πράσινος, και οι αριθμητικές τιμές και συμβολοσειρές εμφανίζονται στο το κόκκινο. Εάν έχετε χρησιμοποιήσει Εκλειψη ή άλλα IDE, το MonoDevelop είναι πολύ παρόμοιο. Μπορείς χτίζω τα σενάρια σας από το πρόγραμμα επεξεργασίας, για να ελέγξετε για σφάλματα σύνταξης, όπως έτσι:

Προγραμματισμός ενός παιχνιδιού με ενότητα: Ένα παιχνίδι προγράμματος ενότητας για αρχάριους οδηγούς 15

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

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

Μια λίστα με τα στοιχεία που μπορεί να έχει ένα αντικείμενο είναι η ακόλουθη (από την άποψη επιθεωρητή ενός από τα κουπιά μας στο παραπάνω παράδειγμα):

  1. Μεταμορφώνω
  2. Κύβος (φίλτρο πλέγματος)
  3. Πλαίσιο Collider
  4. Mesh Renderer

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

6.1 Μετασχηματισμός

Οι λειτουργίες μετασχηματισμού για ένα GameObject στο Unity ελέγχουν τις φυσικές παραμέτρους αυτού του αντικειμένου: του κλίμακα, είναι θέση, και είναι προσανατολισμός. Μπορείτε να αποκτήσετε πρόσβαση σε αυτά από ένα σενάριο όπως αυτό:

transform.position = newPositionVector3; transform.rotation = newRotationQuaternion; transform.localScale = newScaleVector3;

Στα παραπάνω παραδείγματα, οι ονομαζόμενες μεταβλητές είναι των τύπων που καθορίζονται στα ονόματα. Υπάρχουν μερικές βασικές λεπτομέρειες εδώ: η θέση και η κλίμακα αποθηκεύονται, όπως θα περιμένατε, ως Vector3s. Μπορείτε να αποκτήσετε πρόσβαση στο Χ, Γ, και Ζ συστατικά του καθενός (για παράδειγμα, transform.position.y σας δίνει την απόσταση ενός αντικειμένου πάνω από το μηδέν επίπεδο).

Ωστόσο, για να αποφύγετε κλειδαριά αντίζυγου, οι περιστροφές αντιμετωπίζονται ως Τεταρτημόρια (διανύσματα τεσσάρων συστατικών). Επειδή τα τεταρτημόρια που χειρίζονται το χέρι δεν είναι διαισθητικά, μπορείτε να χειριστείτε τις περιστροφές χρησιμοποιώντας γωνίες Eulerian χρησιμοποιώντας το Τεταρτών. Euler μέθοδος όπως έτσι:

transform.rotation = Τεταρτημόριο. Euler (pitch, yaw, roll);

Εάν θέλετε να μετακινήσετε τα αντικείμενα ομαλά από το ένα μέρος στο άλλο, θα βρείτε το Slerp χρήσιμη μέθοδος για τεταρτημόρια και vector3s. Ο Slerp λαμβάνει τρία επιχειρήματα - την τρέχουσα κατάσταση, την τελική κατάσταση και την ταχύτητα αλλαγής και παρεμβάλλεται ομαλά μεταξύ τους με τη δεδομένη ταχύτητα. Η σύνταξη μοιάζει με αυτό:

transform.position = Vector3.Slerp (startPositionVector3, newDestinationVector3, 1);

6.2 Απόδοση

Οι λειτουργίες απόδοσης στο Unity σάς επιτρέπουν να ελέγχετε τον τρόπο απόδοσης των επιφανειών των στηριγμάτων στην οθόνη. Μπορείτε να εκχωρήσετε εκ νέου την υφή, να αλλάξετε το χρώμα και να αλλάξετε τη σκιά και την ορατότητα του αντικειμένου. Η σύνταξη μοιάζει με αυτό:

renderer.enabled = false; renderer.material.color = νέο χρώμα (0, 255, 0); renderer.material.mainTexture = myTexture; renderer.material.shader = newShader;

Τα περισσότερα από αυτά έχουν αρκετά σαφείς λειτουργίες. Το πρώτο παράδειγμα καθιστά το εν λόγω αντικείμενο αόρατο: ένα χρήσιμο τέχνασμα σε διάφορες καταστάσεις. Το δεύτερο παράδειγμα αναθέτει ένα νέο Χρώμα RGB (δηλαδή, πράσινο) στο εν λόγω αντικείμενο. Το τρίτο εκχωρεί την κύρια διάχυτη υφή σε μια νέα μεταβλητή υφής. Το τελευταίο παράδειγμα αλλάζει το shader του υλικού του αντικειμένου σε μια νέα μεταβλητή shader.

6.3 Φυσική

Το Unity έρχεται με έναν ενσωματωμένο κινητήρα φυσικής - κάτι τέτοιο παιχνίδια φυσικής άμμου Smash, Drive & Build: 3 φοβεροί προσομοιωτές Sandboxes φυσικής Διαβάστε περισσότερα όλη η χρήση. Αυτό σας επιτρέπει να αντιστοιχίσετε τις φυσικές ιδιότητες των αντικειμένων και να αφήσετε τον χειρισμό των λεπτομερειών της προσομοίωσής τους. Σε γενικές γραμμές, αντί να προσπαθείτε να εφαρμόσετε τη δική σας φυσική χρησιμοποιώντας ένα βιβλίο και το σύστημα μετασχηματισμού, είναι απλούστερη και πιο ισχυρή η χρήση της μηχανής φυσικής της Unity στο μεγαλύτερο δυνατό βαθμό.

Όλα τα στηρίγματα φυσικής απαιτούν συγκρούσεις. Ωστόσο, η ίδια η πραγματική προσομοίωση αντιμετωπίζεται από ένα άκαμπτο σώμα, το οποίο μπορεί να προστεθεί στο επιθεωρητής θέα. Τα άκαμπτα σωματίδια μπορεί να είναι κινηματικός ή μη κινηματικό.

Τα κινηματικά στηρίγματα φυσικής συγκρούονται με (και επηρεάζουν) μη κινηματικά στηρίγματα φυσικής γύρω τους, αλλά δεν επηρεάζονται από τη σύγκρουση από μόνα τους. Τα στατικά κινηματικά στηρίγματα είναι τα παροιμιώδη κινητά αντικείμενα και τα κινητικά κινητικά αντικείμενα είναι τα παροιμιώδης ασταμάτητη δύναμη (για την εγγραφή, όταν συγκρούονται, περνούν απλώς το καθένα άλλα).

Πέρα από αυτό, μπορείτε να προσαρμόσετε τη γωνιακή έλξη του αντικειμένου (πόση ενέργεια χρειάζεται για να το περιστρέψετε), να αλλάξετε τη μάζα του, να υπαγορεύσετε εάν επηρεάζεται ή όχι από τη βαρύτητα και να ασκήσετε δυνάμεις σε αυτό.

Παραδείγματα:

rigidbody.angularDrag = 0.1f; rigidbody.mass = 100; rigidbody.isKinematic = false; rigidbody.useGravity = true; άκαμπτο σώμα. AddForce (transform.forward * 100);

Όλα αυτά είναι αρκετά αυτονόητα. Το μόνο πράγμα που πρέπει να σημειωθεί εδώ είναι η χρήση του transform.forward. Όλα τα Vector3 έχουν τρία συστατικά (.προς τα εμπρός, .πάνω, και .σωστά) που σχετίζονται με αυτά, στα οποία μπορείτε να έχετε πρόσβαση και να περιστρέφεται μαζί τους (προς τα εμπρός είναι η κατεύθυνση του μπλε βέλους στο πρόγραμμα επεξεργασίας). ο transform.forward Η λέξη-κλειδί είναι απλώς το μπροστινό διάνυσμα για το τρέχον αντικείμενο με μέγεθος 1. Μπορεί να πολλαπλασιαστεί με ένα float για να δημιουργήσει περισσότερη δύναμη στο αντικείμενο. Μπορείτε επίσης να αναφέρετε transform.up και transform.right, και να τους αρνηθούν για να πάρουν τις αντιστροφές τους.

6.4 Σύγκρουση

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

Χρειάζεται ένα συγκεκριμένο ποσό προετοιμασίας για την ανίχνευση συγκρούσεων στο Unity. Πρώτον, τουλάχιστον ένα από τα αντικείμενα της σύγκρουσης χρειάζεται α μη κινηματικό άκαμπτο σώμα προσαρτημένο σε αυτό. Και τα δύο αντικείμενα πρέπει να έχουν σωστά συγκρουόμενα, ρυθμισμένα ως μη ενεργοποιητές. Η συνολική ταχύτητα και των δύο αντικειμένων πρέπει να είναι αρκετά χαμηλή ώστε να συγκρούονται στην πραγματικότητα, αντί να παρακάμπτουν το ένα το άλλο.

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

void OnCollisionEnter (Collision other) {// κάντε τα πράγματα εδώ. }

Αυτή η μέθοδος θα εκτελεστεί αυτόματα κατά το πρώτο πλαίσιο που ένα άλλο αντικείμενο αγγίζει το αντικείμενό σας. Η οντότητα σύγκρουσης άλλα είναι μια αναφορά στο αντικείμενο που χτυπάτε. Μπορείτε, για παράδειγμα, να το αναφέρετε αντικείμενο παιχνιδιού, άκαμπτο σώμα, και μεταμορφώνω χαρακτηριστικά για να το χειριστείτε με διάφορους τρόπους. Ενώ OnCollisionEnter είναι ίσως η πιο κοινή λειτουργία που θα χρησιμοποιείτε, μπορείτε επίσης να χρησιμοποιήσετε OnCollisionExit και OnCollisionStay (με κατά τα άλλα ταυτόσημη σύνταξη και χρήση), οι οποίες ενεργοποιούνται κατά το πρώτο πλαίσιο που σταματάτε να συγκρούεστε με ένα αντικείμενο και κατά τη διάρκεια κάθε πλαισίου που συγκρούεστε με ένα αντικείμενο, αντίστοιχα.

Μερικές φορές, μπορεί επίσης να είναι χρήσιμο να κάνετε αυτό που ονομάζεται ακτινοβολία. Στην ακτινοβολία, μια απείρως λεπτή γραμμή (α ακτίνα) μεταδίδεται στον κόσμο από κάποια προέλευση, κατά μήκος κάποιου διανύσματος και, όταν χτυπά κάτι, επιστρέφονται η θέση και άλλες λεπτομέρειες της πρώτης σύγκρουσης. Ο κώδικας για μια ακτινοβολία μοιάζει με τον εξής:

Η επιτυχία του RaycastHit εάν (Φυσική. Raycast (transform.position, -Vector3.up, out hit)) {floatistanceToGround = hit.distance; }

Αυτό ρίχνει μια ακτίνα από τη θέση του τρέχοντος αντικειμένου κατά μήκος του -Vector3.up (ευθεία προς τα κάτω) και συνδέει τη μεταβλητή Κτύπημα στο πρώτο αντικείμενο με το οποίο συγκρούεται. Μόλις η ακτίνα σας χτυπήσει κάτι, μπορείτε να αποκτήσετε πρόσβαση χτύπημα. απόσταση για να προσδιορίσετε πόσο μακριά είναι, ή Κτύπημα. GameObject για να χειριστείτε το αντικείμενο που χτυπήσατε.

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

6.5 Διόρθωση χρόνου

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

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

6.6 Πηγές ήχου και ακροατές

Τώρα που έχουμε καλύψει τον τρόπο δημιουργίας, απόδοσης και ελέγχου αντικειμένων, ας μιλήσουμε για την άλλη έννοια που μπορούν να εξυπηρετήσουν τα παιχνίδια στον υπολογιστή: δηλαδή, ήχος. Η ενότητα υποστηρίζει δύο είδη ήχων: και 3D ήχοι. Οι τρισδιάστατοι ήχοι μεταβάλλουν την ένταση ανάλογα με την απόσταση και παραμορφώνονται καθώς κινούνται σε σχέση με την κάμερα. 2D ήχοι δεν.

Οι 2D ήχοι είναι κατάλληλοι για voice-over και μουσική υπόκρουσης και οι ήχοι 3D ισχύουν για ήχους που δημιουργούνται από γεγονότα στον κόσμο. Για να αλλάξετε εάν ένας ήχος είναι τρισδιάστατος, επιλέξτε τον στο έργο προβολή, μετάβαση στο επιθεωρητής προβολή και επιλέξτε την κατάλληλη επιλογή από το αναπτυσσόμενο μενού και, στη συνέχεια, πατήστε το εισάγω πάλι κουμπί.

Για να παίξετε πραγματικά τον ήχο, θα πρέπει να επισυνάψετε ένα ηχητική πηγή σε ένα στήριγμα (το στήριγμα από το οποίο θέλετε να προέρχεται ο ήχος, στην περίπτωση ενός 3D ήχου). Τότε θα πρέπει να ανοίξετε το ηχητικό κλιπ πεδίο και επιλέξτε το αρχείο ήχου σας.

Μπορείς να χρησιμοποιήσεις myAudioSource. Παύση() και myAudioSource. Παίζω() για τον έλεγχο αυτών των αρχείων ήχου. Μπορείτε να προσαρμόσετε τις εναλλακτικές συμπεριφορές, την ένταση και τη μετατόπιση doppler των ήχων κάτω από το επιθεωρητής καρτέλα για το audiosource.

6.7 Είσοδος

Ένα παιχνίδι που δεν λαμβάνει καμία είσοδο από τον χρήστη δεν είναι μεγάλο από ένα παιχνίδι. Υπάρχουν πολλά διαφορετικά είδη εισόδου που μπορείτε να διαβάσετε και σχεδόν όλα είναι προσβάσιμα μέσω του Εισαγωγή και Κωδικός κλειδί αντικείμενα. Μερικά δείγματα δηλώσεων εισαγωγής (που έχουν τιμές αξιολογούνται σε κάθε πλαίσιο) είναι παρακάτω.

Vector3 mousePos = Input.mousePosition; bool isLeftClicking = Είσοδος. GetMouseButton (0); bool isPressingSpace = Είσοδος. GetKey (KeyCode. Χώρος);

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

6.8 Εντοπισμός σφαλμάτων σεναρίου

Ας υποθέσουμε ότι ένα σενάριο δεν λειτουργεί. Όπως λέει ο καλός γιατρός, μπορεί να συμβεί σε σας. Εάν υπάρχουν εντελώς λάθη σύνταξης με το C # σας, το παιχνίδι γενικά θα αρνηθεί να εκτελεστεί όταν πατήσετε το παιχνίδι και παρέχονται ορισμένα αρκετά χρήσιμα μηνύματα σφάλματος εάν χτίζω τα σενάρια μέσα από το πρόγραμμα επεξεργασίας. Δες παρακάτω:

Προγραμματισμός ενός παιχνιδιού με ενότητα: Ένα παιχνίδι προγράμματος ενότητα για αρχάριους οδηγούς 16

Αυτά τα σφάλματα συνήθως δεν είναι τα πιο δύσκολα να διορθωθούν. Αυτό που μπορεί να είναι πιο προβληματικό είναι τα λεπτά σημασιολογικά λάθη, στα οποία έχετε γράψει επιτυχώς ένα αρχείο γεμάτο με έγκυρο C # - όχι μόνο αυτό που κάνει αυτό που νομίζατε ότι θα ήταν. Εάν έχετε ένα από αυτά τα σφάλματα και αντιμετωπίζετε προβλήματα με την παρακολούθηση, υπάρχουν μερικά πράγματα που μπορείτε να προσπαθήσετε να βελτιώσετε την κατάσταση.

Το πρώτο είναι να διακόψετε την εκτέλεση του παιχνιδιού και να ελέγξετε την κονσόλα. Μπορείτε να διακόψετε το παιχνίδι κάνοντας κλικ στο παύση εικονίδιο στο επάνω μεσαίο τμήμα του προγράμματος επεξεργασίας και, στη συνέχεια, επιλέγοντας κονσόλα από το κάτω μέρος του παράθυρο μενού (ή πατώντας Ctrl > Μετατόπιση > ντο). Ακόμα κι αν δεν υπάρχουν σφάλματα, οι προειδοποιήσεις μπορούν ακόμα να βοηθήσουν να δώσουμε κάποιες ενδείξεις για το τι μπορεί να πάει στραβά.

Εάν αυτό δεν λειτουργεί, μπορείτε επίσης να προσπαθήσετε να πάρετε κάποια ιδέα σχετικά με την κατάσταση του σεναρίου σας εκτυπώνοντας την κατάσταση των εσωτερικών μεταβλητών για να επιβεβαιώσετε ότι το πρόγραμμα κάνει αυτό που νομίζετε ότι κάνει. Μπορείς να χρησιμοποιήσεις Εντοπισμός σφαλμάτων. Αρχείο καταγραφής (συμβολοσειρά) για να εκτυπώσετε τα περιεχόμενα μιας συμβολοσειράς στην κονσόλα όταν η εκτέλεση του προγράμματος φτάσει σε αυτήν τη γραμμή. Σε γενικές γραμμές, αν εργάζεστε προς τα πίσω από ό, τι νομίζετε ότι πρέπει να συμβαίνει μέσω των πραγμάτων που πρέπει να είναι Κάνοντας το να συμβεί, τελικά θα φτάσετε σε ένα σημείο όπου οι εκτυπώσεις σφαλμάτων σας δεν κάνουν αυτό που περιμένετε κάνω. Εκεί βρίσκεται το σφάλμα σας.

7. Παράδειγμα: Scripting Pong

Για να χτίσουμε τον Πονγκ, ας σπάσουμε το παιχνίδι στα βασικά του στοιχεία: χρειαζόμαστε μια μπάλα που τσακίζει πίσω και πίσω μεταξύ των κουπιών στην αύξηση ταχύτητα, χρειαζόμαστε έναν πίνακα αποτελεσμάτων που ξέρει πότε οι μπάλες έχουν περάσει τα κουπιά και χρειαζόμαστε έναν μηχανισμό για την επανεκκίνηση της μπάλας όταν αυτό συμβαίνει. Ένα καλό πρώτο βήμα θα ήταν να προσθέσετε ένα μη κινηματικό άκαμπτο σώμα στην μπάλα, δύο κινηματικά άκαμπτα σώματα στο κουπιά, απενεργοποιήστε τη βαρύτητα για όλους, και εκχωρήστε ένα κατάλληλο φυσικό υλικό από τα τυπικά στοιχεία (πήδημα με συνδυασμός αναπήδησης οριστεί σε πολλαπλασιάζω).

Παρακάτω, μπορείτε να δείτε το σενάριο της μπάλας με επεξηγηματικά σχόλια. Η μπάλα πρέπει να πετύχει μερικούς βασικούς στόχους: πρέπει να αναπηδά σε ένα περίπλοκο μοτίβο, διατηρώντας πάντα κίνηση και στους δύο άξονες, και πρέπει να επιταχυνθεί με έναν προκλητικό αλλά όχι αδύνατο ρυθμό στον οριζόντιο κατεύθυνση.

BallHandler.cs

Στη συνέχεια, πρέπει να γράφουμε το paddle μας, το οποίο μπορείτε να δείτε παρακάτω. Το κουπί πρέπει να κινηθεί πάνω-κάτω ως απάντηση στις πιέσεις πλήκτρων (αλλά όχι έξω από συγκεκριμένα όρια). Πρέπει επίσης να ενεργοποιήσει το σύστημα σωματιδίων όταν συγκρούεται με κάτι.

PaddleHandler.cs

Στη συνέχεια, χρειαζόμαστε τον εχθρικό AI: κάτι που θα κάνει το κουπί του εχθρού να παρακολουθεί προς την μπάλα με σταθερό ρυθμό. Για αυτό, θα χρησιμοποιούμε το Vector3.Slerp για μέγιστη απλότητα. Θα θέλαμε επίσης την ίδια συμπεριφορά σωματιδίων που βλέπουμε στο δικό μας κουπί.

EnemyAI.cs

Τέλος, χρειαζόμαστε ένα σενάριο για να ενημερώσουμε τον πίνακα αποτελεσμάτων και να επαναφέρουμε την μπάλα όταν βγαίνει εκτός ορίων.

Πίνακας αποτελεσμάτωνUpdater.cs

Με αυτά τα σενάρια που επισυνάπτονται και τις αναφορές που συμπληρώνονται, όταν τρέχουμε το παιχνίδι μας Pong, βιώνουμε gameplay!

Προγραμματισμός ενός παιχνιδιού με ενότητα: Ένα παιχνίδι προγράμματος ενότητας για αρχάριους οδηγούς 18

Μπορείς κατεβάστε το demo Pong μου, αν θέλετε να δείτε όλα όσα έχω περιγράψει στη δράση. Τρέχει σε συστήματα Windows, Mac και Linux.

8. Εξερεύνηση της Τεκμηρίωσης / Μάθετε περισσότερα

Το Unity είναι ένας πολύπλοκος κινητήρας με πολλά περισσότερα χαρακτηριστικά από ό, τι θα μπορούσε να καλυφθεί σε έναν οδηγό αυτού του στυλ, και αυτό είναι προτού συμπεριλάβετε το ευρύ φάσμα (δωρεάν και εμπορικών) επεκτάσεων Unity που διατίθενται στο Διαδίκτυο. Αυτός ο οδηγός θα σας δώσει μια ισχυρή αφετηρία για την ανάπτυξη ενός παιχνιδιού, αλλά η αυτοεκπαίδευση είναι μια σημαντική ικανότητα σε κάθε προσπάθεια, και το διπλάσιο εδώ.

Ένας κρίσιμος πόρος εδώ είναι το Unity ScriptReference. Το ScriptReference είναι μια βάση δεδομένων με δυνατότητα αναζήτησης, διαθέσιμη τόσο για C # όσο και για Javascript, η οποία έχει μια λίστα κάθε εντολής και δυνατότητας Unity, με περιγραφές των λειτουργιών τους και σύντομα παραδείγματα σύνταξη.

Εάν αντιμετωπίζετε προβλήματα με το πρόγραμμα επεξεργασίας και τη διεπαφή του Unity, ή ακριβώς όπως τα εκπαιδευτικά βίντεο ως προτίμηση, υπάρχει μια μεγάλη λίστα υψηλής ποιότητας Εκπαιδευτικά βίντεο Unity Τα καλύτερα εκπαιδευτικά σεμινάρια Unity 3D για αρχάριουςΘέλετε να αναπτύξετε παιχνίδια με το Unity, αλλά δεν ξέρετε από πού να ξεκινήσετε; Δοκιμάστε ένα από αυτά τα φοβερά εκπαιδευτικά προγράμματα Unity 3D σήμερα. Διαβάστε περισσότερα διαθέσιμος. Πιο εκτεταμένο (αλλά λιγότερο ευρύ) σεμινάρια κειμένου για το Unity διατίθενται επίσης από το CatLikeCoding.

Τέλος, εάν έχετε ερωτήσεις πέρα ​​από το πεδίο τεκμηρίωσης ή σεμινάρια, μπορείτε να υποβάλετε συγκεκριμένες ερωτήσεις στο απαντήσεις. Unity3d.com. Να θυμάστε ότι οι απαντήσεις παρέχονται από εθελοντές, γι 'αυτό σεβαστείτε το χρόνο τους και αναζητήστε πρώτα τη βάση δεδομένων για να βεβαιωθείτε ότι η ερώτησή σας δεν έχει ήδη απαντηθεί.

9. Δημιουργία του παιχνιδιού σας / Μεταγλώττιση σε αυτόνομη εφαρμογή

Όταν έχετε δημιουργήσει κάτι για το οποίο είστε περήφανοι (ή έχετε τελειώσει την κλωνοποίηση του παραδείγματος για λίγο πρακτική του Πονγκ), ήρθε η ώρα να μετακινήστε το παιχνίδι σας από το πρόγραμμα επεξεργασίας και μετατρέψτε το σε κάτι που μπορείτε να δημοσιεύσετε στο Διαδίκτυο και να αναγκάσετε τους φίλους και την οικογένειά σας παίζω. Για να το κάνετε αυτό, θα πρέπει να δημιουργήσετε μια αυτόνομη εφαρμογή. Τα καλά νέα είναι ότι στην ενότητα, αυτό είναι πολύ, πολύ εύκολο. Υπάρχουν, ωστόσο, μερικοί πιθανοί λόξυγγες που θα θέλατε να προσέξετε.

Για αρχάριους, γνωρίζετε ότι μπορείτε να δημιουργήσετε μόνο ένα έργο χωρίς σφάλματα. Για το σκοπό αυτό, βεβαιωθείτε ότι έχετε ανοίξει την κονσόλα καθώς δημιουργείτε: υπάρχουν ορισμένες συνθήκες σφάλματος που το παιχνίδι θα αγνοήσει στον επεξεργαστή, αλλά θα ακυρώσει μια προσπάθεια κατασκευής. Αυτό αποστέλλει μόνο μηνύματα σφάλματος στην κονσόλα, χωρίς ορατά αποτελέσματα στην οθόνη, τα οποία μπορεί να είναι απογοητευτικά εάν ξεχάσετε να το ελέγξετε. Μόλις αποκτήσετε τη σύνταξη του παιχνιδιού σας χωρίς σφάλματα, μπορείτε να επιλέξετε Δημιουργία ρυθμίσεων σύμφωνα με το Αρχείο μενού ή πατήστε Ctrl > Μετατόπιση
> σι. Αυτό θα εμφανίσει έναν απλό διάλογο που σας επιτρέπει να δημιουργήσετε το παιχνίδι σας για διάφορες πλατφόρμες.

Προγραμματισμός ενός παιχνιδιού με ενότητα: Ένα παιχνίδι προγράμματος ενότητας για αρχάριους οδηγούς 17

Η διαδικασία από εκεί είναι αυτονόητη: επιλέξτε τις επιλογές σας και πατήστε χτίζω; το παιχνίδι θα σας ζητήσει έναν κατάλογο για εγκατάσταση και θα τοποθετήσει τόσο τον εκτελέσιμο όσο και τον κατάλογο δεδομένων εκεί. Αυτά τα δύο αρχεία μπορούν να συμπιεστούν και να διανεμηθούν (απλώς βεβαιωθείτε ότι δεν χρεώνετε για ένα παιχνίδι που είναι ενσωματωμένο στην επίδειξη Unity, καθώς αυτό παραβιάζει τους όρους παροχής υπηρεσιών).

10. Σημειώσεις κλεισίματος

Όπως με οποιοδήποτε εργαλείο ανάπτυξης παιχνιδιών, το κλειδί για την επιτυχία με το Unity είναι η επαναληπτική ανάπτυξη. Πρέπει να χτίσετε με διαχειρίσιμα βήματα - να είστε φιλόδοξοι, με κάθε τρόπο, αλλά να είστε φιλόδοξοι σε μικρά κομμάτια και να τακτοποιήσετε αυτά τα κομμάτια έτσι ώστε, ακόμη και αν δεν έχετε την απόλυτη φιλοδοξία σας, τουλάχιστον θα καταλήξετε με μια συνεκτική προϊόν.

Βρείτε πρώτα τα πιο κρίσιμα στοιχεία: έχετε μια ιδέα στο μυαλό σας ελάχιστο βιώσιμο προϊόν, το απλούστερο, πιο γυμνό πράγμα που θα μπορούσατε ενδεχομένως να δημιουργήσετε και να αισθανθείτε σαν να έχετε επιτύχει κάτι που αξίζει τον κόπο. Προχωρήστε σε αυτό το ελάχιστο βιώσιμο έργο προτού προχωρήσετε σε μεγαλύτερες φιλοδοξίες.

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

Εάν έχετε διαβάσει όλα αυτά και είστε λίγο συγκλονισμένοι από την κωδικοποίηση που απαιτείται με το Unity, βεβαιωθείτε ότι έχετε ελέγξει πώς να μάθετε την ανάπτυξη παιχνιδιών με το Unity Learn Η ενότητα Unity Learn είναι ο ευκολότερος τρόπος για την ανάπτυξη παιχνιδιώνΘέλετε να ξεκινήσετε να αναπτύσσετε τα δικά σας παιχνίδια; Το Unity Learn είναι ο καλύτερος και ευκολότερος τρόπος για να μάθετε και να μάθετε αυτό που πρέπει να γνωρίζετε. Διαβάστε περισσότερα και επίσης διαβάστε τον οδηγό μας πώς να φτιάξετε βιντεοπαιχνίδια χωρίς προγραμματισμό Πώς να φτιάξετε βιντεοπαιχνίδια χωρίς κανένα προγραμματισμόΘέλετε να δημιουργήσετε ένα βιντεοπαιχνίδι, αλλά δεν μπορείτε να κωδικοποιήσετε; Στη συνέχεια, χρησιμοποιήστε ένα κιτ κατασκευής βιντεοπαιχνιδιών που σας επιτρέπει να δημιουργείτε παιχνίδια χωρίς να απαιτείται κωδικοποίηση! Διαβάστε περισσότερα .

Το Unity είναι ένα ισχυρό εργαλείο και με λίγη εξερεύνηση, μπορείτε να χτίζετε εντυπωσιακά έργα με αυτό γρηγορότερα από ό, τι θα περίμενε κανείς. Πείτε μας τι δημιουργήσατε στα παρακάτω σχόλια - θα θέλαμε να το δούμε!

Ένας συγγραφέας και δημοσιογράφος που εδρεύει στη Νοτιοδυτική πλευρά, ο Andre είναι εγγυημένος ότι θα παραμείνει λειτουργικός έως 50 βαθμούς Κελσίου και είναι αδιάβροχος σε βάθος δώδεκα ποδιών.