Images et Animation en 2D



Documents pareils
Réalisation d un diaporama en haute définition avec. Adobe Premiere Elements 3.0 ou Adobe Premiere Pro 2.0. Encodage pour Internet

ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE

nom : Collège Ste Clotilde

L alternative, c est malin 1. Comment faire plein de choses pour pas cher sur MacIntosh

La programmation orientée objet et le langage C++

L EFFET PARALLAXE N EST

Modules Multimédia PAO (Adobe)

Introduction à Expression Web 2

Création de jeu vidéo

Utiliser le logiciel Photofiltre Sommaire

Spécifications techniques

ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE

Un ordinateur, c est quoi?

L espace de travail de Photoshop

Créer des documents interactifs

JPEG, PNG, PDF, CMJN, HTML, Préparez-vous à communiquer!

Créer un diaporama avec OpenOffice.org Impress

Support de TD ArcGIS Introduction à l automatisation et au développement avec ArcGIS 10.1 JEAN-MARC GILLIOT e année ingénieur

Création d une SIGNATURE ANIMÉE avec PHOTOFILTRE 7

Traitement numérique de l'image. Raphaël Isdant

Mise en scène d un modèle dans l espace 3D

1. Avoir un fichier InDesign correct :

Riddle Blocks. Jeu sous Android. - Yann Bertrand. Membres de l'équipe : - Clément Guihéneuf TS5. - Guillaume Renotton TS4

imovie 11 Créer un projet Menu / Fichier / Nouveau projet... Choisir le format : Standard (16/9). Importer des «!plans!» 1.

Virtual Universe aperçu numéro 1

Pour les futurs développeurs Sommaire

Dans l Unité 3, nous avons parlé de la

SolidWorks edrawings et publications

Comment faire passer un message

Chapitre 1 L interface de Windows 7 9

Les tablettes numériques en EPS. Repères. Les différents types de tablettes et leurs caractéristiques.

L environnement de travail de Windows 8

Chapitre 4 Pierre, papier, ciseaux

Travaux pratiques Détermination de la capacité de stockage des données

Création de maquette web

L informatique en BCPST

ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE

Découvrez Windows NetMeeting

Créer un premier document avec Pages

INTERWRITE Workspace

LES SITES D'ÉCOLES S'AGITENT...

Infolettre #18 : Les graphiques avec Excel 2010

Comment optimiser dans ImageReady?

AIDE à l utilisation du cédérom «L athlétisme à l école» Niveau Primaire SOMMAIRE

TD : Codage des images

Keynote 08 Guide de l utilisateur

Niveau 1. Atelier d'initiation à l'ordinateur ... Fondation de la Bibliothèque Memphrémagog inc. Magog (Québec) J1X 2E7 Tél.

Windows 8 : une petite révolution? 9. Démarrer Windows Accéder au Bureau à la connexion 13. Ouvrir ou activer une nouvelle session 13

Optimiser les s marketing Les points essentiels

Microsoft Windows XP. Movie Maker 2

Ladibug TM 2.0 Logiciel de présentation visuel d'image Manuel de l utilisateur - Français

Démarrer et quitter... 13

Lutter contre les virus et les attaques... 15

ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE

TUTORIEL PAINTPOT. Louise Henninot - Anne- Cécile Patou - Julie Roquefort

2013 Pearson France Adobe Illustrator CC Adobe Press

TD de supervision. J.P. Chemla. Polytech Tours Département productique 2ème année

Utilisation du logiciel GALAAD

Cours de numérisation sur Epson Perfection

Table des matières ENVIRONNEMENT

Club informatique Mont-Bruno Séances du 20 février et du 11 mars 2009 Présentateurs : Réjean Côté et André Charest

Mode d emploi de la clef USB de l I.P.I. Philosophie de la clef USB

I00 Éléments d architecture

SOMMAIRE. Présentation assistée sur ordinateur. Collège F.Rabelais 1/10

Tutorial the gimp : montage photo telephone portable

EPIJEUX-WIN POUR MATERNELLE ET ELEMENTAIRE AUTEUR : JEAN-FRANÇOIS LUCAS. Documentation. «Labypro»

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

Logiciel PICAXE Programming Editor

Guide d utilisation de la clé mémoire USB

PROSPECTION CLIENTS. À Présentation : PROSPECT. 2 Téléchargement. 3 Installation. 6 Ecran d accueil. 7 Paramétrage. 13 Utilitaires

