[[Développement VR Unity]]
# Téléportation et navigation
Ajoutez le building block **Teleport** pour pouvoir vous téléporter dans la scene. Une fenêtre va s'ouvrir pour vous signaler qu'il faut d'autres éléments pour le bon fonctionnement de ce block, cliquez sur **Confirm**. Ce Building block nous permet de gérer la téléportation.
![[Code et Développement/Développement d'Applications/Développement VR Unity/ressources/image (2) (2).png]]
![[Code et Développement/Développement d'Applications/Développement VR Unity/ressources/image (3) (2).png]]
Il faut créer une zone où se téléporter. Pour ça créez un **GameObject vide** (**Create > Create Empty**) sur lequel on va mettre un **Component** **NavMesh Surface**.
![[Code et Développement/Développement d'Applications/Développement VR Unity/ressources/image (1) (4).png]]
Ce component permet de créer une zone où le joueur peut se téléporter. Pour la créer, cliquez sur **Bake.**
Vous devriez avoir ce résultat :
![[Code et Développement/Développement d'Applications/Développement VR Unity/ressources/image (2) (3).png]]
Si ne vous voyez pas la surface bleue cliquez ici :
![[image (3) (3).png]]
![[image (4) (2).png]]
La surface bleue n'est pas seulement sur le sol, mais monte aussi sur la table. Il faut que le joueur se déplace seulement sur le sol, pour ça modifiez les paramètre de l'**Agent** dans le **NavMesh Surface**. Cliquez sur **Humanoid > Open Agent Settings**
![[image (5) (2).png]]
Puisque notre table mesure 0.75m de haut, baissez la hauteur de la marche à 0.5m
![[image (6) (2).png]]
Cliquez sur **Bake**
![[image (7) (2).png]]
Changez le paramètre dans le NavMesh Surface de **Use Geometry** pour **Physics Colliders** pour prendre en compte que les colliders. Créez un **Layer Player** et modifiez le Layer du **[BuildingBlock] Camera Rig** pour **Player** :
![[image (8) (2).png]]
Revenez sur le **NavMesh Surface** et dépliez **Object Collection**, dans **Include Layers** décochez **Player**.
![[image (9) (1).png]]
Refaites **Bake**. Maintenant la surface de téléportation est bien autour de la table mais pas collée. Pour rapprocher la zone de la table, modifiez le **Radius** de l'**Agent** à **0.2** :
![[image (10) (1).png]]
Lorsque vous faites le **Bake,** vous verrez que la zone monte sur la table, mais on ne veut pas que le joueur monte sur la table, pour ça on va créer un volume sur la table. Allez sur le gameObject Table et ajoutez le component **NavMesh Modifier Volume**. Une boite rose devrait apparaitre, modifiez sa taille et son centre avec ses valeurs pour faire dépasser en hauteur le volume de la table :
![[image (11) (1).png]]
et le résultat final :
![[image (12) (1).png]]
**Ctrl+S**
En test, poussez le joystick de la manette droite vers l'avant pour vous déplacer.
![[TpNavMesh.gif]]
[[09. Créer un hotspot de téléportation]]
---