是否可以将音频文件放在另一个文件夹中,然后在加载场景时重新编译?我不想使用流媒体资源文件夹,我想从其他文件夹加载它(我希望将其编译)。
答案 0 :(得分:1)
对于这样的内容,您想要使用Resources folder。创建一个名为Resources的文件夹,您可以使用以下函数加载:
public static Object Load(string path);
所以这样的事情会起作用:
Resources.Load("music.mp3") as AudioClip;
请注意,这可能在计算上非常昂贵,您可能希望使用LoadAll
或LoadAsync
来减少系统上的操作难度。请参阅Unity Resource documentation。
答案 1 :(得分:1)
如果您希望将其编译为整个构建的一部分,请将资产放在Assets下的任何文件夹中,并创建一个拖动资产的引用。
public AudioClip audioClip;
StreamingAssets和Resources文件夹包含存储在其中的所有项目,这是因为Unity无法定义是否使用该资产,因此它只是发布它。
当您将项目保留在其他文件夹下时,Unity将仅在找到引用时发送(并构建)它们。它检查元文件是否链接了资产。
构建的差异是"运送"资产在最终版本中合并,而Resources和StreamingAssets资源存储在数据文件夹中的特定文件夹中。