Zugriff auf Vermögenswerte in Einheitsprojekten für Hololens -Bereitstellung
Entwicklung von Hololens -Anwendungen beinhaltet häufig das Laden von Assets wie Text, Bildern oder Audio aus dem Ordner Ressourcen. Die Methode zum Zugriff auf diese Vermögenswerte unterscheidet sich jedoch signifikant zwischen dem Unity -Editor und einer bereitgestellten Hololens -Anwendung.
Einheitseditor Asset Lade
Innerhalb des Unity -Editors versuchen Sie möglicherweise, Vermögenswerte mithilfe von Dateisystempfaden wie folgt zu laden:
<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>
Dieser Ansatz ist inkompatibel für Hololens -Bereitstellungen.
Richtige Vermögensladung für Hololens
richtig Die korrekte Methode zum Laden von Vermögenswerten in einem HoloLens -Build beruht ausschließlich auf Resources.Load()
. Hier ist die richtige Technik:
1. Asset Pfadspezifikation:
Resources
Ordner im Ordner Ihres Projekts. Assets
.txt
, .png
usw.) aus dem Pfad aus.
.mp3
Verwenden Sie Vorwärts -Schrägstriche (/
Verwenden Sie die entsprechende
Überlastung für Ihren Anlagestyp:
Resources.Load()
<code class="language-C#">TextAsset txtAsset = Resources.Load<TextAsset>("textfile"); string tileFile = txtAsset.text;</code>
<code class="language-C#">AudioClip audio = Resources.Load<AudioClip>("soundFile");</code>
<code class="language-C#">Texture2D texture = Resources.Load<Texture2D>("textureFile");</code>
<code class="language-C#">Sprite sprite = Resources.Load<Sprite>("spriteFile");</code>
<code class="language-C#">Sprite[] sprites = Resources.LoadAll<Sprite>("spriteFolder");</code>
<code class="language-C#">VideoClip video = Resources.Load<VideoClip>("videoFile");</code>
<code class="language-C#">GameObject prefab = Resources.Load<GameObject>("shipPrefab");</code>
<code class="language-C#">Mesh mesh = Resources.Load<Mesh>("yourModelFileName");</code>
Zugriff auf Vermögenswerte in Unterordnern mit Vorwärts -Schrägstrichen:
<code class="language-C#">AudioClip audio = Resources.Load<AudioClip>("Sound/shoot");</code>
Verwenden Sie für eine verbesserte Leistung
für asynchrones Vermögensladen.
Resources.LoadAsync()
Durch Einhalten dieser Richtlinien können Sie bei der Bereitstellung Ihrer Unity -Anwendungen für Hololens zuverlässig Vermögenswerte aus dem Ordner
laden. Denken Sie daran, immer und relative Pfade im Ordner Resources
zu verwenden, Dateiverlängerungen wegzulassen und Vorwärtsreduzierungen zu verwenden. Resources.Load()
Das obige ist der detaillierte Inhalt vonWie laden Sie Ressourcen aus dem Ressourcenordner in Einheit für Hololens -Bereitstellung korrekt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!