Le logiciel de création de site internet IZISPOT est un outil très puissant et qui est assez simple après quelques temps d utilisation.

+33 (0) Sarl ISB Altipolis2 av. Du Général Barbot Briancon - France

Mac OS X 10.6 Snow Leopard Guide d installation et de configuration

Rapport projet MMI. Luis Domingues, I3 Naomi Favre, I3 Tiago De Deus, I3. Luis Domingues, Tiago De Deus, Naomi Favre SP Interfaces Multimodales

pcon.planner 6 Préparer et présenter une implantation en toute simplicité

ADVENTURES IN FRONT OF THE TV SET Dossier pédagogique

Créer et partager des fichiers

Logiciel ArpentGIS-PC Guide de l utilisateur

Quel PC pour quels usages? 1) PC de Bureau ou Portable? Les différents types de portables. - Les ultra-portables. - Les portables généralistes

Projet Robot Centaure

«Connais toi toi-même comme l as dit Socrate!»

WHITE PAPER. Quels avantages la déduplication offre-t-elle aux entreprises? Livre blanc Acronis

Centre de formation: Collège IBN BASSAM - TEMARA. Ce cours est proposé par le professeur d informatique:

FICHE 17 : CREER UN SITE WEB

BUREAU VIRTUEL. Utilisation de l application sur ipad. Guide utilisateur. Sciences Po Utilisation du bureau virtuel sur ipad 1 / 6

Les tablettes. Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration

INITIATION A L INFORMATIQUE. MODULE : Initiation à l'environnement Windows XP. Table des matières :

Les images et les animations sur le web. Guérineau Chloé BTS2 Année 2001/2012

Microscope numérique portable Celestron (HDM) Modèle nº Informations, spécifications et instructions

TABLE DES MATIÈRES 1. DÉMARRER ISIS 2 2. SAISIE D UN SCHÉMA 3 & ' " ( ) '*+ ", ##) # " -. /0 " 1 2 " 3. SIMULATION 7 " - 4.

Rapport de Mini-Projet en ArcGIS Engine

Synchroniser ses photos

Organiser ses photos sur l ordinateur

Groupe Eyrolles, 2003, ISBN : X

GUIDE Excel (version débutante) Version 2013

Réalisez votre propre carte de vœux Éléctronique

Transcription:

Images et Animation en 2D Présentation et Auteur: Mail: Stephane.Lavirotte@unice.fr Web: http://stephane.lavirotte.com/ Université de Nice - Sophia Antipolis

Images dans les Jeux Vidéo Un peu d Histoire 10/25/2013 2

Quelques grands succès de jeux Space Wars (1977) Asteroid (1979) BattleZone (1980) Tempest (1981) Star Wars (1983) Des Jeux avec des Graphismes Vectorielles Mais les dessins vectoriels n ont pas reçu les faveurs des entreprises du jeu Coût élevé réparations sur le matériel d affichage A noter: La Console Vectrex (1982) propose un affichage vectoriel grâce à un moniteur dédié 10/25/2013 3

vers la 3D (représentation en Fil de Fer) Mais ça c est une autre histoire: Elite de NVG en 1984 Simulateur de vol galactique Créé par David Braben et Ian Bell Sur BBC Micro puis NES, Amstrad CPC, Elite est généralement considéré comme l'un des jeux les plus innovants de l'histoire du jeu vidéo Starglider en 1986 Simulateur de combats spatiaux Inspiré de Star Wars Sur ATARI ST, Amiga, Mac, Amstrad CPC, ZX Spectrum (meilleur jeu en 86), Apple II, Commodore 64 10/25/2013 4

Introduction Des images oui, mais des Sprites 5

Des images pour tout Des images pour tous les éléments du jeu ou presque Image de fond ou imagettes pour la construction du terrain Dessin des plateformes Icons pour les objets du jeu Dessin des personnages et animation Images pour l écran d accueil Images pour les textures des modèles 3D Mais aussi éventuellement Menus: boutons, décor des fenêtres, des listes, Affichage de données (score, texte, ) même si on préfèrera les polices de caractères Images de transitions dans les séquences de jeu 2D Donc beaucoup d images de différents types à gérer 6

