RAPPORT DE STAGE - Francis Motsch

 
CONTINUER À LIRE
RAPPORT DE STAGE - Francis Motsch
Francis MOTSCH
SIO 1b
Ecole IRIS

                 RAPPORT DE
                 STAGE

06/06/2017       Réalité augmentée et Android

                 Stage réalisé au sein de l’entreprise Virtual-Expertise, spécialisée
                 dans la création d’applications utilisant des technologies tel que la
                 réalité augmentée et les moteurs de création de jeux vidéo (Unity).

Rapport de Stage
REALITE AUGMENTEE ET ANDROID
RAPPORT DE STAGE - Francis Motsch
Rapport de Stage

Table des matières
PRESENTATION DE L’ENTREPRISE .............................................................................................................. 2
PRODUITS ET SERVICES ............................................................................................................................ 3
ETUDE DE MARCHE ................................................................................................................................... 4
STRATEGIE ............................................................................................................................................... 6
LOGICIELS UTILISES .................................................................................................................................. 7
  Vuforia 6 ......................................................................................................................................................................... 5
  Unity 5 .............................................................................................................................................................................. 6
ESSAIS SUR TELEPHONE PHYSIQUE .......................................................................................................... 8
PRISE EN MAIN DE VUFORIA .................................................................................................................... 9
LE NOUVEAU PROJET ............................................................................................................................. 10
  Brainstorming ................................................................................................................................................................ 10
  Création d’une interface d’authentification en Android ....................................................................................... 14
ANNEXES ............................................................................................................................................... 26

                                                                                                                                                                              Page 1
RAPPORT DE STAGE - Francis Motsch
Rapport de Stage

Qu’est-ce que la réalité augmentée ?
La réalité augmentée consiste à superposer une image virtuelle à une image réelle dans le but d’apporter une
information nouvelle et complémentaire à un usager. Appliquée à la construction, cette technique permet des
utilisations exceptionnelles !

    I)      Présentation de l’entreprise
Activité
L’entreprise Virtual Expertise est une SAS au capital de 5.000€ fondée en 2014 proposant à ses clients,
via une application Android, de convertir des plans 2D en une expérience de réalité augmentée en 3D en
utilisant des logiciels de développement leader dans leur domaine telle que Vuforia, Unity, ou Android
Studio. Fondée par d’ancien Software Engineers du groupe Airbus, l’entreprise suscita rapidement l’intérêt
d’entreprises leader dans le domaine du bâtiment tel que Vinci Construction. Virtual Plan 3D est la
première création de la talentueuse équipe d’ingénieurs de Virtual Expertise. L’objectif de Virtual
Expertise en lançant l’application Virtual Plan 3D était de proposer un service de « projection
immobilière » de haute qualité, innovant, et ayant le potentiel pour renverser les codes du secteur.

Page 2
RAPPORT DE STAGE - Francis Motsch
Rapport de Stage

    II)     Produits et services
Le service proposé
    1. A partir de modèles au format .idf, .pla, .pln, .FBX, .dae, .3DS, .dxf et .obj importés sur
       l’application Virtual Plan 3D, ces fichiers seront « calés » automatiquement sur le plan 2D.

Il suffira ensuite de visionner le plan à travers l’application pour profiter d’une expérience en réalité
augmentée hors du commun.

    2. Le second service proposé par la société est la modélisation des plans en 3D. C’est dire que le
       client donne à l’entreprise un plan en 2D et des dessinateurs expérimentés se charge de vous
       proposer un fichier 3D optimisé pour l’application VP3D.
Ces deux services permettent aux prospecteurs, agent immobilier, carreleur, couvreurs, architectes, etc…
de pouvoir proposer à partir d’un plan une expérience permettant au client de visionner le travail allant
être effectué chez eux. L’application permet ainsi de donner une dimension ludique à un plan en 2D.

                                                                                                            Page 3
RAPPORT DE STAGE - Francis Motsch
Rapport de Stage

    III)    Etude de marché
Le marché
Le marché visé par l’application Virtual Plan 3D est global.

