【问题标题】:Unity3D AssetDatabase.LoadAssetAtPath() vs Resource.Load()Unity3D AssetDatabase.LoadAssetAtPath() 与 Resource.Load()
【发布时间】:2017-09-08 08:54:48
【问题描述】:

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

【问题讨论】:

    标签: unity3d


    【解决方案1】:

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

    没有。

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

    您使用Resource.Load 很好,但Resource.Load 需要使用资源文件夹,这会导致游戏加载时间变慢。


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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-10
      • 1970-01-01
      • 2011-12-06
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 2016-04-10
      相关资源
      最近更新 更多