background image

• 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