On remarque sur les données fournies par Google Play Console que les endroits où l’application est la plus
fortement téléchargée restent le Brésil et les Etats Unis avec respectivement 87.700 et 83.800
téléchargements. La France n’est que 3ème (47.500) suivie de près par l’Inde (34.400) et la Russie
(32.400).
L’engouement des Brésiliens pour l’application s’explique par la bulle immobilière amorcée dès 2008 et
amplifiée par la coupe du monde de football. C’est un pays où la demande en logements neufs est
particulièrement forte. On peut supposer que les promoteurs et autres spécialistes du bâtiment aiment
s’appuyer sur des technologies permettant à leurs clients de se projeter dans leur future habitation.

Chiffres clés
Actuellement, l’application est téléchargée une soixantaine de fois par jour dans le monde entier. Ce
chiffre est à prendre avec réserve car plus aucune communication n’est faite pour attirer de nouveau
utilisateurs. Pour le moment, tout se fait par le bouche à oreille.

Page 4
RAPPORT DE STAGE - Francis Motsch
Rapport de Stage

Mais si l’on compare les téléchargements actuels avec le nombre de téléchargements en 2015 alors, le
contraste est saisissant et on se rend compte de l’importante demande qui existe pour ce genre
d’application :

En effet, à la même période en 2015, la société enregistrait en moyenne près de 1.000 téléchargements
de son application par jour. Cette différence est due au fait que plus aucune communication n’est faite
pour attirer les clients potentiels. Pour le moment, toute la communication se fait par le bouche à oreille.

                                                                                                       Page 5
RAPPORT DE STAGE - Francis Motsch
Rapport de Stage

       IV) Stratégie
Prix
Le prix de ce service est variable en fonction des besoins du client :
       -   Si le client possède d’ores et déjà un fichier 3D de son plan au bon format, le service est facturé
           99€
       -   Dans le cas où le client ne possède qu’une version 2D de son plan, la réalisation d’un plan 3D
           adapté à l’application sera facturée 299€

Page 6
RAPPORT DE STAGE - Francis Motsch
Rapport de Stage

    V)        Les logiciels utilisés
Vuforia 6 :
Durant ce stage, je serai amené à découvrir Vuforia, un kit de développement de logiciel (Software
Developement Kit ou SDK) leader mondial sur le marché de la réalité augmentée avec 250 000
développeurs l’utilisant tous les jours à travers le monde. Vuforia utilise une technologie de reconnaissance
visuelle afin d’identifier et suivre des images (image target) ou de simples objets en 3D tels que des boites
et ce en temps réel. Le logiciel suit la position et l’orientation de l’image en temps réel afin que la
perspective de l’utilisateur corresponde à la perspective de l’image, ainsi on a l’illusion que l’objet virtuel
appartient à la scène du monde réel.
Les applications développées avec Vuforia sont supportées par une grande variété d’appareils mobiles tel
que les iPhones, les iPads, les téléphones Android (Android OS 2.2 ou supérieur) et les tablettes Android.
La mouture que nous allons utiliser durant ce stage est Vuforia 6 qui apporte son lot de nouveautés par
rapport à la version précédente Vuforia 5.
La particularité de ce plugin est qu’il fonctionne de pair avec le logiciel Unity (voir ci-dessous).

Unity 5 :
Unity est un moteur de jeu vidéo multi-plateforme permettant de créer des jeux 2D et 3D en toute
simplicité. Il est principalement utilisé pour développer des jeux vidéo et des simulations pour ordinateur,
consoles, téléphone portable et web. Pouvant être optimisés, ces jeux graphiquement impressionnants
pourront être déployés en un clic sur un nombre incroyable de plateformes. Les services intégrés à Unity
permettent d'accélérer le processus de développement, d’optimiser les jeux et de se connecter à son
audience. Pour ces raisons, c’est l’un des moteurs de jeux vidéo les plus répandus dans l’industrie du jeu
vidéo.
De plus, Unity dispose d’une forte communauté d’artistes réalisant et proposant (gratuitement ou pas) leur
création. Cela peut aller du simple personnage 2D au donjon en 3D. Cette communauté a créé une chaine
Youtube recensant environ 260.000 abonnés et environ 300 mentions « j’aime » sur chaque vidéo.

                                                                                                          Page 7
RAPPORT DE STAGE - Francis Motsch
Rapport de Stage

Essais de l’application sur des téléphones physiques :

Samsung Galaxy s7 edge     Samsung Galaxy s6          Samsung J3             Samsung GT- s7560

         Samsung A3      Selecline Smartphone 5 (Auchan)

 Téléphone                                            Résultat
 Samsung Galaxy s7 edge                               Fonctionne parfaitement. L’application est très rapide
                                                      et très bien optimisée.

 Samsung Galaxy s6                                    Fonctionne parfaitement. L’application est très rapide
                                                      et très bien optimisée.

 Samsung J3                                           L’application ne fonctionne pas sur ce modèle. Mais
                                                      cela peut être dû au fait qu’il n’y avait plus de
                                                      mémoire disponible dans le téléphone utilisé.

 Samsung GT- s7560                                    L’application fonctionne mais des lenteurs sont à
                                                      déplorer lors du chargement du plan 3D.

 Samsung A3                                           L’application fonctionne mais d’importantes lenteurs
                                                      sont à déplorer lors du chargement du plan 3D.

 Selecline Smartphone 5 (Auchan)                      L’application fonctionne mais des lenteurs sont à
                                                      déplorer lors du chargement du plan 3D. De plus, le
                                                      menu ne semble pas optimisé pour ce téléphone
                                                      (effet d’écrasement).

Page 8
RAPPORT DE STAGE - Francis Motsch
Rapport de Stage

Mon essai de la technologie de réalité augmentée proposée par Vuforia :

Objectif de l’exercice :

Créer une application Android basique permettant quand on film les deux images avec son téléphone de créer
deux models virtuels sur chacune de ces images.

Image 1                                           Image 2

Résultat :

Vuforia n’est pas forcément évident à prendre en main. Mais avec un bon tutoriel, il devient vite presque
amusant à utiliser. Une fois que les images sélectionnées sont enregistrées dans Vuforia, il ne reste plus qu’à
exporter les fichiers .UnityPackage dans Unity, de faire les réglages nécessaires et d’y ajouter le modèle 3D
correspondant.

                                                                                                           Page 9
Rapport de Stage

                                    Lancement du nouveau projet :
L’application Virtual Plan 3D étant d’ores et déjà téléchargeable sur le Play Store, la question qui s’est posée
durant mon stage était de savoir ce qu’il était possible d’en faire. Afin d’aller plus loin dans l’exploitation du
concept, l’équipe estima que seul un important apport en capitaux permettrait de passer à la prochaine étape
c’est-à-dire automatiser le passage des plan 2D aux plan 3D.

Il fut décidé que le PDG et l’équipe commerciale s’occuperaient de chercher les capitaux nécessaires tandis que
l’équipe de développement se concentrerait sur un nouveau projet en réalité augmentée dans le domaine
médical.

    I)      Le brainstorming
Voici les différents projets qui furent proposés :

MEDECINE PURE
Le développement des compétences médicales est un véritable challenge scolaire. L’une des possibilités
pour proposer des opportunités d’apprentissages ouverts au plus grand nombre est l’utilisation de la
réalité augmentée où l’expérience d’apprentissage virtuel s’ajoute à un environnement réel.

Anatomie

C’est la premier domaine qui vient à l’esprit quand on imagine la combinaison de la médecine et de la
réalité augmentée. En effet, cette technologie permettrait de visualiser grandeur nature toute l’anatomie
du corps humain couche par couche et ainsi de « disséquer virtuellement » autant de corps que l’étudiant le
désire. Associer à une documentation fournie, ceci faciliterait grandement l’apprentissage pour les
étudiants en médecine. De plus cette technologie pourrait être utilisée par les chirurgiens confirmés afin de
montrer virtuellement aux patients où se situe leur pathologie, et comment y remédier.
https://www.youtube.com/watch?v=AttXbcLUyR0

Page 10
Rapport de Stage

Chirurgie

Et si nos étudiants en médecine avaient la possibilité de vivre dans leur chambre une opération réalisée
par les meilleurs spécialistes du domaine. C’est l’une des possibilités offerte par la réalité augmentée. On
pourrait même imaginer que l’étudiant puisse interagir avec le modéle virtuel, recevoir une quantité
importante d’informations, tout en ayant la possibilité de prendre des notes voir même de faire des
captures d’écran.

