Unity3D AssetDatabase.LoadAssetAtPath()vs Resource.Load()

时间:2017-09-08 00:19:50

标签: unity3d

我在游戏开发中的合作伙伴正在关注Unity。我使用Resource.Load()动态加载资产,并使用AssetDatabase.LoadAssetAtPath()。他们似乎都工作,所以应该使用哪一个?为什么有两种不同的方式来动态加载资产?

1 个答案:

答案 0 :(得分:6)

  

AssetDatabase.LoadAssetAtPath() vs Resource.Load() ......他们俩都是   似乎工作,所以应该使用哪一个?

他们都不是。

你的伴侣最终会得到一个他无法建立的游戏,因为他使用了AssetDatabase.LoadAssetAtPath()AssetDatabase.LoadAssetAtPath()函数来自UnityEditor命名空间,该命名空间仅用于制作编辑器插件。它不会在编辑器之外工作,甚至不会让你构建你的游戏。

您使用Resource.Load很好,但Resource.Load需要使用Resources文件夹,该文件夹已知会导致游戏加载时间变慢。

AssetBundles是推荐的方式。您可以将这些文件放在 StreamingAssets 文件夹中,然后使用WWWAssetBundle API在运行时加载它。您可以详细了解如何使用AssetBundles here