RAPPORT DE STAGE - Francis Motsch
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
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 ANDROIDRapport 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 1Rapport 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 2Rapport 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 3Rapport 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 4Rapport 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 5Rapport 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 6Rapport 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 7Rapport 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 8Rapport 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 9Rapport 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 10Rapport 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 11Rapport 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 13Rapport 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 15Rapport 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 17Rapport 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 18Rapport 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 19Rapport 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 20Rapport 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 21Rapport 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 22Rapport de Stage
AndroidManifest.xml
La base de données
Page 23Rapport 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 25Rapport 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 26Rapport 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 27Rapport 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 28Vous pouvez aussi lire