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