Chirurgie esthétique

L’engouement pour la chirurgie esthétique ne se dément pas depuis de nombreuse années maintenant. Avec
la réalité augmentée, il serait possible de visualiser directement sur soi le résultat que l’on souhaite obtenir.
Avec une simple capture d’écran le chirurgien pourrait voir le résultat final (que ce soit une rhinoplastie ou
une augmentation mammaire par exemple, le concept est le même) et travailler à partir de là. Une telle
application serait le « snapchat » de la chirurgie esthétique.

Vir tual Coach

Qui n’a pas rêvé un jour d’avoir un coach personnel que ce soit pour la gymnastique, pour la méditation ou
pour le sport. La réalité augmentée permettra à tout à chacun de bénéficier des conseils de coachs, virtuels
ou réels, qui pourront donner des conseils personnalisés en fonction des besoins de chacun.

                                                                                                        Page 11
Rapport de Stage

TELEMEDECINE
Consultation assistée

Que se passerait-il si le passager d’un avion (par exemple) présentait une urgence médicale et qu’il n’y
avait aucun médecin à bord ? Il serait possible, avec des lunettes réalité augmentée de mettre en relation
un membre de l’équipage avec un médecin qui pourrait donner ses instructions en temps réel. Un logiciel de
ce type permettrait à tout à chacun de bénéficier d’une assistance médicale d’urgence à moindre coût.

Médicaments

L’idée proposée par Adrien, le PDG de la société, est de créer une application permettant d’analyser le
volume et l’étiquette d’une boîte de médicament afin de donner des indications sur sa posologie et ses
contre indications en réalité augmentée.

Page 12
Rapport de Stage

IMMOBILIER
Aménagement d’intérieur

Partant du principe qu’il serait dommage de ne pas utiliser le code fait pour VP3D, il est possible de
réutiliser l’appli dans le domaine de l’aménagement d’intérieur par exemple des cabinets médicaux. En
effet, beaucoup de professionnels souhaitent réaménager l’intérieur de leur cabinet ou de leurs bureaux
de temps en temps. En partant de la base de VP3D et en y ajoutant des meubles pouvant être placés
comme bon leur semble sur le plan, il serait possible de vendre des plans 3D et des projets
d’aménagement spécifique de la surface.

Conclusion de la réunion :
L’entreprise développera le projet nommé « Médicament » permettant d’obtenir un maximum
d’informations en réalité augmentée à partir de simples boites de médicaments.

   II)     Création d’une interface d’authentification

                                                                                                  Page 13
Rapport de Stage

Mon rôle était de développer en Android l’interface d’authentification à l’application en utilisant de
l’Android (Java et XML), du PHP et de me connecter à un web service en utilisant JSON (Javascript Object
Notation).
Pour commencer, une fois que l’on a lancé les blank activities nommées LoginActivity et RegisterActivity, il
faut signaler dans le fichier build.gradle (module : app) que l’on va utiliser la librairie volley en
ajoutant dans la fonction dependencies:
compile 'com.mcxiaoke.volley:library:1.0.19'
Puis sélectionner « synch now » en haut à droite.

activity_login.xml

Page 14
Rapport de Stage

On associe à chaque vue un nom (ex : etEmail pour signifier que c’est un EditText qui prendra les emails,
bLogin pour signifier que c’est un Button permettant de se connecter et tvRegisterHere sera un TextView
permettant de faire le lien entre les activités Login et Register).

Rendu visuel de activity_login.xml sur mon téléphone Android

Activity_register.xml

                                                                                                    Page 15
Rapport de Stage

On associe à chaque vue un nom (ex : etEmail pour signifier que c’est un EditText qui prendra les emails,
bRegister pour signifier que c’est un Button permettant de s’enregistrer).

Page 16
Rapport de Stage

Rendu visuel de activity_register.xml sur mon téléphone Android

LoginActivity.java

                                                                         Page 17
Rapport de Stage

package com.test.fr.loginregister;

import    android.content.Intent;
import    android.support.v7.app.AlertDialog;
import    android.support.v7.app.AppCompatActivity;
import    android.os.Bundle;
import    android.view.View;
import    android.widget.Button;
import    android.widget.EditText;
import    android.widget.TextView;