Exemples de Jeux 2D (ou mélange 2D majoritaire/3d) Jeux «anciens» Plus de jeux 2D que de 3D Jeux récents: De nombreux Hits en 2D Pokémon Platine (2008) Mario et Luigi : Voyage au centre de Bowser (2009) Pokémon HeartGold et SoulSilver (2009-2010) Pokémon Noir et Blanc (2010-2011) 10/25/2013 7

Des images fixes Eléments de décor Dessin du terrain Icons Eléments avant plan Figurines Ecrans de titre 8

Sprite Représentation visuelle de tous les objets ou éléments graphique qui peuvent se déplacer à l écran En français: un lutin Soit une simple image Soit une série d images que l on animera par programmation Usage des Sprites Technique fondamentale en jeux vidéo 2D Le plus connu des sprites:? le pointeur de souris 9

Sprite: On a toujours besoin d un plus petit que soi! Historiques Actuels 10

Sprites pour la 3D aussi Le terme sprite n est pas réservé aux petites images 2D basse-résolution Se retrouve également dans les jeux 3D Traitement de l interface graphique Simplification des objets Effets spéciaux Systèmes de particules 10/25/2013 11

Où trouver des Sprites? Soit on créé ses propres sprites Finesse du travail (quelques pixels avec des animations) Travail confié aux professionnels du genre! Soit on récupère des sprites intéressants Difficile à modifier après création Bibliothèques de sprites existantes Inclus dans les jeux comme RPG Maker XP ou VX http://reinerstileset.4players.de/englisch.html http://www.flyingyogi.com/fun/spritelib.html http://jeux.developpez.com/medias/#a_sprites Faites toujours attention aux droits quand vous récupérez! 12

Planches d images: Sprite Sheet Sprite Sheet «Tile» ou tuile concernant les éléments de décor (cases) «Découpage» en briques élémentaires Taille fixée (souvent une puissance de 2: 32, 64 ou 128) 13

Pourquoi plusieurs Images en un seul Fichier Un nombre important d images pour tous les éléments du jeu Si chaque image est un fichier: de nombreux petits fichiers Problème de stockage sur le disque dur Problème de vitesse au chargement Donc la solution est de faire des planches d images Meilleur rapport de compression (suivant le format utilisé) Plus rapide à lire sur le disque dur Redécouper l image pour avoir les différents mouvements Obligation de choisir une taille fixe à chaque type d élément Dans les langages de bas niveau pour changer d image, il suffit de bouger un pointeur sur l image 14

What is a Sprite Sheet? 10/25/2013 15

Chargement et Positions Charger l image contenant toutes les imagettes Retrouver les positions de chaque élément def split(spritesheet, width, height): sprite = [] for l in range(nombre de lignes): line = [] for c in range(nombre de colonnes): x, y = c * width, l * height rect = (x, y, width, height) line.append(spritesheet.img_at(rect)) sprite.append(line) return sprite Attention s il y a des espaces de «séparation» entre les images (lignes de délimitation) 16

Animation 17

Qu est ce que l Animation 2D Donner l illusion d un mouvement à partir d images fixes Découpage en séquences d images Comme pour le mouvement, le temps importe Le temps indexe la position courante dans l animation Exemple: Un personnage qui marche 18

Et pourquoi pas un gif animé? Gif animé: Image contenant une séquence d images fixes Temps d attente entre deux images Donne l illusion du mouvement par affichage successif Mais: Nécessite un thread spécifique pour réaliser l animation On n a pas de contrôle dynamiquement sur l animation Pas de contrôle fin possible sur les enchainements Ou nécessite de faire le contrôle de l affichage manuellement PyGame et de nombreuses librairies pour le jeu ne gèrent pas les gif animés: solution non viable! 19

Sprite Sheet: Personnage Solution: animation «à la main» «Découpage» Problème Quelle animation correspond à quelle image? Système rigide de règles Stocker les informations nécessaires 20

Qualité de l Animation La qualité de l animation dépend du nombre de dessins Un des premiers très bon exemple: Prince of Persia Ex: boire une fiole: 15 dessins pour la prendre et la boire Plus on est proche des 24 images par secondes, plus l animation sera fluide 10/25/2013 21

Sprite Sheet Effets Spéciaux Identique aux Personnages Animation pour les effets spéciaux En 2D bien sûr Mais en 3D aussi Evite des calculs couteux http://www.sparkrift.com/tag/live 22

