unity的流媒体资源从另一个文件夹加载

时间:2016-01-12 03:24:05

标签: c# unity3d

是否可以将音频文件放在另一个文件夹中,然后在加载场景时重新编译?我不想使用流媒体资源文件夹,我想从其他文件夹加载它(我希望将其编译)。

2 个答案:

答案 0 :(得分:1)

对于这样的内容,您想要使用Resources folder。创建一个名为Resources的文件夹,您可以使用以下函数加载:

public static Object Load(string path); 

所以这样的事情会起作用:

Resources.Load("music.mp3") as AudioClip;

请注意,这可能在计算上非常昂贵,您可能希望使用LoadAllLoadAsync来减少系统上的操作难度。请参阅Unity Resource documentation

答案 1 :(得分:1)

如果您希望将其编译为整个构建的一部分,请将资产放在Assets下的任何文件夹中,并创建一个拖动资产的引用。

public AudioClip audioClip;

StreamingAssets和Resources文件夹包含存储在其中的所有项目,这是因为Unity无法定义是否使用该资产,因此它只是发布它。

当您将项目保留在其他文件夹下时,Unity将仅在找到引用时发送(并构建)它们。它检查元文件是否链接了资产。

构建的差异是"运送"资产在最终版本中合并,而Resources和StreamingAssets资源存储在数据文件夹中的特定文件夹中。