Κανόνες και απαιτήσεις

Πιθανώς γνωρίζετε ήδη τις διαδικασίες κατασκευής μίας σκηνής στην WME. Αν όχι διαβάστε πρώτα το κεφάλαιο Δημιουργία σκηνής βήμα προς βήμα. Η υποστήριξη των 3D χαρακτήρων βασίζεται στους ίδιους κανόνες αλλά προσθέτει και ορισμένα επιπλέον βήματα.

Οι χαρακτήρες

Σε αντίθεση με τους δισδιάστατους χαρακτήρες οι 3D δεν αποτελούνται από μία σειρά από καρέ αλλά αντιπροσωπεύονται από ένα 3D μοντέλο. Η WME υποστηρίζει  τα αρχεία Microsoft X για την αποθήκευση αυτών. Τα περισσότερα 3D προγράμματα έχουν την δυνατήτητα εξαγωγής τέτοιων αρχείων.Δείτε αυτή τη σελίδα στο WME Wiki  για ενημερωμένες πληροφορίες σχετικά με διάφορα 3D προγράμματα.

Η WME χρησιμοποιεί τα λεγόμενα skeletal animations για την κίνηση των 3D μοντέλων. Ορίζετε ένα σετ από κόκαλα (ο σκελετός) και μετά συνδέετε τα διάφορα τμήματα του μοντέλου σας (το δέρμα) σε αυτά. Η περιστροφή και κίνηση των κοκάλων θα κινεί ανάλογα και το δέρμα. Αν αυτή η τεχνική είναι καινούρια για εσάς, δετε τα έγγραφα βοηθείας και τους οδηγούς προγραμμάτων όπως τα  fragMOTION και Milkshape 3D για περισσότερες λεπτομέρεις στη δημιουργία χαρακτήρων με skeletal animations.

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

Όταν έχετε έτοιμο το 3D μοντέλο στο φορμά X (.x) και το αρχείο προσδιορισμού του χαρακτήρα (act3d) μπορείτε να χρησιμοποιήσετε τον χαρακτήρα σας στην WME. Για να εισάγετε τον χαρακτήρα μέσω ενός script καλέστε τις μεθόδους  Game.LoadActor3D() ή Scene.LoadActor3D().  Η χρήση τους είναι ακριβώς ή ίδια με την παλιά μέθοδοLoadActor  που χρησιμοποιείται για τους δισδιάστατους χαρακτήρες.

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

Επίσης φροντίστε οι διαστάσεις των υφών που χρησιμοποιείτε να είναι πολλαπλάσια του δύο (2, 4, 8, 16, 32, 64, 128, 256, 512, 1024...). Αυτός είναι περιορισμός των σύγχρονων επιταχυντών 3D. Στην περίπτωση των δισδιάστατων γραφικών η WME ξεπερνά αυτό τον περιορισμό αλλάζονταν το μέγεθος των εικόνων αυτόματα αλλά στην περίπτωση των 3D μοντέλων θα πρέπει εσείς να το φροντίσετε αυτό.

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

Οι σκηνές

Σε αντίθεση με τις απλές δισδιάστατες σκηνές, για να χρησιμοποιήσετε τους 3D χαρακτήρες θα πρέπει να εισάγετε σε αυτές ένα επιπλέον επίπεδο που έχει το όνομα "κρυφή γεωμετρία σκηνής". Βασικά είναι ένα απλό 3D μοντέλο που ορίζει τη 3D διαρρύθμιση της σκηνής. Δηλαδή τα επιτρεπόμενα σημεία για το χαρακτήρα του παιχνιδιού και τα απαγορευμένα αντικείμενα. Παρότι αυτό το μοντέλο δεν εμφανίζεται ποτέ στον παίκτη οι 3D χαρακτήρες το χρησιμοποιούν για να κινούνται μέσα στη σκηνή. Στην πράξη περπατούν επάνω σε αόρατα 3D επίπεδα και αποφεύγουν κρυμμένα μπλοκαρισμένα αντικείμενα.

