访问HoloLens部署的Unity项目中的资产 开发HoloLens应用程序通常涉及从资源文件夹中加载文本,图像或音频等资产。 但是,访问这些资产的方法在Unity编辑器和部署的HoloLens应用程序之间有很大不同。
Unity编辑资产加载
> 在Unity编辑器中,您可能会尝试使用文件系统路径加载资产,例如:
这种方法与HoloLens部署不兼容<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>
。 这是正确的技术:
1。资产路径规范: Resources.Load()
路径相对于您项目的文件夹中的任何文件夹。
Resources
,Assets
,.txt
.png
2。加载资产类型:.mp3
/
>
>音频文件:Resources.Load()
>
图像文件:
<code class="language-C#">TextAsset txtAsset = Resources.Load<TextAsset>("textfile"); string tileFile = txtAsset.text;</code>
> sprites(单):
<code class="language-C#">AudioClip audio = Resources.Load<AudioClip>("soundFile");</code>
> sprites(多重):
<code class="language-C#">Texture2D texture = Resources.Load<Texture2D>("textureFile");</code>视频文件(UNITY 5.6):
>
<code class="language-C#">Sprite sprite = Resources.Load<Sprite>("spriteFile");</code>游戏对象(prefabs):
<code class="language-C#">Sprite[] sprites = Resources.LoadAll<Sprite>("spriteFolder");</code>3D网格:
>子文件夹:
<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>
摘要:
通过遵守这些准则,您可以在部署Unity应用程序到HoloLens时可靠地从>文件夹中始终使用
和相对路径,省略文件扩展名并使用前向斜线。以上是如何从Unity中正确地加载资源以进行HoloLens部署?的详细内容。更多信息请关注PHP中文网其他相关文章!