• Skinning: το mesh «δένει» με τα bones μέσω weight maps.
• Interpolation: blending ανάμεσα σε keyframes (linear, spherical interpolation).
• Animation Blending: συνδυασμός διαφορετικών animations (π.χ. walk + shoot).
3. Procedural Animation
• Κίνηση που παράγεται από αλγόριθμο (π.χ. ragdolls, inverse kinematics, procedural
walking).
Βασικές Λειτουργίες
- Playback – δυνατότητα να παίζει, σταματά, κάνει pause και loop ένα animation.
- State Machine – οργάνωση animations σε καταστάσεις (idle, walk, run, jump).
- Blending – ομαλή μετάβαση ανάμεσα σε animations.
- Event Sync – συγχρονισμός με ήχο/physics (π.χ. ήχος βημάτων σε κάθε keyframe).
Στις εμπορικές μηχανές:
Η Unity χρησιμοποιεί το Mecanim system (state machines, blending, inverse kinematics).
Η Unreal Engine διαθέτει Animation Blueprints, με πλήρη έλεγχο blending και procedural
animation. Η Godot παρέχει AnimationPlayer node για 2D/3D με timeline.
2.2.10
Multithreading (Παραλληλοποίηση)
Το multithreading επιτρέπει σε μια μηχανή παιχνιδιών να εκτελεί πολλές λειτουργίες ταυ-
τόχρονα, κατανέμοντας την εργασία σε διαφορετικούς επεξεργαστικούς πυρήνες. Αυτό μπορεί
να γίνει απαραίτητο, καθώς τα σύγχρονα παιχνίδια έχουν πολλαπλά, απαιτητικά υποσυστήματα
(rendering, physics, AI, ήχο, δικτύωση).
Βασικές Προσεγγίσεις
1. Task-based Parallelism
• Χωρισμός της εργασίας σε «tasks» (μικρές, ανεξάρτητες εργασίες).
• Χρήση ενός scheduler που κατανέμει tasks στα διαθέσιμα threads.
• Υιοθετείται σε Unreal Engine και Frostbite.
2. Data Parallelism
• Εφαρμογή της ίδιας λειτουργίας σε διαφορετικά δεδομένα ταυτόχρονα (π.χ. particle
systems).
3. Subsystem Parallelism
16