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

use*_*521 5 unity-game-engine

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

Pro*_*mer 7

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

他们都不是.

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

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


AssetBundles是推荐的方式.您可以将这些文件放在StreamingAssets文件夹中,然后使用WWWAssetBundleAPI在运行时加载它.您可以在此处了解有关如何使用AssetBundles的更多信息