MOVIEMOVIETS : MOndes VIrtuels : Enjeux, Technologie et SociétéMOVIE
 
L'évolution actuelle des technologies dans divers domaines (Réalité Virtuelle, Jeux Vidéo, calculs sur GPU, réseau HD, Internet, Téléphonie, scan 3D Lidar,...) permet d'envisager de nouvelles applications pour le grand public avec de nouveaux modèles économiques s'appuyant sur de nouveaux modèles de distribution...

De nouveaux outils et environnements de développement (Unreal, On CryEngine, Godot et bien d'autres...) permettent "à monsieur tout le monde" de concevoir des jeux vidéo (single ou multi-joueurs), des court-métrage et séquences animées (hyper-réalistes ou non), des applications innovantes sur écran ou sur casque de RV... En utilisant "simplement" les moteurs de rendu, les moteurs physiques et les moteurs de jeu fournis avec ces environnements.

Parmis ces outils c'est le "moteur"  Unity  que nous avons choisi pour la "facilité" de prise en main.
 
Vous trouverez ici quelques exercices pour faire vos premiers pas sous Unity. La version utilisée est Unity 2018, cependant les manipulations sont assez basiques (du moins pour les 3 premiers TP : "Open a door" Part I, Part II et III) et ne devraient pas poser de problème même avec des versions antérieures ou postérieures de Unity.
Télécharger et installer Unity est simple, cependant la configuration de l'éditeur de code C# sous Windows et Mac (Visual Studio) demande quelques manipulations (voir les recommandations ici). Il existe aussi une version sous Linux.
unity logo

Prise en main : Open a door (Part I)

Ce premier TP devrait vous permettre :
  • de prendre en main l'interface de Unity,
  • de comprendre la hierarchie dans le scene graph, le positionnement (relatif) et les transformations,
  • de comprendre les bases de la programmation en C# en créant des interactions simple,
  • de commencer à vous familiariser avec les messages et les textes de l'interface utilisateur (IU).
Extensions du TP :
  • Faire un Prefab et exporter la porte dans un package (A),
  • Ajoutez des bruitages pour l'ouverture et la fermeture de la porte (B).
Open a door I

Joints et physique : Open a door (Part II)

Ce TP devrait vous permettre de comprendre les mécanismes associées au fonctionnement du moteur physique : le rigidbody, les forces, les joints (charnières), ainsi que les bases de la programmation sur les GameObjects (en C#) en créant des interactions simple dans la scène.
Les joints sont très utilisés dans les jeux et pas seulement pour ouvrir des portes !
Open a door II

Animation : Open a door (Part III)

Ce TP devrait vous permettre de vous familiariser avec :
  • l'animation basée sur le Keyframing (définition de positions et d'orientation "clefs"),
  • la composition d'animation complexes à l'aide d'un automate (le contrôleur d'animation ou Animator),
  • le conditionnement des animations via de simples programmes en C#.





Navigation :  Les "NavMesh"

Dans ce TP nous explorerons un mécanisme de base de la navigation qui semble donner une certaine "intelligence" aux "non players" : ils se déplacent en évitant automatiquement les obstacles. Notons au passage que ce mécanisme s'applique aussi aux mobiles manipulés par le joueur et facilite la tâche des déplacements.
L'objectif du TP est de modéliser un "agent" se deplaçant automatiquement vers une destination (donnée à la souris) en empruntant le plus court chemin à travers un environnement couvert d'obstacles.
Navigation I

Vous pouvez charger les cours de "Modélisation pour les Mondes virtuels" en suivant les liens ci-dessous :
  1. Introduction : de la scène à l'image
  2. Modèles géométriques et gestion de l'espace