SlideShare une entreprise Scribd logo
Formation Unity VR
Parce que la VR c’est trop cool
Qui suis-je ?
Yannick Comte
- Développeur R&D Réalité Virtuelle chez Wanadev
- Développeur de jeux vidéo en Réalité Virtuelle
- Contributeur OSVR
- Auteur d’articles et de toolkit pour la Réalité Virtuelle
Me suivre
- Twitter : @CYannick
- Google+ : http://plus.google.com/+YannickComte
Rappel Unity
- Moteur 3D et 2D
- Gère le son
- Animation
- Physique
- Multiplateformes (Linux, Mac, Android, iOS, WebGL, Xbox One, etc...)
- VR : Oculus Rift (Runtime 1.3+), OpenVR (Vive, etc...)
- Scripting C#
- Extensible (plugins, code natif, etc...)
Red or Blue pill?!
Rappel sur les casques
- Oculus : Le Rift CV1 est la version actuelle grand public. L’application Oculus
Home est requise à son fonctionnement
- HTC Vive : Le Vive est née d’un partenariat entre HTC et Valve (Steam, Half
Life, etc...). La plateforme Steam est requise ainsi que l’application SteamVR.
- HDK : Née d’un partenariat entre Sensics et Razer. Il fonctionne sur la
plateforme OSVR. Razer a crée le design et produit le HDK, Sensics
s’occupe de la conception matériel et logiciel (OSVR entre autre).
OpenVR
OpenVR est l’API utilisée par le HTC Vive sur Steam. Elle est ouverte aux tiers et
gère le Rift, mais aussi les casques fonctionnant sur OSVR (via un driver externe).
- Créer des drivers pour d’autres casques (OSVR)
- Créer des drivers de contrôleurs VR (Razer Hydra, Leap Motion, PS Move)
- L’utiliser sous Windows, Linux (prochainement) et Mac (en théorie)
C’est une API universelle dont les sources sont fermées (seuls les headers sont
disponibles). Nous pouvons l’utiliser pour développer avec tous les casques du
marché.
Unity : VR Everywhere
Supporter un projet VR en quelques clics
(Oculus, OpenVR)
File / Build Settings / Player Settings / Other
Settings / Virtual reality SDKs
La caméra principale sera surchargée avec
la position et la rotation du casque !
Scripting C#
MonoBehaviour : La classe de base d’un script. Il s'attache sur un GameObject
(noeud sur la scène)
- Awake() équivalent au constructeur
- OnEnable/Disable je vous laisse deviner
- OnDestroy() Quand le script est détruit
- Start() une fois que tous les MonoBehaviour sont chargés (Awake appelé)
- Update() Mise à jour des inputs, etc..
- FixedUpdate() Mise à jour de la physique (Rigidbody)
Documentation
La documentation C#
- https://docs.unity3d.com/ScriptReference/
Les tutoriels Français
- http://blog.drakulo.com/
- http://www.demonixis.net/blog
Les plugins / Outils utiles
- Demonixis.Toolbox : Scripts pour gérer les SDKs VR, l’UI, etc...
- ProBuilder : Outil de level design (Blender pour les nuls), la version gratuite
est suffisante pour commencer, la version payante coûte 100$
- InControl : Gestion des input (37.50€)
- DoTween : Animation / Séquences
Les SDKs
- Le SDK OSVR
- Le SDK OpenVR (SteamVR)
- Le SDK Oculus Rift et Gear VR
Pour une utilisation facile => Demonixis.VR
Gère automatiquement l’ajout des différents scripts sur votre prefab de joueur. Il
restera ainsi propre de tout script vendeur !
Créer un FPS (rien qu’ça)
- Créer le niveau
- Créer le contrôleur
- Tirer
- Tester
Règle numéro 1 : Forcer le déplacement du joueur peut rendre malade (motion
sickness), il ne faut pas être trop brusque, mais on s’y fait !
Règle numéro 2 : Du coup on utilise de la téléportation car c’est à la mode et ça
ne rend personne malade.
Hiérarchie du joueur
Player : GameObject (déplacement)
-> Head : GameObject
-> TrackingSpace : GameObject
-> MainCamera : Camera
-> Canvas (UI à appliquer au joueur)
-> Controllers : GameObject (conteneur des contrôleurs au cas ou)*
Cette hiérarchie est proposée par Oculus et fonctionne avec TOUT.
* Si les contrôleurs ne gère pas la position par rapport au casque, il faut les attacher au GameObject Head
L’UI : Car c’est important
Règle numéro 3 : Ne pas charger le champs de vision du joueur
- Pas de notion d’écran en VR
- Uniquement des UI World Space
- Fonctionnement des UI
- Interaction au regard avec VRGazeUI.cs https://github.com/demonixis/Unity-
toolbox/blob/master/VR/VRGazeUI.cs
- On oublie pas de s’ajouter un callback pour AddInputListener qui va valider
ou pas l’action.
La téléportation
- Ajout d’un sprite qui réagit au regards
- Utiliser ScreenFader https://github.com/demonixis/Unity-
toolbox/blob/master/Graphics/ScreenFader.cs pour faire une transition propre
var pos = target.position
pos.y = player.y;
transform.position = pos;
Règle numéro 4 : On ne modifie pas directement la rotation (pour ne pas que le
joueur perde ses repaires, mais il y a des exceptions évidemment :-) )
Fin