import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.toolbox.Volley;

import org.json.JSONException;
import org.json.JSONObject;

public class LoginActivity extends AppCompatActivity {

     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_login);

        final EditText etEmail = (EditText) findViewById(R.id.etEmail);
        final EditText etPassword = (EditText) findViewById(R.id.etPassword);
        final Button bLogin = (Button) findViewById(R.id.bLogin);
        final TextView registerLink = (TextView)
findViewById(R.id.tvRegisterHere);

        registerLink.setOnClickListener(new View.OnClickListener(){
            @Override
              public void onClick(View v){
                 Intent registerIntent = new Intent(LoginActivity.this,
RegisterActivity.class);
                 LoginActivity.this.startActivity(registerIntent);
            }
        });
        bLogin.setOnClickListener(new View.OnClickListener(){
              @Override
              public void onClick(View v){
                  final String email = etEmail.getText().toString();
                  final String password = etPassword.getText().toString();

                Response.Listener responseListener = new
Response.Listener(){
                    @Override
                    public void onResponse(String response){
                        try {
                             JSONObject jsonResponse = new JSONObject(response);
                             boolean success = jsonResponse.getBoolean("success");

                               if (success){

                                   String name = jsonResponse.getString("name");
                                   int age = jsonResponse.getInt("age");

                                   Intent intent = new Intent(LoginActivity.this,
UserAreaActivity.class);
                                   intent.putExtra("name", name);

Page 18
Rapport de Stage

                                           intent.putExtra("email", email);
                                           intent.putExtra("age", age);

                                           LoginActivity.this.startActivity(intent);

                            }else{
                                AlertDialog.Builder builder = new
AlertDialog.Builder(LoginActivity.this);
                                builder.setMessage("Login Failed")
                                         .setNegativeButton("Retry", null)
                                         .create()
                                         .show();
                            }

                                } catch (JSONException e) {
                                    e.printStackTrace();
                                }

                           }
                     };

                LoginRequest loginRequest = new LoginRequest(email, password,
responseListener);
                RequestQueue queue = Volley.newRequestQueue(LoginActivity.this);
                queue.add(loginRequest);
            }
        });
    }
}
Après avoir créé les variable etEmail, etPassword, bLogin et registerLink on utilise un listener
(setOnClickListener) qui ouvrira la page register quand on cliquera dessus (grâce à l’intent).
LoginRequest.java
package com.test.fr.loginregister;

import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.toolbox.StringRequest;

import java.util.HashMap;
import java.util.Map;

/**
 * Created by Francis on 25/06/2017.
 */

public class LoginRequest extends StringRequest {

    private static final String LOGIN_REQUEST_URL = "https://mnemonic-
jelly.000webhostapp.com/login.php";
    private Map params;

    public LoginRequest(String email, String password, Response.Listener
listener){
        super(Request.Method.POST, LOGIN_REQUEST_URL, listener, null);
        params = new HashMap();
        params.put("email", email);
        params.put("password", password);
    }

                                                                                                      Page 19
Rapport de Stage

     @Override
     public Map getParams() {
         return params;
     }
}

RegisterActivity.java
package com.test.fr.loginregister;

import    android.content.Intent;
import    android.support.v7.app.AlertDialog;
import    android.support.v7.app.AppCompatActivity;
import    android.os.Bundle;
import    android.view.View;
import    android.widget.Button;
import    android.widget.EditText;

import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.toolbox.Volley;

import org.json.JSONException;
import org.json.JSONObject;

public class RegisterActivity extends AppCompatActivity {

     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_register);

          final    EditText etAge = (EditText) findViewById(R.id.etAge);
          final    EditText etName = (EditText) findViewById(R.id.etName);
          final    EditText etEmail = (EditText) findViewById(R.id.etEmail);
          final    EditText etPassword = (EditText) findViewById(R.id.etPassword);
          final    Button bRegister = (Button) findViewById(R.id.bRegister);

          bRegister.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {
                  final String name = etName.getText().toString();
                  final String email = etEmail.getText().toString();
                  final int age = Integer.parseInt(etAge.getText().toString());
                  final String password = etPassword.getText().toString();

                Response.Listener responseListener = new
Response.Listener(){
                    @Override
                    public void onResponse(String response){
                        try {
                             JSONObject jsonResponse = new JSONObject(response);
                             boolean success = jsonResponse.getBoolean("success");

                                 if(success){

Page 20
Rapport de Stage

                                           Intent intent = new Intent(RegisterActivity.this,
LoginActivity.class);
                                RegisterActivity.this.startActivity(intent);
                            }else{
                                AlertDialog.Builder builder = new
AlertDialog.Builder(RegisterActivity.this);
                                builder.setMessage("Register Failed")
                                        .setNegativeButton("Retry", null)
                                        .create()
                                        .show();

                                      }

                                } catch (JSONException e) {
                                    e.printStackTrace();
                                }
                           }
                     };

                RegisterRequest registerRequest = new RegisterRequest(name,email,
age, password, responseListener);
                RequestQueue queue =
Volley.newRequestQueue(RegisterActivity.this);
                queue.add(registerRequest);
            }
        });

     }
}
Après avoir créé les variable etAge, etName, etEmail, etPassword, bRegister, on crée un listener sur le
bouton s’enregistrer. A chaque fois que l’utilisateur cliquera dessus, à l’aide .getText()ToString, on entrera
la donnée dans la variable correspondant (attention à convertir l’âge en un int avec integer.parseInt).

                                                                                                       Page 21
Rapport de Stage

RegisterRequest.java
package com.test.fr.loginregister;

import com.android.volley.Response;
import com.android.volley.toolbox.StringRequest;

import java.util.HashMap;
import java.util.Map;

/**
 * Created by Francis on 24/06/2017.
 */

public class RegisterRequest extends StringRequest {

    private static final String REGISTER_REQUEST_URL = "https://mnemonic-
jelly.000webhostapp.com/register.php";
    private Map params;

    public RegisterRequest(String name, String email, int age, String password,
Response.Listener listener){
        super(Method.POST, REGISTER_REQUEST_URL, listener, null);
        params = new HashMap();
        params.put("name", name);
        params.put("email", email);
        params.put("password", password);
        params.put("age", age +"");
    }

     @Override
     public Map getParams() {
         return params;
     }
}
Cette nouvelle classe permet de faire une requête au fichier register.php sur le serveur et la réponse se
fait par un string d’où l’extends StringRequest (c’est là que la bibliothèque volley entre en jeu). Ensuite, on
entre l’URL permettant de trouver le fichier register.php.
Quand la requête est exécutée, volley appellera getParams(), et getParams() retournera params que l’on
a déjà rempli avec toutes les informations entrées par l’utilisateur.

Page 22
Rapport de Stage

AndroidManifest.xml

La base de données

                                                                               Page 23
Rapport de Stage

login.php

Quand l’application Android appellera le fichier login.php, Mysqli_connect permet de se connecter à la
base de données. Le fichier login.php enverra à l’application deux paramètres email et password. Avec un
peu de php, on sera à même de sélectionner directement le user dont l’email et le password correspondant
à celui entré par l’utilisateur.
Pendant ce temps (while) le programme récupére de la base de données le name, l’age, le username et le
password du user.
Les informations du user sont encodées au format json avant de le renvoyer à l’application.
register.php

Page 24
Rapport de Stage

Quand l’application fera appel au fichier register.php, le fichier renverra le name, l’age, le username et le
password du user dans la base de donnée à l’aide d’un INSERT INTO. Il répond avec un tableau en json qui
dit que success = true.

ANNEXES
Les nouveautés introduites par Vuforia    6:
VuMark :
L’une des premières nouveautés de Vuforia 6 est le VuMark, un code visuel pouvant être customisé et
apposé à n’importe quel produit ou machine à la main à l’aide d’une décalcomanie ou imprimé de manière
industriel.
VuMark permet d’indiquer à l’utilisateur qu’une expérience en AR est disponible telle qu’une démonstration
d’assemblage pièce par pièce, une instruction d’utilisation, une instruction de nettoyage, une instruction de
réparation, etc…
VuMark Designer permet aux utilisateurs d’Adobe illustrator de créer des VuMarks à partir de logos, de
marques, de design préexistant et ainsi d’avoir une panoplie de choix graphique illimité dans le design de
leur VuMark.

UWP :
La seconde nouveauté de Vuforia 6 s’appelle UWP (Universal Windows Platform). Elle permet d’étendre
le potentiel des applications Vuforia aux entreprises car avec cette addition, notre application pourra
tourner de la même manière sur du matériel iOS, Android ou Windows. Et pour la première fois, Vuforia
supporte le x86 et les machines fonctionnant sur du matériel INTEL. Cette évolution donne accès à un
marché toujours plus large tout en donnant aux développeurs accès à une nouvelle génération de machines
fonctionnant sur Windows 10 tel que la Surface Pro 4, le Surface Book et les autres Windows 10 tablettes.
Mais le plus excitant dans l’arrivée d’UWP est la compatibilité avec les HoloLens de Microsoft. Imaginez
regarder une affiche avec vos lunettes et d’un coup voir une scène du film sous vos yeux en 3D. Combiner
HoLolens et Vuforia permettra de réaliser des univers en réalité augmentée tous plus improbables les uns
que les autres et de transposer l’expérience de réalité augmentée à taille humaine. Alliée aux VuMarks
cette technologie a le potentiel pour faire disparaitre les ennuyeux manuels d’instructions pour offrir aux
techniciens, aux médecins, aux mécaniciens, et j’en passe, une démonstration du travail à réaliser en temps
réel.
Advance Camera API :
La troisième nouveauté apportée par Vuforia 6 permet aux développeurs d’étendre l’algorithme de vision
de l’ordinateur avec ceux offerts par le SDK de Vuforia 6. Cette particularité offre aux développeurs
accès à la caméra pendant que Vuforia est en fonctionnement sur un appareil Android afin de permettre
un suivi toujours plus efficace. Cette API permet d’ajuster les paramètres de la caméra tel que la balance
des blancs afin d’utiliser Vuforia dans n’importe quelle condition environnementale.
Cloud Recognition API :
Enfin, la dernière nouveauté et non la moindre, car c’est celle qui va nous intéresser pendant ce stage, est
le Cloud Recognition Web API qui permet de stocker dans le cloud une quantité énorme d’images pouvant
aller de la couverture d’un livre à une étiquette de vin et de reconnaitre ces images dans n’importe quelle

                                                                                                    Page 25
Rapport de Stage

application connectée ou page web. Ceci offre la possibilité de reconnaître facilement et rapidement ces
images présélectionnées n’importe où dans le monde à partir de n’importe quel appareil connecté.

                             Développement                  Consommateur                         Entreprise
                          Pour apprendre à utiliser      Applications de campagne        Applications destinées à
                          Vuforia et faire des           marketing ou jeux destinés au   un usage professionnel
                          prototypes                     grand public                    (employés ou contracteurs)

 Combiner                 Oui                            Voir tableau ci-dessous         Oui
 l’expérience à des
 images, objets, textes
 ou un environnement
 Téléphones, tablettes,   Oui                            Voir tableau ci-dessous         Oui
 lunettes
 Compatibilité OS         Android, iOS, UWP              Voir tableau ci-dessous         Android, iOS, UWP

 Cloud Recognition        1.000 reconnaissances par      Voir tableau ci-dessous         10.000 reconnaissances
                          mois / 1.000 images                                            par mois / + de 100.000
                                                                                         images

 VuMark                   100 VuMarks                    Voir tableau ci-dessous         100 VuMarks

 Avancé                   Cloud Recognition Web API      Voir tableau ci-dessous         Cloud Recognition API /
                          / Advance Camera API                                           VuMark Generation API /
                                                                                         Advance Camera API

 Prix                     Gratuit                        Voir tableau ci-dessous         Nécessite une licence

