Maison >développement back-end >C++ >Comment charger correctement les ressources du dossier Ressources dans Unity for HoloLens Deployment?
Accès aux actifs dans des projets d'unité pour le déploiement HoloLens
Le développement d'applications HoloLens implique souvent le chargement d'actifs comme du texte, des images ou de l'audio à partir du dossier Ressources. Cependant, la méthode d'accès à ces actifs diffère considérablement entre l'éditeur d'Unity et une application HoloLens déployée.
Unity Editor Asset Loading
Au sein de l'éditeur d'Unity, vous pourriez essayer de charger des actifs à l'aide de chemins de système de fichiers, comme ceci:
<code class="language-C#">string basePath = Application.dataPath; string metadataPath = String.Format(@"\Resources\...\metadata.txt", list); if (File.Exists(basePath + metadataPath)) { using (StreamReader sr = new StreamReader(new FileStream(basePath + metadataPath, FileMode.Open))) { ... } } foreach (string str in im) { spriteList.Add(Resources.Load<Sprite>(str)); }</code>
Cette approche est incompatible avec les déploiements holoLens.
Chargement de l'actif correct pour HoloLens
La méthode correcte pour le chargement des actifs dans une construction holoLens repose exclusivement sur Resources.Load()
. Voici la bonne technique:
1. Spécification du chemin d'atout:
Resources
dans le dossier Assets
de votre projet. .txt
, .png
, .mp3
, etc.) du chemin. /
) comme séparateurs de chemin, même sur Windows. 2. Types d'actifs de chargement:
Utilisez la surcharge Resources.Load()
appropriée pour votre type d'actif:
Fichiers texte:
<code class="language-C#">TextAsset txtAsset = Resources.Load<TextAsset>("textfile"); string tileFile = txtAsset.text;</code>
Fichiers audio:
<code class="language-C#">AudioClip audio = Resources.Load<AudioClip>("soundFile");</code>
Fichiers d'image:
<code class="language-C#">Texture2D texture = Resources.Load<Texture2D>("textureFile");</code>
sprites (célibataire):
<code class="language-C#">Sprite sprite = Resources.Load<Sprite>("spriteFile");</code>
sprites (multiples):
<code class="language-C#">Sprite[] sprites = Resources.LoadAll<Sprite>("spriteFolder");</code>
Fichiers vidéo (Unity 5.6):
<code class="language-C#">VideoClip video = Resources.Load<VideoClip>("videoFile");</code>
objets de jeu (préfabs):
<code class="language-C#">GameObject prefab = Resources.Load<GameObject>("shipPrefab");</code>
mailles 3D:
<code class="language-C#">Mesh mesh = Resources.Load<Mesh>("yourModelFileName");</code>
Sous-dossiers:
Accès aux actifs dans les sous-dossiers à l'aide de barres obliques:
<code class="language-C#">AudioClip audio = Resources.Load<AudioClip>("Sound/shoot");</code>
Chargement asynchrone:
Pour améliorer les performances, utilisez Resources.LoadAsync()
pour le chargement des actifs asynchrones.
Résumé:
En adhérant à ces directives, vous pouvez charger de manière fiable les actifs du dossier Resources
lors du déploiement de vos applications Unity à HoloLens. N'oubliez pas d'utiliser toujours Resources.Load()
et des chemins relatifs dans le dossier Resources
, en omettant des extensions de fichiers et en utilisant des barres obliques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!