Για μία ακόμα φορά, αυτή η κρυφή γεωμετρία πρέπει να φτιαχτεί σε κάποιο 3D πρόγραμμα και μετά να αποθηκευτεί σε αρχείο 3DS. Αυτό είναι και το μοναδικό είδος αρχείου που δέχεται η WME σαν κρυφή γεωμετρία. Είναι πολύ δημοφιλές και τα περισσότερα 3D προγράμματα θα πρέπει να μπορούν να το διαχειριστούν.

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

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

Πως όμως δημιουργείται η κρυμμένη γεωμετρία; Η ιδέα είναι ότι οι περισσότεροι θα χρησιμοποιήσουν 3D prerendered φόντα μαζί με τους 3D χαρακτήρες. Δύσκολα κάποιος θα θελήσει να τους συνδυάσει με ζωγραφισμένες στο χέρι τοποθεσίες. Αυτό σημαίνει ότι θα υπάρχει ήδη ένα λεπτομερές 3D μοντέλο της σκηνής που θα περιλαμβάνει επίσης φώτα και κάμερες. Έτσι το μόνο που μένει να γίνει είναι να προστεθούν τα επιτρεπόμενα πεδία και μπλοκαρισμένα αντικείμενα που δεν θα χρησιμοποιηθούν για την απόδοση της σκηνής αλλά μόνο από την WME.

Για να αναγνωρίσει η WME τα διάφορα αντικείμενα σωστά, στο αρχείο της γεωμετρίας πρέπει να έχουν ονόματα με βάση κάποιους κανόνες. Το όνομα των επιτρεπόμενων πεδίων θα πρέπει να ξεκινάει με "walk_", για παράδειγμα "walk_floor", των μπλοκαρισμένων αντικειμένων με "blk_", για παράδειγμα "blk_desk" και των σημείων πορείας με "wpt_", για παράδειγμα "wpt_01". Τα φώτα και οι κάμερες αναγνωρίζονται αυτόματα.

Για να ορίσετε μία κρυμμένη γεωμετρία δημιουργήστε πεδία στα οποία ο χαρακτήρας μπορεί να περπατήσει και στη συνέχεια αντικείμενα που περικλείουν απρόσιτες περιοχές. Συνήθως αυτά τα μπλοκαρισμένα αντικείμενα θα είναι απλοί κύβοι που περικλείουν αντικείμενα και περιοχές της σκηνής τα οποίο οι χαρακτήρες δεν μπορούν να προσελκύσουν. Για παραδείγματα τέτοιων αρχείων δείτε τις σκηνές στο 3D παιχνίδι επίδειξης της WME. Η αποθήκη και τα κιβώτια μπροστά περικλύονται από κύβους που καθιστούν αυτές τις περιοχές απρόσιτες για τους χαρακτήρες.

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

Σημείωση: Από την έκδοση 1.6 της WME, για διευκόλυνση του σχεδιασμού των σκηνών, μπορείτε να χρησιμοποιήσετε τον παλιό καλό τρόπο 2D για τον χειρισμό και των 3D χαρακτήρων. Δείτε το κεφάλαιο Επιπλέον ρυθμίσεις στον SceneEdit για περισσότερες λεπτομέρειες.


Νέο στη WME 1.7: Λόγω της εισαγωγής των σκιών stencil, απαιτείται η κρυμμένη γεωμετρία να έχει περισσότερους παραμέτρους. Έτσι, μπορείτε πλέον να συνδέσετε το αρχείο 3DS με ένα δεύτερο αρχείο προσδιορισμού για τον ορισμό αυτών. Η αποθήκευσή του πρέπει να γίνει στον ίδιο φάκελο με το αρχείο 3DS και να έχει το ίδιο όνομα αλλά με τη κατάληξη .geometry. Για παράδειγμα, αν το αρχείο γεωμετρίας ονομάζεται "some_scene.3ds", το αρχείο προσδιορισμού θα είναι "some_scene.geometry".

Αυτό το αρχείο προσδιορισμού μπορεί να περιέχει ένα ή περισσότερα τμήματα, με περιγραφές για ομάδες από meshes που βρίσκονται στο αρχείο 3DS. Κάθε ομάδα ορίζεται από ένα όνομα και μπορεί να δεχθεί διάφορες παραμέτρους. Το όνομα μπορεί να περιέχει wildcards (* για όλες τις ομάδες, ? για οποιοδήποτε χαρακτήρα) που σας επιτρέπει να ορίσετε πολλά meshes μαζί. Στη συνέχεια για κάθε ομάδα meshes μπορείτε να ορίσετε: 1) αν σε αυτά μπορεί να κινηθεί ο χαρακτήρας, 2) αν είναι εμπόδια, 3) αν είναι σημεία πορείας και 4) αν μπορούν να δεχθούν σκιά. Ακολουθεί ένα αρχείο προσδιορισμού που ακολουθεί αυτούς του κανόνες:

GEOMETRY
{
  NODE
  {
    NAME = "walk_*"
    WALKPLANE = TRUE
    RECEIVE_SHADOWS = TRUE
  }

  NODE
  {
    NAME = "blk_*"
    BLOCKED = TRUE
  }

  NODE
  {
    NAME = "wpt_*"
    WAYPOINT = TRUE
  }
}

Παρατηρήστε τη γραμμή RECEIVE_SHADOWS που σημαίνει ότι το συγκεκριμένο mesh μπορεί να δεχθεί stencil σκιές. Θα μπορούσατε, για παράδειγμα, να έχετε περισσότερα meshes στο αρχείο 3DS για την προβολή των σκιών (συνήθως, οι σκιές χρειάζονται πιο λεπτομερή μοντέλα σε σχέση με το pathfinding). Ας υποθέσουμε ότι αυτά τα meshes έχουν ονόματα που ξεκινούν από "SHADOW_". Για να ορίσετε ότι σε όλα θα προβάλλονται σκιές, χρειάζεται να έχετε το παρακάτω τμήμα στο αρχείο προσδιορισμού:

  NODE
  {
    NAME = "shadow_*"
    RECEIVE_SHADOWS = TRUE
  }

Εφόσον αυτό το τμήμα δεν περιλαμβάνει τις παραμέτρους WALKPLANE/BLOCKED/WAYPOINT, τα meshes θα χρησιμοποιηθούν μόνο για τη προβολή της σκιάς. Αυτή η τεχνική χρησιμοποιείται και στο 3D παιχνίδι επίδειξης της WME.

Σημείωση: Δε χρειάζεται να ορίσετε τις βασικές ομάδες meshes (walk_, blk_, wpt_) καθώς αναγνωρίζονται αυτόματα.


Αν όλα αυτά σας φαίνονται πολύπλοκα στην αρχή, ελέγξτε τα αρχεία 3DS στον φάκελο του 3D παιχνιδιού επίδειξης WME για να δείτε πως πρέπει να μοιάζει μια γεωμετρία σκηνής. Αν έχετε πρόσβαση στο 3D Studio Max, μπορείτε επιπλέον να ανοίξετε το αρχικό αρχείο .MAX (βρίσκεται στον φάκελο "original files"). Περιέχει το λεπτομερές μοντέλο της σκηνής καθώς και την γεωμετρία αυτής. Τα αντικείμενα της γεωμετρίας της σκηνής είναι ορισμένα ως αόρατα ώστε να μην φαίνονται κατά το rendering. Επιπλέον είναι αποθηκευμένα με συγκεκριμένο όνομα ώστε να είναι εύκολο να τα επιλέξετε όλα για να δημιουργήσετε μετά το αρχείο 3DS (πηγαίνοντας από το μενού στην εντολή File -> Export).

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

Οι κάμερες και τα φώτα μπορούν να εξαχθούν όπως ακριβώς είναι αφού συνήθως θα χρησιμοποιήσετε την ίδια κάμερα για το rendering της σκηνής και την απόδοση των 3D χαρακτήρων στην WME. Με αυτό τον τρόπο τα τμήματα των δύο και τριών διαστάσεων θα είναι τέλεια ευθυγραμμισμένα.

Όταν έχετε πλέον εξάγει την γεωμετρία σκηνής σε αρχείο 3DS το μόνο που μένει είναι να το εισάγετε στη σκηνή της WME. Ανοίξτε τον SceneEdit και στο πεδίο 3D επιλέξτε το αρχείο 3DS. Αν περιέχει πολλές κάμερες μπορείτε να επιλέξετε τη σωστή. Επιπλέον θα πρέπει να ορίσετε και την ανάλυση του παιχνιδιού σας ώστε ο SceneEdit να δείχνει την γεωμετρία σωστά.

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