Contenu connexe

Tendances

L'oculus rift de a à z meetup unity
L'oculus rift de a à z   meetup unityL'oculus rift de a à z   meetup unity
L'oculus rift de a à z meetup unityBeMyApp
 
XVRRAA #5 Windows Mixed Reality
XVRRAA #5 Windows Mixed RealityXVRRAA #5 Windows Mixed Reality
XVRRAA #5 Windows Mixed RealityYannick Comte
 
Windows Mixed Reality : La VR et l'AR façon Microsoft
Windows Mixed Reality : La VR et l'AR façon MicrosoftWindows Mixed Reality : La VR et l'AR façon Microsoft
Windows Mixed Reality : La VR et l'AR façon MicrosoftYannick Comte
 
Jembe unity3d
Jembe unity3dJembe unity3d
Jembe unity3dBeMyApp
 
A la découverte de la réalité augmentée avec ARCore - Snowcamp.io
A la découverte de la réalité augmentée avec ARCore - Snowcamp.ioA la découverte de la réalité augmentée avec ARCore - Snowcamp.io
A la découverte de la réalité augmentée avec ARCore - Snowcamp.iojollivetc
 
La réalité mélangée dans vos applications
La réalité mélangée dans vos applicationsLa réalité mélangée dans vos applications
La réalité mélangée dans vos applicationsChristophe Villeneuve
 

Tendances (7)

L'oculus rift de a à z meetup unity
L'oculus rift de a à z   meetup unityL'oculus rift de a à z   meetup unity
L'oculus rift de a à z meetup unity
 
XVRRAA #5 Windows Mixed Reality
XVRRAA #5 Windows Mixed RealityXVRRAA #5 Windows Mixed Reality
XVRRAA #5 Windows Mixed Reality
 
Windows Mixed Reality : La VR et l'AR façon Microsoft
Windows Mixed Reality : La VR et l'AR façon MicrosoftWindows Mixed Reality : La VR et l'AR façon Microsoft
Windows Mixed Reality : La VR et l'AR façon Microsoft
 
Jembe unity3d
Jembe unity3dJembe unity3d
Jembe unity3d
 
A la découverte de la réalité augmentée avec ARCore - Snowcamp.io
A la découverte de la réalité augmentée avec ARCore - Snowcamp.ioA la découverte de la réalité augmentée avec ARCore - Snowcamp.io
A la découverte de la réalité augmentée avec ARCore - Snowcamp.io
 
Prez web vr chtijs
Prez web vr chtijsPrez web vr chtijs
Prez web vr chtijs
 
La réalité mélangée dans vos applications
La réalité mélangée dans vos applicationsLa réalité mélangée dans vos applications
La réalité mélangée dans vos applications
 

En vedette

[Archive- Laval 2006] Rapport de stage de Master - Nautilus
[Archive- Laval 2006] Rapport de stage de Master - Nautilus [Archive- Laval 2006] Rapport de stage de Master - Nautilus
[Archive- Laval 2006] Rapport de stage de Master - Nautilus Florent Michel
 
Unity & VR: What we are working on and how to design & develop VR Experiences
Unity & VR: What we are working on and how to design & develop VR ExperiencesUnity & VR: What we are working on and how to design & develop VR Experiences
Unity & VR: What we are working on and how to design & develop VR ExperiencesDevGAMM Conference
 
