Unity. La réalité augmentée. avec. Guide du développeur. (exemples et solution complète avec C#) La réalité augmentée avec Unity

Documents pareils
Unity. Moteur de jeu 3D et 2D. Cross platform: Windows, Mac, Linux, ios, Android, Blackberry, Xbox, Playstation, Wii

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

INCORPORER EXCEL EN LIGNE DANS UN FICHIER CRÉÉ AVEC L ÉDITEUR DE TEXTE 15 avril 2015

Installer Office sur Ordinateur / Tablette / Smartphone

Business Intelligence

Synchroniser ses photos

Le Registre sous Windows 8 architecture, administration, script, réparation...

Mode d emploi CONNEXION AU TERMINAL SERVER

pas à pas prise en main du logiciel Le Cloud d Orange - Transfert de fichiers sur PC et MAC Le Cloud

SPECIFICATIONS TECHNIQUES : Gestion des Médicaments et des commandes de médicaments

domovea Portier tebis

Manuel de Documents. Introduction Format des fichiers lus Fonctions supplémentaires Copier et partager des fichiers...

Office Pro Plus. Procédures d installation. Direction des Systèmes d Information Grenoble Ecole de Management. Date de publication Juin 2014

Utilisation d une tablette numérique

Introduction à Windows 8

Poste virtuel. Installation du client CITRIX RECEIVER

Avant-propos Certificats et provisioning profiles

Isadora. Photo jpeg qualité 50% %, 320X240. Prérequis

Android. Programmation. De la conception au déploiement avec le SDK Google Android 2. Damien Guignard Julien Chable Emmanuel Robles

Guide d utilisation. Version 1.1

GMIN 330 Nancy Rodriguez

Avec sauvegardez sans y penser, partagez et bougez, vos données vous suivent! Retrouvez tous vos services du cloud pro en cliquant ici.

MOBILE BANKING. Accès à vos opérations bancaires avec «BL Mobile Banking»

Gestion des sauvegardes

Accélérez votre émulateur Android

Point sur les solutions de développement d apps pour les périphériques mobiles

Page : N 1. Guide utilisateur Ma Banque

Extended Communication Server 4.1 : VoIP-SIP- Guide Utilisateur

TD/TP 1 Introduction au SDK d Android

Comment consulter les e- books à l Université de Lorraine?

MANUELS NUMÉRIQUES PROCÉDURE DE TÉLÉCHARGEMENT

Pré-requis pour les serveurs Windows 2003, Windows 2008 R2 et Windows 2012

Installation et prise en main

Firefox pour Android. Guide de l utilisateur. press-fr@mozilla.com

Introduction à Eclipse

Mettre en place un accès sécurisé à travers Internet

Optimiser pour les appareils mobiles

OCLOUD BACKUP GUIDE DE REFERENCE POUR ANDROID

L écran du marais : Comment configurer le viewer OpensSim

Paiement sécurisé sur Internet. Tableau de bord Commerçant

Prise en main rapide

Pré requis Microsoft Windows Server 2008

Système Principal (hôte) 2008 Enterprise x64

cbox VOS FICHIERS DEVIENNENT MOBILES! POUR ORDINATEURS DE BUREAU ET PORTABLES WINDOWS ÉDITION PROFESSIONNELLE MANUEL D UTILISATION

Création du projet : 1 sur 13

Unity Real Time 2.0 Service Pack 2 update

C RÉATION DE PDF (1) Cours SEM 205 Mieux utiliser le format PDF

Spétechs Mobile. D e r n i è r e m i s e à j o u r : a o û t 2014

Installation Client (licence réseau) de IBM SPSS Modeler 14.2

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

UTILISATION DU LIVRE NUMÉRIQUE

RECORD BANK RECORD BANK MOBILE

TP Blender n 2 : Importation d un modèle SketchUp et animation

Recommandations techniques

Guide utilisation SFR Sync. SFR Business Team - Présentation

WINDEV MOBILE. ios SMARTPHONE SUPPORT: IOS, ANDROID, WINDOWS PHONE 8.

L environnement de travail de Windows 8

Utilisation de GCM (Google Cloud Messaging) pour Android. Partie préliminaire éventuelle : Création d'un AVD lisant GCM

Installation et compilation de gnurbs sous Windows

GUIDE D UTILISATION DU LOGICIEL DE TELE-MAINTENANCE. TEAM VIEWER Version 7.

Contrôler un ordinateur à distance avec Google Chrome

Seagate Technology LLC S. De Anza Boulevard Cupertino, CA 95014, États-Unis

Groupe Eyrolles, 2003, ISBN : X

Utiliser des logiciels Windows sous Linux Ubuntu

Android Usage Professionnel

Réaliser une démonstration ShoreTel

Comment sélectionner des sommets, des arêtes et des faces avec Blender?

Spétechs Mobile. Octobre 2013

Partage de fichiers entre MacOS X et Windows. Partager des fichiers, avec un PC, en travaillant sous MacOSX.

Migration d un compte messagerie consulté en ligne sur l ENTG

Environnement logiciel open source pour la création d œuvres artistiques interactives

INSTALLER LA DERNIERE VERSION DE SECURITOO PC

Prendre en main le logiciel ActivInspire 1.4

Logiciel de gestion pour restaurants et Bars

HTML5, CSS3 et JavaScript Développez vos sites pour les terminaux mobiles

Guide d installation

Initiation à l utilisation de la micro-informatique Internet Explorer 7. Mode d emploi.

Préparation d une flotte d IPADS dans une école via ITUNES

Mise en route de Cobian Backup

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

PHILA-Collector-USB-16Go Pour Windows & Android

Installer Enterprise Miner 5.1 en SAS environnement Windows

Spétechs Mobile. D e r n i è r e m i s e à j o u r : s e p t e m b r e

Java 7 Les fondamentaux du langage Java

MODE D EMPLOI OUTLOOK ADD-IN POUR SELECTLINE

Béatrice Bertrand CDDP de l Eure. Béatrice Bertrand CDDP de l'eure

UserLock Guide de Démarrage rapide. Version 8.5

Service de Virtualisation de la DSI UJF

Notice de fonctionnement DVR H Méthode de Visionnage ESEENET

HERCULES DJ AUDIO PROCEDURES MISE A JOUR FIRMWARE

Table des matières. Module tablette

Présentation de la plateforme WINDCHILL. Invitation à rejoindre la plateforme

Eclipse atelier Java

ProSimPlus HNO3 Résumé des nouvelles fonctionnalités, décembre 2008

HAYLEM Technologies Inc.

Transmetteur Wifi Heden NOTICE D UTILISATION

Enregistrement de votre Géorando Maxi Liberté

Qu est ce que Visual Guard. Authentification Vérifier l identité d un utilisateur

L espace de travail de Photoshop

Utiliser Freemind à l'école

Transcription:

Les premiers chapitres présentent les différentes caractéristiques de la réalité augmentée ainsi que son utilisation, et un apprentissage du moteur temps réel Unity qui servira de support d implémentation pour la suite du livre. Ensuite, les différentes interactions entre les entités virtuelles et réelles sont étudiées à l aide du langage de programmation C# sous l environnement Mono. L ajout du composant de réalité augmentée et l étude de marqueurs sont décrits à l aide de nombreux exemples pratiques. Enfin, le développement complet d une application de réalité augmentée pour smartphone est étudié à travers un chapitre entier, qui expose la réflexion sur l architecture, les contraintes techniques et le déploiement, en apportant à chaque problème une solution concrète et fonctionnelle. Tous les codes sources du livre ainsi que les versions compilées sont disponibles en téléchargement sur le site www.editions-eni.fr. Les chapitres du livre Avant-propos Appréhender la réalité augmentée Comprendre et utiliser Unity Étude d un framework de réalité augmentée Exemple d un projet de réalité augmentée Aller plus loin ISSN 1960-3444 ISBN 978-2-7460-9062-0 9 782746 090620 54 Stéphane DORLAC est Chef de Projet, Architecte en développement, spécialisé en environnement.net. Ses domaines d intervention sont variés : téléphonie, paiement en ligne, mobilité, serious games Autour de la réalité augmentée, et en s appuyant sur Unity pour la réalisation technique, il fournit au lecteur les connaissances nécessaires pour réaliser des applications fiables et productives qui répondent aux attentes générées dans le monde de l entreprise par ce nouveau concept. Plus d informations : Guide du développeur C# Ce livre s adresse à un public de développeurs désireux d apprendre à développer leurs propres solutions de réalité augmentée à l aide du moteur 3D temps réel Unity. Grâce à une approche pratique et didactique, l auteur permet aux lecteurs d entrer rapidement dans le vif du sujet : après avoir analysé les modalités nécessaires à l élaboration d un projet de réalité augmentée, vous apprendrez à déployer des applications de réalité augmentée sur des terminaux mobiles (Android, ios, Windows Phone, ) mais aussi sur PC, Mac ou Linux. Une connaissance générale de la programmation est requise afin d exploiter au mieux le contenu de cet ouvrage. Guide du développeur (exemples et solution complète avec C#) La réalité augmentée avec Unity Guide du développeur (exemples et solution complète avec C#) Sur www.editions-eni.fr : b Code source des exemples. b Code source d une application mobile. Téléchargement www.editions-eni.fr.fr Stéphane DORLAC

Table des matières 1 Les éléments à télécharger sont disponibles à l'adresse suivante : http://www.editions-eni.fr Saisissez la référence ENI du livre EPREAUC dans la zone de recherche et validez. Cliquez sur le titre du livre puis sur le bouton de téléchargement. Avant-propos Chapitre 1 Appréhender la réalité augmentée 1. Les concepts généraux...................................... 7 1.1 La réalité augmentée.................................... 7 1.2 Les différents types d implémentation..................... 9 1.3 Les applications du marché............................. 11 2. L environnement de travail................................. 13 2.1 Le choix d Unity 3D comme moteur temps réel............ 14 2.2 Le choix de l environnement de développement............ 17 2.3 Les différentes plateformes............................. 19 3. Les pré-requis et rappels.................................... 21 3.1 Informations sur la programmation objet pour Unity....... 22 3.2 Un environnement 3D temps réel........................ 25 3.3 Les outils de développement conseillés.................... 29 4. Conclusion.............................................. 30 Chapitre 2 Comprendre et utiliser Unity 1. L interface utilisateur...................................... 31 1.1 L organisation des fenêtres de travail..................... 32 1.1.1 L onglet Scene................................... 34 1.1.2 L onglet Game................................... 36 1.1.3 L onglet Project.................................. 38

2 Guide du développeur C# 1.1.4 L onglet Inspector................................ 40 1.1.5 L onglet Hierarchy............................... 44 1.1.6 L onglet Console................................. 46 1.2 Les menus........................................... 48 1.2.1 La gestion du projet avec les menus File et Edit........ 48 1.2.2 La gestion des scènes avec les menus File et Edit....... 53 1.2.3 La gestion des Assets avec les menus GameObject, Assets et Components............................ 55 1.3 Paramétrer son espace de travail......................... 57 1.3.1 Les différents Layouts............................ 58 1.3.2 Modifier un environnement de travail............... 59 2. Les différentes entités conceptuelles.......................... 62 2.1 Présentation des entités................................ 62 2.1.1 Les scènes...................................... 63 2.1.2 Les GameObjects................................ 65 2.1.3 Les Components................................. 68 2.2 Combinaison de contenus.............................. 71 2.2.1 Les Prefabs...................................... 72 2.2.2 Les Assets et les Packages.......................... 74 2.3 La gestion de la caméra................................. 76 2.3.1 Le GameObject Camera........................... 76 2.3.2 Gérer plusieurs caméras dans une scène.............. 81 3. Les interactions entre les différentes entités.................... 85 3.1 Programmer les scripts et comprendre MonoBehaviour...... 85 3.1.1 Création des scripts.............................. 86 3.1.2 Rôle de MonoBehaviour........................... 92 3.1.3 Scripts de conception............................ 96 3.1.4 Communication entre les entités................... 98 3.1.5 La gestion des préférences utilisateur............... 105 3.2 Les outils pour déboguer son code....................... 109 3.2.1 L objet Debug et le Log........................... 109 3.2.2 Les points d arrêt avec MonoDevelop............... 116

Table des matières 3 3.3 La gestion différée des actions sous Unity................ 121 3.3.1 L invocation................................... 121 3.3.2 Les Coroutines................................. 125 3.4 Définir une interface utilisateur........................ 130 3.4.1 Les outils de création d interfaces utilisateur......... 131 3.4.2 La gestion d une interface avec NGUI............... 141 4. Les différentes plateformes................................ 155 4.1 Connaître les principaux formats de sortie................ 156 4.1.1 Les applications Standalone....................... 156 4.1.2 Les applications ios............................. 161 4.1.3 Les applications Android......................... 162 4.1.4 Les applications Windows Store................... 165 4.1.5 Les applications Windows Phone 8................. 167 4.1.6 Les applications WebPlayer....................... 168 4.2 Gestion des contraintes liées aux plateformes............. 170 4.2.1 Les applications pour mobile...................... 171 4.2.2 Le WebPlayer et sa Sandbox...................... 176 5. Conclusion............................................. 181 Chapitre 3 Étude d un framework de réalité augmentée 1. Le plug-in de réalité augmentée............................. 183 1.1 Vue d ensemble...................................... 184 1.1.1 L architecture proposée.......................... 184 1.1.2 Utilisation du Target Manager.................... 187 1.2 Gérer le contenu..................................... 194 1.2.1 Gestion du contenu par des marqueurs............. 194 1.2.2 Conseils et bonnes pratiques...................... 198 2. L intégration dans Unity.................................. 200 2.1 Présentation et installation............................ 200 2.1.1 Récupération du plug-in et installation............. 200 2.1.2 Les Prefabs du plug-in............................ 204

4 Guide du développeur C# 2.2 Marqueurs et fonctionnalités avancées................... 211 2.2.1 Exemple d un marqueur de type Image............. 211 2.2.2 Les boutons virtuels............................. 227 2.2.3 L utilisation du cloud............................ 240 3. Conclusion............................................. 254 Chapitre 4 Exemple d un projet de réalité augmentée 1. Définition et préparation.................................. 255 1.1 Structurer le projet................................... 255 1.1.1 Définition du périmètre fonctionnel................ 256 1.1.2 Choix de la plateforme de sortie................... 258 1.2 Définition du contenu................................ 259 2. Développer l application.................................. 261 2.1 Le projet Unity...................................... 262 2.1.1 Mise en place et configuration..................... 262 2.1.2 Import des Assets............................... 265 2.1.3 Le Manager d application......................... 266 2.1.4 La localisation.................................. 268 2.2 Intégration de la réalité augmentée...................... 274 2.2.1 Création des marqueurs.......................... 274 2.2.2 Création de la base de données de marqueurs........ 277 2.3 Gestion des scènes................................... 281 2.3.1 Les scènes satellites.............................. 281 2.3.2 La scène principale.............................. 297 2.4 Déploiement et améliorations.......................... 311 2.4.1 Compiler et déployer sur Android................. 311 2.4.2 Conclusion.................................... 314

Table des matières 5 Chapitre 5 Aller plus loin 1. L Asset Store............................................ 317 1.1 Des composants et plug-ins conseillés................... 318 1.2 Créer et monétiser avec l Asset Store.................... 320 2. L aspect social et les communautés.......................... 329 2.1 Les réseaux sociaux dans les applications................. 329 2.2 Ressources web...................................... 333 3. En conclusion........................................... 334 Index.................................................. 335

Chapitre 2 Comprendre et utiliser Unity 1. L interface utilisateur Comprendre et utiliser Unity Unity propose une interface riche et intuitive. Facilement personnalisable, elle permet à l utilisateur de configurer rapidement un environnement de travail qui lui est propre, ceci afin de gagner en productivité. Le but de cette section n est pas d'expliquer un à un tous les éléments que comportent les menus et les barres d outils (la documentation du produit remplit bien son office), mais plutôt d en expliquer les éléments les plus utiles et les plus utilisés, en fournissant les informations nécessaires au lecteur tout en restant dans le cadre du projet de l ouvrage. L objectif annoncé est de fournir au lecteur les moyens de naviguer dans les différentes vues et menus en toute connaissance des tenants et aboutissants de chacun et enfin de lui permettre de configurer au mieux l interface qu il jugera la plus pertinente pour son projet d application.

32 Guide du développeur C# 1.1 L organisation des fenêtres de travail Pour appréhender l interface proposée par Unity, il convient de définir préalablement les modalités de fonctionnement du système. En effet, il est possible de considérer Unity comme un agrégateur de contenu qui intègre une série d outils pour faciliter leur interaction. Il est possible de modifier des comportements de ces éléments soit par du code, soit dans l éditeur intégré, et pour gérer ces modifications l utilisateur aura besoin de repères graphiques et numériques dans un espace de travail, d outils de saisie de valeurs, de fenêtres de visualisation d état, d un plan de travail, d outils de contrôle et d optimisation et enfin d un référentiel de contenu. Pour répondre à ces attentes, Unity propose différentes vues et outils que nous allons présenter. L espace de travail : Unity expose deux vues à travers l onglet Scene et l onglet Game. Ces vues représentent respectivement l espace de travail dans lequel la manipulation des différents objets est possible, et le rendu final lors de l exécution. La gestion du contenu disponible : à l aide de l onglet Project, Unity référence dans ce dernier la liste des éléments que va contenir l application. Cela concerne aussi bien les scripts que les objets 3D ou la musique. Il s agit d un référentiel de tous les éléments qui vont constituer le projet. Les manipulateurs visuels : une barre d outils est proposée par Unity. Cette dernière donne la possibilité à l utilisateur de modifier la position, la rotation et la taille des éléments présents dans l onglet Scene. Une autre section de cette barre d outils propose une gestion de calques (que nous étudierons plus loin dans la section) et enfin une partie dédiée à la configuration de l interface. Les modifications de valeurs : Unity propose deux onglets intiment liés. Il s agit de l onglet Hierarchy et de l onglet Inspector. L onglet Hierarchy comporte les éléments présents dans la scène (représentés graphiquement dans l onglet Scene) et l onglet Inspector expose les différentes modifications possibles sur l élément sélectionné dans Hierarchy. Editions ENI - All rights reserved

Comprendre et utiliser Unity Chapitre 2 33 Le suivi : avec l aide de l onglet Console, Unity expose à l'utilisateur un outil de contrôle. Cet outil fournit des informations lors de l exécution du projet mais aussi lors de l ajout ou la modification de code dans les différents scripts, afin de donner un état de validation. L utilisateur pourra ajouter ses propres informations lors de l exécution du projet afin d assurer un suivi d exécution, comme nous le présenterons plus loin dans ce chapitre. La capture ci-dessous illustre l organisation proposée par Unity lors du lancement d un projet sur une plateforme PC. Nous pouvons noter la présence de différentes vues gérées à l aide d onglets et la présence d un élément nommé Main Camera ajouté par défaut à l onglet Hierarchy. Les informations contenues dans l onglet Project sont celles importées lors de la création du projet. Une fois cette vue générale établie, il convient de se pencher sur chaque onglet afin d en expliquer les subtilités.

34 Guide du développeur C# 1.1.1 L onglet Scene Cet onglet va prendre une place prépondérante dans l interface générale. L utilisateur va manipuler une multitude d objets dans cette dernière. Plusieurs sous-menus occupent le haut de cette fenêtre. Le mode d affichage : il s agit du type d affichage, qui propose entre autres la possibilité d afficher les objets 3D de façon texturée ou non par exemple. Le mode de rendu : il permet quant à lui de modifier le rendu de cette fenêtre (et non le rendu final de la scène une fois l exécution lancée), ce qui peut s avérer pratique pour positionner des objets à l aide de la transparence. Le mode 2D/3D : alterne entre une vue 2D ou 3D de la scène. L affichage des lumières : ce menu permet le rendu des lumières de la scène sur les objets (et uniquement sur l onglet Scene et non pas lors de l exécution de l application). L affichage des effets sonores : permet d afficher sur l onglet Scene les effets sonores, afin de les positionner par exemple. L affichage des effets visuels : permet l affichage sur l onglet Scene des effets visuels à l aide de sélecteurs à cocher. L affichage des Gizmos : avec ce menu, il est possible de gérer finement les Gizmos, qui sont des repères scéniques visuels. Si nous prenons par exemple une entité de type Camera, qui n a d autre but que de permettre à l utilisateur final de voir la scène en cours, cette entité fournit un service mais n a pas de consistance 3D visuelle. Afin de la manipuler (déplacement, rotation du point de vue, etc.), l utilisateur a besoin de la voir dans l onglet Scene. Le Gizmo est utilisé pour cela. D autres Gizmos sont disponibles et affichables ou pas depuis ce menu. La recherche : ce menu est très utile lorsque les scènes sont complexes et comportent de nombreux objets. Lorsque l utilisateur entre le nom de l objet, ce dernier se met en surbrillance dans la scène, ce qui est fort utile pour le repérer. Editions ENI - All rights reserved

Comprendre et utiliser Unity Chapitre 2 35 La capture d écran ci-dessous illustre la représentation du menu de l onglet Scene. Pour naviguer dans une scène, les actions suivantes sont disponibles : Déplacement : un clic droit plus un mouvement de la souris. Le pointeur se change en main et la vue change en suivant le mouvement de la souris. Zoom : le zoom s effectue à l aide de la molette de la souris. Il est aussi possible d effectuer cette opération en utilisant la touche [Alt] avec un clic droit tout en effectuant un mouvement avec la souris. Rotation : la touche [Alt] plus un déplacement de la souris permet d effectuer une rotation de la vue actuelle autour d un point de pivot. Un clic droit plus un mouvement de la souris fait pivoter la caméra de la vue. Enfin, l onglet Scene propose un manipulateur de vue. Ce dernier (illustré dans la capture d écran ci-dessous) permet d afficher rapidement la vue selon les axes désirés (X, Y ou Z) dans une vue de type perspective ou isométrique. Ce manipulateur est à mettre en relation avec les boutons de la barre d outils qui permettent des manipulations de l objet sélectionné selon les axes choisis. Les manipulations peuvent être liées au déplacement, à la rotation ou à la taille. Ces actions sont possibles à l aide des boutons que l on aperçoit dans la capture ci-dessous.

36 Guide du développeur C# 1.1.2 L onglet Game Cet onglet représente le rendu final de l application. Contrairement à l onglet précédent, cette vue est liée à la caméra présente dans la scène. Lorsque plus loin dans ce chapitre le GameObject Camera sera traité, les modifications de ces propriétés auront un impact direct sur cette vue. L onglet Game possède des outils intrinsèques qui vont permettre les actions suivantes : La modification du ratio de rendu : lorsqu un projet est en cours d exécution, le rendu final s effectue dans l onglet Game. Il est possible de définir à l aide d une liste déroulante le ratio d affichage désiré pour ce rendu. Cela s avère très pratique si l on souhaite par exemple tester le rendu sur des résolutions spécifiques. Cette liste déroulante propose des choix prédéfinis, mais permet aussi la saisie de nouvelles résolutions. Il est ainsi facile de tester le rendu sur une résolution de 800x600 pixels ou de 1920x1200 pixels. Avec l option Free Aspect, il est tout aussi facile de laisser le rendu s adapter à la taille de l onglet actuel (il s agit d ailleurs du choix par défaut). La gestion du plein écran : lorsque l on exécute un projet depuis Unity, il peut s avérer pratique de tester le rendu en plein écran (sans l interface Unity) ou alors de laisser l exécution s effectuer dans l onglet. Le bouton Maximize on Play permet de commuter entre les deux possibilités. Il peut être intéressant de ne pas passer en mode plein écran afin de se laisser la possibilité de modifier des valeurs ou des comportements en utilisant les autres onglets. L affichage des Gizmos : nous l avons abordé dans l onglet précédent, les Gizmos sont des repères visuels qui correspondent à des entités existantes jouant un rôle dans la scène mais non représentées graphiquement dans celle-ci (comme une source lumineuse par exemple). Le bouton Gizmos permet de les afficher ou non dans le rendu final sur Unity (et non dans l application finale compilée). L affichage des statistiques : il est possible d afficher en surimpression une fenêtre des statistiques de la scène en cours dans l onglet Game, à l aide du bouton Stats. Editions ENI - All rights reserved