Tutoriel pour démarrer Unreal Engine avec le Apple Vision Pro

La réalité virtuelle avec Unreal Engine, les templates, les mods UEVR, utilisation des casques Meta Quest, Playstation VR2 et Apple Vision Pro
Avatar de l’utilisateur
Colonel
Messages : 192
Inscription : 20 oct. 2022, 12:22

Pré-requis

Un Mac Apple silicon (M1, M2, M3, M4) est obligatoire

Xcode 15.3 avec le visionOS 1.1 support doit être installé



Configuration du Apple Vision Pro

Il s'agit d'un résumé rapide, voir la documentation d'Apple pour des instructions d'installation complètes.

Installez l'appareil et connectez-le à votre réseau wifi, ou utilisez la dragonne pour développeur.

Il est recommandé d'utiliser la dragonne pour développeur car le wifi n'est pas toujours fiable.

Mettez à jour en visionOS 1.1

Allez dans préférences -> Confidentialité et sécurité -> Developer mode, et régler sur On



Xcode

(Facultatif) Build un projet modèle Apple pour vérifier que vous avez correctement configuré Xcode. Reportez-vous à la documentation d'Apple pour plus de détails.

Créer un nouveau projet

Sélectionnez l'onglet visionOS, choisissez App, puis cliquez sur suivant (voir image).

Sous Immersive Space Renderer, choisissez « Metal », puis cliquez sur Next.

Choisissez un dossier dans lequel enregistrer le projet, puis cliquez sur Créer.

Choisissez votre appareil AVP dans le menu déroulant du haut (voir l'image). Si vous ne le voyez pas ici, allez à Window -> Devices and Simulators, et vérifiez que votre AVP est connecté.

Lancez l'application (Commande+R, ou bouton Play en haut à gauche)

Lancer Xcode

Si l'application fonctionne, vous êtes maintenant prêt à développer pour l'Apple Vision Pro sur votre Mac.







Unreal Engine

Actuellement, seuls les projets en C++ sont pris en charge.

Installer Unreal Engine 5.5 via GitHub (La version binaire téléchargée depuis le Launcher d'Epic Games n'est pas supportée pour le moment, mais le sera à l'avenir).

Construire/Build l'éditeur

Lancer l'éditeur et créer un nouveau projet VR Template

Les variables de console suivantes sont maintenant définies à la fois dans Engine/Platforms/VisionOS/Config/VisionOSEngine.ini et MyProject/Config/VisionOS/VisionOSEngine.ini, vous ne devriez donc pas avoir besoin de les définir, à moins que vous ne les changiez intentionnellement.

vr.InstancedStereo=False
vr.MobileMultiView=False
xr.OpenXRAcquireMode=1

Allez dans Project Settings -> Platforms -> iOS -> Build -> Additional Plist Data, et ajoutez la chaîne suivante : <key>NSHandsTrackingUsageDescription</key><string>Tracking your hands to interact with the application.</string>

Ajoutez une classe C++ pour en faire un projet de code.

Activez le plugin OpenXR visionOS, puis cliquez sur redémarrer.

Dans la barre d'outils de l'Unreal Editor, cliquez sur Platforms -> visionOS, et choisissez où enregistrer le paquet (l'endroit n'a pas d'importance).

Ceci lancera le packaging du projet

S'il échoue pendant le cooking, exécutez ceci après (en remplaçant la partie en gras) : ./RunUAT.sh BuildCookRun -project=« /Users/josh.adams/Documents/Unreal Projects/VisionOSTest/VisionOSTest.uproject » -platform=VisionOS -build -skipcook -stage -pak

Ouvrez l'espace de travail Xcode visionOS dans le répertoire de votre projet Unreal.

Pour « MonProjet », ce serait « MonProjet (VisionOS).xcworkspace »

Définissez le Xcode Product-> Scheme de Xcode à votre projet

Assurez-vous que votre Vision Pro est le Produit-> Destination et qu'il est déverrouillé et éveillé (comme pour les pré-requis Xcode étape 6)

Lancez l'application (Commande+R, ou bouton Play en haut à gauche)

Si vous passez au Deferred desktop renderer, exécutez avec -norhithread (Xcode product scheme a un endroit pour mettre des arguments de ligne de commande) pour éviter une erreur parce que nous appelons les fonctions cp_frame_ à partir de deux threads (voir l'image)





Mode Immersion Mixte

Avec visionOS 2.0 et UE 5.5, nous pouvons utiliser le mode d'immersion mixte de l'AVP pour la réalité augmentée !

VisionOS 2.0 nécessite xcode 16. Nous avons testé avec 16 beta 6. Voir la documentation d'Apple pour plus d'informations sur la configuration de l'appareil.

Les paramètres .ini requis pour l'immersion mixte se trouvent à la fois dans Engine/Platforms/VisionOS/Config/VisionOSEngine.ini et dans le VR Template's /Config/VisionOS/VisionOSEngine.ini. Le fichier VisionOSEngine.ini du projet remplace le moteur par défaut.

VisionOS 2.0 est en mode immersion totale par défaut.

Pour passer en mode mixte, vous devez

Dans \Engine\Platforms\VisionOS\Source\Runtime\LaunchSource\UESwift.swift commenter la ligne ci-dessous qui définit le ImmersionStyle à .full et décommenter la ligne qui définit le ImmersionStyle à .mixed.

// VisionOS 2+ prend également en charge l'immersion mixte.
@State private var style : ImmersionStyle = .full
//@State private var style : ImmersionStyle = .mixed

Dans VisionOSEngine.ini, décommentez les trois paramètres cvar :

//Activer ces paramètres pour le mode d'immersion mixte.
//r.Mobile.PropagateAlpha=1
//r.PostProcessing.PropagateAlpha=1
//r.AlphaInvertPass=1

Modifiez le contenu pour permettre certaines zones transparentes. Par exemple, supprimez le ciel et les murs, et faites en sorte que le sol soit caché dans le jeu (pour conserver les collisions).
Répondre