[BLT] 특허 관점에서 바라본 VR/AR_정태균 변리사_20170130
[BLT] 특허 관점에서 바라본 VR/AR_정태균 변리사_20170130[BLT] 특허 관점에서 바라본 VR/AR_정태균 변리사_20170130
[BLT] 특허 관점에서 바라본 VR/AR_정태균 변리사_20170130태균 정
 
Présentation de projet sur la réalisation d'une application de réalité virtue...
Présentation de projet sur la réalisation d'une application de réalité virtue...Présentation de projet sur la réalisation d'une application de réalité virtue...
Présentation de projet sur la réalisation d'une application de réalité virtue...Rémi Levilain
 
Developing VR in Unity
Developing VR in UnityDeveloping VR in Unity
Developing VR in UnityAdityo Pratomo
 
Rapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboardRapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboardSiwar GUEMRI
 
Introduction à la Réalité Augmentée
Introduction à la Réalité AugmentéeIntroduction à la Réalité Augmentée
Introduction à la Réalité AugmentéeNiji
 
Gaze detection with Virtual Reality and Unity 3d
Gaze detection with Virtual Reality and Unity 3dGaze detection with Virtual Reality and Unity 3d
Gaze detection with Virtual Reality and Unity 3dBond University
 
PANORAMA DES DIFFÉRENTS CASQUES DE RÉALITÉ VIRTUELLE DE DEMAIN
PANORAMA DES DIFFÉRENTS CASQUES DE RÉALITÉ VIRTUELLE DE DEMAINPANORAMA DES DIFFÉRENTS CASQUES DE RÉALITÉ VIRTUELLE DE DEMAIN
PANORAMA DES DIFFÉRENTS CASQUES DE RÉALITÉ VIRTUELLE DE DEMAINGoGlasses
 
Pfe Marketing Mobile 2007
Pfe Marketing Mobile 2007Pfe Marketing Mobile 2007
Pfe Marketing Mobile 2007chammem
 
La réalité virtuelle et les marques - au-delà de l'opportunisme
La réalité virtuelle et les marques - au-delà de l'opportunismeLa réalité virtuelle et les marques - au-delà de l'opportunisme
La réalité virtuelle et les marques - au-delà de l'opportunismeHUB INSTITUTE
 
Réalité virtuelle, communication et marketing
Réalité virtuelle, communication et marketingRéalité virtuelle, communication et marketing
Réalité virtuelle, communication et marketingKevin Leclerc
 
Conception et réalisation d’une application Mobile banking
Conception et réalisation d’une application  Mobile banking  Conception et réalisation d’une application  Mobile banking
Conception et réalisation d’une application Mobile banking Khaled Fayala
 
PFE BI - INPT
PFE BI - INPTPFE BI - INPT
PFE BI - INPTriyadadva
 
게임제작개론 : #8 게임 제작 프로세스
게임제작개론 : #8 게임 제작 프로세스게임제작개론 : #8 게임 제작 프로세스
게임제작개론 : #8 게임 제작 프로세스Seungmo Koo
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Riadh K.
 
Unity vr jam_kelvin_1127
Unity vr jam_kelvin_1127Unity vr jam_kelvin_1127
Unity vr jam_kelvin_1127Kelvin Lo
 
Projet BI - 1 - Analyse des besoins
Projet BI - 1 - Analyse des besoinsProjet BI - 1 - Analyse des besoins
Projet BI - 1 - Analyse des besoinsJean-Marc Dupont
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Riadh K.
 
Réalité augmentée : technologies et marché
Réalité augmentée : technologies et marchéRéalité augmentée : technologies et marché
Réalité augmentée : technologies et marchéSylvain Chaleteix, M.Sc.
 

En vedette (20)

[Archive- Laval 2006] Rapport de stage de Master - Nautilus
[Archive- Laval 2006] Rapport de stage de Master - Nautilus [Archive- Laval 2006] Rapport de stage de Master - Nautilus
[Archive- Laval 2006] Rapport de stage de Master - Nautilus
 
Unity & VR: What we are working on and how to design & develop VR Experiences
Unity & VR: What we are working on and how to design & develop VR ExperiencesUnity & VR: What we are working on and how to design & develop VR Experiences
Unity & VR: What we are working on and how to design & develop VR Experiences
 
[BLT] 특허 관점에서 바라본 VR/AR_정태균 변리사_20170130
[BLT] 특허 관점에서 바라본 VR/AR_정태균 변리사_20170130[BLT] 특허 관점에서 바라본 VR/AR_정태균 변리사_20170130
[BLT] 특허 관점에서 바라본 VR/AR_정태균 변리사_20170130
 
Présentation de projet sur la réalisation d'une application de réalité virtue...
Présentation de projet sur la réalisation d'une application de réalité virtue...Présentation de projet sur la réalisation d'une application de réalité virtue...
Présentation de projet sur la réalisation d'une application de réalité virtue...
 
Developing VR in Unity
Developing VR in UnityDeveloping VR in Unity
Developing VR in Unity
 
Rapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboardRapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboard
 
Introduction à la Réalité Augmentée
Introduction à la Réalité AugmentéeIntroduction à la Réalité Augmentée
Introduction à la Réalité Augmentée
 
Gaze detection with Virtual Reality and Unity 3d
Gaze detection with Virtual Reality and Unity 3dGaze detection with Virtual Reality and Unity 3d
Gaze detection with Virtual Reality and Unity 3d
 
PANORAMA DES DIFFÉRENTS CASQUES DE RÉALITÉ VIRTUELLE DE DEMAIN
PANORAMA DES DIFFÉRENTS CASQUES DE RÉALITÉ VIRTUELLE DE DEMAINPANORAMA DES DIFFÉRENTS CASQUES DE RÉALITÉ VIRTUELLE DE DEMAIN
PANORAMA DES DIFFÉRENTS CASQUES DE RÉALITÉ VIRTUELLE DE DEMAIN
 
Pfe Marketing Mobile 2007
Pfe Marketing Mobile 2007Pfe Marketing Mobile 2007
Pfe Marketing Mobile 2007
 
La réalité virtuelle et les marques - au-delà de l'opportunisme
La réalité virtuelle et les marques - au-delà de l'opportunismeLa réalité virtuelle et les marques - au-delà de l'opportunisme
La réalité virtuelle et les marques - au-delà de l'opportunisme
 
Réalité virtuelle, communication et marketing
Réalité virtuelle, communication et marketingRéalité virtuelle, communication et marketing
Réalité virtuelle, communication et marketing
 
Conception et réalisation d’une application Mobile banking
Conception et réalisation d’une application  Mobile banking  Conception et réalisation d’une application  Mobile banking
Conception et réalisation d’une application Mobile banking
 
PFE BI - INPT
PFE BI - INPTPFE BI - INPT
PFE BI - INPT
 
게임제작개론 : #8 게임 제작 프로세스
게임제작개론 : #8 게임 제작 프로세스게임제작개론 : #8 게임 제작 프로세스
게임제작개론 : #8 게임 제작 프로세스
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
 
Unity vr jam_kelvin_1127
Unity vr jam_kelvin_1127Unity vr jam_kelvin_1127
Unity vr jam_kelvin_1127
 
Projet BI - 1 - Analyse des besoins
Projet BI - 1 - Analyse des besoinsProjet BI - 1 - Analyse des besoins
Projet BI - 1 - Analyse des besoins
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
 
Réalité augmentée : technologies et marché
Réalité augmentée : technologies et marchéRéalité augmentée : technologies et marché
Réalité augmentée : technologies et marché
 

Similaire à Formation Unity 3D Réalité Virtuelle

Jeux vidéo sur mobile - Unity3d
Jeux vidéo sur mobile - Unity3dJeux vidéo sur mobile - Unity3d
Jeux vidéo sur mobile - Unity3dXavier MARIN
 
Réalité virtuelle + Open source = <3
Réalité virtuelle + Open source = <3Réalité virtuelle + Open source = <3
Réalité virtuelle + Open source = <3Yannick Comte
 
Meetup XVRRAA #2 : Les news de l'open source
Meetup XVRRAA #2 : Les news de l'open sourceMeetup XVRRAA #2 : Les news de l'open source
Meetup XVRRAA #2 : Les news de l'open sourceYannick Comte
 
Unity 3D : Guide débutant
Unity 3D : Guide débutantUnity 3D : Guide débutant
Unity 3D : Guide débutantAntho Cardinale
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft
 
Au coeur d'un projet Kinect innovant
Au coeur d'un projet Kinect innovantAu coeur d'un projet Kinect innovant
Au coeur d'un projet Kinect innovantMicrosoft
 