Déplacer un objet à chaque frame Maîtriser la vitesse du déplacement Contrôle de la Vitesse d Animation On ne déplace pas l objet d une valeur fixe à chaque tour de boucle Chaque objet a un paramètre de déplacement (vitesse) Basé sur l utilisation d une horloge Evite les problèmes de performances variables des processeurs Gère la durée des cycle de boucle inégaux (on peut avoir plus de choses à faire à certains moments, mais l animation doit rester fluide) Comptabilisation du temps écoule à chaque tour de boucle Déplacement = Vitesse x Temps Valable tant en 2D qu en 3D 23

Un Affichage en Couches Affichage du plus loin au plus près Eléments du terrain ou fond d écran Eléments bâtiments, plates-formes Objets Personnages de premier plan Utilisation de la notion de calques Méthode inspirée de l animation du dessin animé Un ou plusieurs calques pour les décors, un calque pour les personnages, 24

Optimisation pour l affichage Ne redessiner que ce qui a changé: Animation sans Problème d Affichage Dans la mesure du possible, on ne redessine pas, on bouge le calque Limite les changements à effectuer sur l image Double Buffering: Technique utilisée pour minimiser les artéfacts visuels dus au temps nécessaire pour dessiner Image entièrement redessinée environ 60 fois par secondes sur le moniteur Difficile de ne pas avoir le dessin d animation sans que l image soit complètement modifiée (risque de voir une modification partielle) Toute la page ou les portions modifiées de la page sont copiés en une seule opération 25

Organisation de l Espace Un espace limité qu il faut gérer 26

Un Espace d Affichage Limité Ecran Un des principaux vecteurs de communication entre la machine et l utilisateur Envahissent notre quotidien (tv, téléphone, voiture, ) Est très limité en taille en particulier pour un jeu Important de se poser des questions pour une bonne gestion de cet espace d affichage Différents types d utilisation de l espace que l on peut trouver dans les programmes interactifs (jeux ou autres) Les interfaces actuelles sont des combinaisons des différentes techniques de base inventées il y a plus de 40 ans 27

Différents Types d Affichages Ecran texte (vers 1955): Zork Ecran autonome (1972): Pong, Space invaders Ecran infini (1979): Asteroïd, PacMan Scrolling sur 1 axe (travelling) (1980): 1942, Defender Scrolling sur 2 axes: Populous, Sim City Montage (1980): Berzerk Scrolling différentiel: Sonic Axe des Z (profondeur) (1967): Night Driver, Pole Position Vues Multiples (split-screen): Ultima 3, Warcraft, Perspective: FPS (Doom, Unreal), TPS (Tomb Raider) 28

Texte Autonome Infini Scrolling 1 axe Scrolling 2 axes Montage Scrolling différentiel Axe des Z Vues Multiples 29

Scrolling Différentiel Scrolling différentiel ou Scrolling parallax Vise à donner une impression de profondeur Technique basée sur une vitesse légèrement variable de portions de décors Technique utilisée dans les dessins animés Déplacement relatif des Calques Les plus proches bougent plus vite Les plus éloignés moins vite 30

Du faux 3D mais du vrai 2D 3D Isométrique Fausse 3D Représenter en 2D une partie d un espace en 3D Prise de vue, plongeante (à 45 ) Donne un effet de profondeur Le joueur a l'impression de jouer dans un univers en 3D Renforcé par l ajout d ombre sur les sprites Permet de faire des graphismes très travaillés Plus simple à gérer que de la vrai 3D Utilisé dans de nombreux jeu Warcraft 2 Simcity 2000 31

Glossaire Des fonctions utiles pour le TD 25/10/2013 32

Glossaire de Commandes pour les Travaux Dirigés pygame.image.load(filename) load new image from a file pygame.transform.rotate(surface, angle) Rotate an image Surface.get_at((x, y)) get the color value at a single pixel Surface. set_colorkey(color, flags=0) Set the transparent colorkey Surface.get_rect() Get the rectangular area of the Surface ramdom.randint(min, max) (import random) Return a random integer N such that min <= N <= max pygame.sprite.sprite() Simple base class for visible game objects pygame.sprite.group() container class for many Sprites pygame.sprite.spritecollide(sprite, group, dokill, collided = None) find Sprites in a Group that intersect another Sprite 33