La catégorie Consommateur :

                                     Classic                       Cloud                             Pro
                           Pour les applications qui      Pour les applications qui      Pour les applications à fort
                           enregistrent les cibles sur     enregistrent les images                  trafic
                                   l’appareil                   dans le cloud

 Combiner                               Oui                          Oui                             Oui
 l’expérience à des
 images, objets, textes
 ou un environnement
 Téléphone, tablettes,                  Oui                          Oui                             Oui
 lunettes
 Compatibilité OS                   Android, iOS                Android, iOS                   Android, iOS, UWP

 Cloud Recognition                       -                10.000 reconnaissances                + de 10.000
                                                         par mois / 100.000 images       reconnaissances par mois /
                                                                                            + de 100.000 images

 VuMark                             100 VuMarks                 100 VuMarks                    + de 100 VuMarks

 Avancé                                  -               Cloud Recognition Web API         Cloud Recognition API /
                                                                                          VuMark Generation API /
                                                                                            Advance Camera API

Page 26
Rapport de Stage

    Prix                         $499 une fois par app /       $99 par mois / 87,81€       A partir de $2.500 une fois
                                        442,59€                                                    / 2.221,33€

Analyse :

Dans un premier temps, il semblait clair que pour commencer, Virtual Expertise n’avait besoin que du niveau Cloud de l’offre
proposée par Vuforia. Mais en y réfléchissant de plus près, si la durée de vie de l’application est supérieure ou égale à 2 ans et
2 mois alors, la mise à niveau Pro deviendrait plus avantageuse car une fois la somme de $2.500 (2.221,33€) acquittée, il n’y
a plus aucun frais supplémentaire.

Les nouveautés introduites par Unity          5:
      -     Unity 5 inclut un nouveau système de shaders (ombrage) basé sur des caractéristiques physiques
            (PBR), construit pour couvrir une large variété de matières et d’objets sous différentes lumières. Pour
            cela, ils ont intégré la technologie « Enlighten » de Geomerics.

      -     En partenariat avec Imagination Technologies, Unity 5 s’enrichit de la solution PowerVR Ray Tracing .
            Celle-ci intègre un éditeur de prévisualisation en temps réel des Lightmaps.

      -     Le moteur de physique a lui aussi évolué vers NVIDIA PhysX 3.3.

      -     En complément, Unity lance le très attendu Unity Cloud Build. Il automatise et simplifie la construction
            de projets iOS, Android et Web Player via le Cloud. Les changements apportés sont
            automatiquement détectés et facilement partageables. Un gain de temps et de productivité
            pharaonique pour ceux qui veulent rester concentrés sur le développement de leur projet.

      -     Avec la version 5.0 les développeurs auront un accès anticipé à l’add-on WebGL, ce que possède
            déjà Unreal Engine 4.7. L’occulus Rift est lui aussi en prévision.

 Unity 5 se présente sous deux formes de licences:
 Unity 5 Professional Edition: Cette édition professionnelle se destine à la fois aux poids lourds du
    développement (studios de plus de 100 personnes) et aux jeunes pousses de 2-3 personnes. Elle inclut : le
    Cloud Build Pro, une licence pour l’équipe, le Game Performance Reporting, l’Asset Store niveau 11, Unity
    Analytics Pro, un accès aux previews et aux bêtas et bien plus encore. Prix : à partir de 35 $ par mois /
    abonnement (ou toujours 1500$ à l’achat)

     Unity 5 Personal Edition: Il s’agit d’une solution gratuite pour les développeurs individuels, les amateurs
      passionnés ou les studios qui se lancent dans l’arène du développement.

Par contre si votre projet dépasse les 100 000 $ de revenus (ou fonds) par an, vous devrez acheter la version
professionnelle.

Unity 5.6

La toute dernière version d’Unity est la version 5.6 sortie début 2017.

                                                                                                                         Page 27
Rapport de Stage

Voici quelques-unes des principales choses à attendre de cette version :
- Nouveaux outils dédiés à l'animation 2D
- Outils de debugging dédiés aux simulations physiques.
- EditorVR, un nouvel outil disponible en beta et dédié à la création de contenus VR
- Support de Daydream VR et de Facebook Gameroom
- Amélioration du support de l'API Vulkan
- Lightmapper en beta...
- TextMesh Pro inclus gratuitement
- Nouveaux outils de travail collaboratif
- Amélioration globale des performances

                     Personnal            Plus                Pro                  Entreprises
 Prix                     Gratuit             $35/mois           $125/mois             Sur mesure

Page 28
Vous pouvez aussi lire