Photos et autres sensors sur Windows Phone
Photos et autres sensors sur Windows PhonePhotos et autres sensors sur Windows Phone
Photos et autres sensors sur Windows PhoneMicrosoft
 
Diapo IUT3
Diapo IUT3Diapo IUT3
Diapo IUT3Neoxis
 
Présentation : Projet de Fin d'etude ' PFE ' 2018 : Conception et Réalisation...
Présentation : Projet de Fin d'etude ' PFE ' 2018 : Conception et Réalisation...Présentation : Projet de Fin d'etude ' PFE ' 2018 : Conception et Réalisation...
Présentation : Projet de Fin d'etude ' PFE ' 2018 : Conception et Réalisation...Achraf Frouja
 
Kinect en moins de 10 Minutes
Kinect en moins de 10 MinutesKinect en moins de 10 Minutes
Kinect en moins de 10 MinutesMicrosoft
 
ADT SOFAVR jesnault 01-10-12 final presentation 2
ADT SOFAVR jesnault 01-10-12 final presentation 2ADT SOFAVR jesnault 01-10-12 final presentation 2
ADT SOFAVR jesnault 01-10-12 final presentation 2Jérôme Esnault
 
XebiCon'17 : Réalité Augmentée pour les terminaux iOS - Julien Datour et S...
XebiCon'17 : Réalité Augmentée pour les terminaux iOS - Julien Datour et S...XebiCon'17 : Réalité Augmentée pour les terminaux iOS - Julien Datour et S...
XebiCon'17 : Réalité Augmentée pour les terminaux iOS - Julien Datour et S...Publicis Sapient Engineering
 
Audio Integration in Unity (French)
Audio Integration in Unity (French)Audio Integration in Unity (French)
Audio Integration in Unity (French)Vincent PERCEVAULT
 
Retour d'expérience développement jeux android
Retour d'expérience développement jeux androidRetour d'expérience développement jeux android
Retour d'expérience développement jeux androidjodem
 

Similaire à Formation Unity 3D Réalité Virtuelle (20)

Jeux vidéo sur mobile - Unity3d
Jeux vidéo sur mobile - Unity3dJeux vidéo sur mobile - Unity3d
Jeux vidéo sur mobile - Unity3d
 
Réalité virtuelle + Open source = <3
Réalité virtuelle + Open source = <3Réalité virtuelle + Open source = <3
Réalité virtuelle + Open source = <3
 
Guide Unity 3D pdf
Guide Unity 3D pdfGuide Unity 3D pdf
Guide Unity 3D pdf
 
Meetup XVRRAA #2 : Les news de l'open source
Meetup XVRRAA #2 : Les news de l'open sourceMeetup XVRRAA #2 : Les news de l'open source
Meetup XVRRAA #2 : Les news de l'open source
 
Unity 3D : Guide débutant
Unity 3D : Guide débutantUnity 3D : Guide débutant
Unity 3D : Guide débutant
 
AR / VR / XR dans les navigateurs
AR / VR / XR dans les navigateursAR / VR / XR dans les navigateurs
AR / VR / XR dans les navigateurs
 
Cours cordova & REST
Cours cordova & RESTCours cordova & REST
Cours cordova & REST
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?
 
Au coeur d'un projet Kinect innovant
Au coeur d'un projet Kinect innovantAu coeur d'un projet Kinect innovant
Au coeur d'un projet Kinect innovant
 
Photos et autres sensors sur Windows Phone
Photos et autres sensors sur Windows PhonePhotos et autres sensors sur Windows Phone
Photos et autres sensors sur Windows Phone
 
Ogre 3D : une introduction
Ogre 3D : une introductionOgre 3D : une introduction
Ogre 3D : une introduction
 
Diapo IUT3
Diapo IUT3Diapo IUT3
Diapo IUT3
 
Présentation : Projet de Fin d'etude ' PFE ' 2018 : Conception et Réalisation...
Présentation : Projet de Fin d'etude ' PFE ' 2018 : Conception et Réalisation...Présentation : Projet de Fin d'etude ' PFE ' 2018 : Conception et Réalisation...
Présentation : Projet de Fin d'etude ' PFE ' 2018 : Conception et Réalisation...
 
Kinect en moins de 10 Minutes
Kinect en moins de 10 MinutesKinect en moins de 10 Minutes
Kinect en moins de 10 Minutes
 
