Maison > développement back-end > C++ > Comment charger correctement les ressources du dossier Ressources dans Unity for HoloLens Deployment?

Comment charger correctement les ressources du dossier Ressources dans Unity for HoloLens Deployment?

DDD
Libérer: 2025-01-28 19:06:10
original
890 Les gens l'ont consulté

How to Correctly Load Resources from the Resources Folder in 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>
Copier après la connexion

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:

  • Les chemins sont relatifs à tout dossier Resources dans le dossier Assets de votre projet.
  • omettre Extensions de fichiers (.txt, .png, .mp3, etc.) du chemin.
  • Utilisez des barres obliques (/) 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>
Copier après la connexion

Fichiers audio:

<code class="language-C#">AudioClip audio = Resources.Load<AudioClip>("soundFile");</code>
Copier après la connexion

Fichiers d'image:

<code class="language-C#">Texture2D texture = Resources.Load<Texture2D>("textureFile");</code>
Copier après la connexion

sprites (célibataire):

<code class="language-C#">Sprite sprite = Resources.Load<Sprite>("spriteFile");</code>
Copier après la connexion

sprites (multiples):

<code class="language-C#">Sprite[] sprites = Resources.LoadAll<Sprite>("spriteFolder");</code>
Copier après la connexion

Fichiers vidéo (Unity 5.6):

<code class="language-C#">VideoClip video = Resources.Load<VideoClip>("videoFile");</code>
Copier après la connexion

objets de jeu (préfabs):

<code class="language-C#">GameObject prefab = Resources.Load<GameObject>("shipPrefab");</code>
Copier après la connexion

mailles 3D:

<code class="language-C#">Mesh mesh = Resources.Load<Mesh>("yourModelFileName");</code>
Copier après la connexion

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>
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal