MARINE ESPINASSE

Porteur(s) du projet : Marine Espinasse

Date : Mars 2017

Contexte : Cours de programmation

PROJET 1

Processing & la 3D

Ce premier projet sous Processing est un essai concernant l'importation et la manipulation d'objets 3D sur Processing. Réalisé grâce aux librairies OBJLOADER et OPENGL, qui ne fonctionnent qu'avec la version 1.5 du logiciel (et antérieure peut être également); où je n'ai pas pu intégrer la CONTROLP5 car elle n'est compatible qu'avec les versions 2.0 et ultérieures du logiciel.

Fichiers nécessaires pour l'utilisation du code

Processing 1.5.1

La librairie OBJLoader pour importer des fichiers .obj

La librairie OPENGL pour gérer la 3D et les rendus type textures (même pour les objets non texturés, le rendu des .obj est plus lisse avec cette librairie plutôt qu'avec P3D)

Code du Programme

/*
*
*
*
Marine Espinasse, DSAA 1 Design Graphique
Dans le cadre du cours de M. Muti
Prototype d'un programme permettant d'importer
et de manipuler un objet 3D dans Processing.
ATTENTION : ce programme est compatible avec
la version 1.5.1 de Processing. Les versions
ultérieures ne prennent pas en charge la
librairie saito.OBJLoader.
PS : ce programme ne comporte pas la librairie
controlP5 car elle n'est pas, pour sa part,
prise en charge par cette version de Processing.
*
*
*
*/
import processing.opengl.*; // importe la librairie opengl qui permet de gérer la 3D et les textures dans Processing
import saito.objloader.*; // importe la librairie OBJLoader, qui permet d'importer un objet 3D dans Processing
float rotX;
float rotY;
OBJModel model; // déclare le fait qu'on va avoir besoin un modèle .obj
void setup (){ // initialisation des variables du programme
size (1920,1080, OPENGL); //défini la taille de notre fenêtre
model = new OBJModel (this, "dino.obj"); // importe le fichier 3D
model.enableDebug(); // fontion de debug
model.scale(5); // redimensionne notre objet 3D
model.translateToCenter (); // centre l'objet 3D dans la fenêtre
noStroke(); // ne met pas de contour aux faces de l'objet 3D
}
void draw (){
background(200); // couleur du fond
lights (); // intégrer des lumières dans notre environnement 3D
translate(width/2, height/2);
rotateX(rotY);
rotateY(rotX);;
model.draw ();
}
void mouseDragged() // permet de faire pivoter le modèle 3D en "cliquer-glisser" avec la souris
{
rotX += (mouseX - pmouseX) * 0.01;
rotY -= (mouseY - pmouseY) * 0.01;
}

PROJET 2

Pacman via Processing

Ce second projet sous Processing est pour moi une expérimentation de jeu, en rapport potentiel avec mon projet de mémoire comme ébauche de prototype. Plus complexe, il utilise les systèmes de classes et de tableaux. A noter qu'il n'est pas encore tout à fait fonctionnel, il présente en effet des latences dans le contrôle du pacman, le joueur doit presser les touches de déplacement à chaque case pour pouvoir ramasser les billes et le jeu ne prend pas en compte le principe de “vies”.

Code du Programme

pacman.zip