ADT SOFAVR jesnault 01-10-12 final presentation 2
ADT SOFAVR jesnault 01-10-12 final presentation 2ADT SOFAVR jesnault 01-10-12 final presentation 2
ADT SOFAVR jesnault 01-10-12 final presentation 2
 
XebiCon'17 : Réalité Augmentée pour les terminaux iOS - Julien Datour et S...
XebiCon'17 : Réalité Augmentée pour les terminaux iOS - Julien Datour et S...XebiCon'17 : Réalité Augmentée pour les terminaux iOS - Julien Datour et S...
XebiCon'17 : Réalité Augmentée pour les terminaux iOS - Julien Datour et S...
 
NodeJs in real life
NodeJs in real lifeNodeJs in real life
NodeJs in real life
 
Apache Cordova 3.3 de zéro
Apache Cordova 3.3 de zéroApache Cordova 3.3 de zéro
Apache Cordova 3.3 de zéro
 
Audio Integration in Unity (French)
Audio Integration in Unity (French)Audio Integration in Unity (French)
Audio Integration in Unity (French)
 
Retour d'expérience développement jeux android
Retour d'expérience développement jeux androidRetour d'expérience développement jeux android
Retour d'expérience développement jeux android
 

Plus de Yannick Comte

Présentation de HDRP
Présentation de HDRPPrésentation de HDRP
Présentation de HDRPYannick Comte
 
De Unity à Unreal Engine 4
De Unity à Unreal Engine 4De Unity à Unreal Engine 4
De Unity à Unreal Engine 4Yannick Comte
 
Gestion de projet multiplateforme avec Unity
Gestion de projet multiplateforme avec UnityGestion de projet multiplateforme avec Unity
Gestion de projet multiplateforme avec UnityYannick Comte
 
Un rendu de Quality avec Unity 3D
Un rendu de Quality avec Unity 3DUn rendu de Quality avec Unity 3D
Un rendu de Quality avec Unity 3DYannick Comte
 
Les nouveautés d'Unity 2018
Les nouveautés d'Unity 2018Les nouveautés d'Unity 2018
Les nouveautés d'Unity 2018Yannick Comte
 
Présentation du Meetup Unity3D Lyon
Présentation du Meetup Unity3D LyonPrésentation du Meetup Unity3D Lyon
Présentation du Meetup Unity3D LyonYannick Comte
 

Plus de Yannick Comte (6)

Présentation de HDRP
Présentation de HDRPPrésentation de HDRP
Présentation de HDRP
 
De Unity à Unreal Engine 4
De Unity à Unreal Engine 4De Unity à Unreal Engine 4
De Unity à Unreal Engine 4
 
Gestion de projet multiplateforme avec Unity
Gestion de projet multiplateforme avec UnityGestion de projet multiplateforme avec Unity
Gestion de projet multiplateforme avec Unity
 
Un rendu de Quality avec Unity 3D
Un rendu de Quality avec Unity 3DUn rendu de Quality avec Unity 3D
Un rendu de Quality avec Unity 3D
 
Les nouveautés d'Unity 2018
Les nouveautés d'Unity 2018Les nouveautés d'Unity 2018
Les nouveautés d'Unity 2018
 
Présentation du Meetup Unity3D Lyon
Présentation du Meetup Unity3D LyonPrésentation du Meetup Unity3D Lyon
Présentation du Meetup Unity3D Lyon
 

Formation Unity 3D Réalité Virtuelle

  • 1. Formation Unity VR Parce que la VR c’est trop cool
  • 2. Qui suis-je ? Yannick Comte - Développeur R&D Réalité Virtuelle chez Wanadev - Développeur de jeux vidéo en Réalité Virtuelle - Contributeur OSVR - Auteur d’articles et de toolkit pour la Réalité Virtuelle Me suivre - Twitter : @CYannick - Google+ : http://plus.google.com/+YannickComte
  • 3. Rappel Unity - Moteur 3D et 2D - Gère le son - Animation - Physique - Multiplateformes (Linux, Mac, Android, iOS, WebGL, Xbox One, etc...) - VR : Oculus Rift (Runtime 1.3+), OpenVR (Vive, etc...) - Scripting C# - Extensible (plugins, code natif, etc...)
  • 4. Red or Blue pill?!
  • 5. Rappel sur les casques - Oculus : Le Rift CV1 est la version actuelle grand public. L’application Oculus Home est requise à son fonctionnement - HTC Vive : Le Vive est née d’un partenariat entre HTC et Valve (Steam, Half Life, etc...). La plateforme Steam est requise ainsi que l’application SteamVR. - HDK : Née d’un partenariat entre Sensics et Razer. Il fonctionne sur la plateforme OSVR. Razer a crée le design et produit le HDK, Sensics s’occupe de la conception matériel et logiciel (OSVR entre autre).
  • 6. OpenVR OpenVR est l’API utilisée par le HTC Vive sur Steam. Elle est ouverte aux tiers et gère le Rift, mais aussi les casques fonctionnant sur OSVR (via un driver externe). - Créer des drivers pour d’autres casques (OSVR) - Créer des drivers de contrôleurs VR (Razer Hydra, Leap Motion, PS Move) - L’utiliser sous Windows, Linux (prochainement) et Mac (en théorie) C’est une API universelle dont les sources sont fermées (seuls les headers sont disponibles). Nous pouvons l’utiliser pour développer avec tous les casques du marché.
  • 7. Unity : VR Everywhere Supporter un projet VR en quelques clics (Oculus, OpenVR) File / Build Settings / Player Settings / Other Settings / Virtual reality SDKs La caméra principale sera surchargée avec la position et la rotation du casque !
  • 8. Scripting C# MonoBehaviour : La classe de base d’un script. Il s'attache sur un GameObject (noeud sur la scène) - Awake() équivalent au constructeur - OnEnable/Disable je vous laisse deviner - OnDestroy() Quand le script est détruit - Start() une fois que tous les MonoBehaviour sont chargés (Awake appelé) - Update() Mise à jour des inputs, etc.. - FixedUpdate() Mise à jour de la physique (Rigidbody)
  • 9. Documentation La documentation C# - https://docs.unity3d.com/ScriptReference/ Les tutoriels Français - http://blog.drakulo.com/ - http://www.demonixis.net/blog
  • 10. Les plugins / Outils utiles - Demonixis.Toolbox : Scripts pour gérer les SDKs VR, l’UI, etc... - ProBuilder : Outil de level design (Blender pour les nuls), la version gratuite est suffisante pour commencer, la version payante coûte 100$ - InControl : Gestion des input (37.50€) - DoTween : Animation / Séquences
  • 11. Les SDKs - Le SDK OSVR - Le SDK OpenVR (SteamVR) - Le SDK Oculus Rift et Gear VR Pour une utilisation facile => Demonixis.VR Gère automatiquement l’ajout des différents scripts sur votre prefab de joueur. Il restera ainsi propre de tout script vendeur !
  • 12. Créer un FPS (rien qu’ça) - Créer le niveau - Créer le contrôleur - Tirer - Tester Règle numéro 1 : Forcer le déplacement du joueur peut rendre malade (motion sickness), il ne faut pas être trop brusque, mais on s’y fait ! Règle numéro 2 : Du coup on utilise de la téléportation car c’est à la mode et ça ne rend personne malade.
  • 13. Hiérarchie du joueur Player : GameObject (déplacement) -> Head : GameObject -> TrackingSpace : GameObject -> MainCamera : Camera -> Canvas (UI à appliquer au joueur) -> Controllers : GameObject (conteneur des contrôleurs au cas ou)* Cette hiérarchie est proposée par Oculus et fonctionne avec TOUT. * Si les contrôleurs ne gère pas la position par rapport au casque, il faut les attacher au GameObject Head
  • 14. L’UI : Car c’est important Règle numéro 3 : Ne pas charger le champs de vision du joueur - Pas de notion d’écran en VR - Uniquement des UI World Space - Fonctionnement des UI - Interaction au regard avec VRGazeUI.cs https://github.com/demonixis/Unity- toolbox/blob/master/VR/VRGazeUI.cs - On oublie pas de s’ajouter un callback pour AddInputListener qui va valider ou pas l’action.
  • 15. La téléportation - Ajout d’un sprite qui réagit au regards - Utiliser ScreenFader https://github.com/demonixis/Unity- toolbox/blob/master/Graphics/ScreenFader.cs pour faire une transition propre var pos = target.position pos.y = player.y; transform.position = pos; Règle numéro 4 : On ne modifie pas directement la rotation (pour ne pas que le joueur perde ses repaires, mais il y a des exceptions évidemment :-) )
  • 16. Fin