【发布时间】:2016-01-12 14:59:43
【问题描述】:
是否可以将音频文件放在另一个文件夹中,然后在加载场景时重新编译?我不想使用流资产文件夹,我想从其他文件夹加载它(我想编译它)。
【问题讨论】:
-
This link 可能会帮助您了解声音机制
是否可以将音频文件放在另一个文件夹中,然后在加载场景时重新编译?我不想使用流资产文件夹,我想从其他文件夹加载它(我想编译它)。
【问题讨论】:
对于这样的东西,你想使用Resources folder。创建一个名为Resources的文件夹,可以使用函数加载:
public static Object Load(string path);
所以这样的事情会起作用:
Resources.Load("music.mp3") as AudioClip;
请注意,这在计算上可能会很昂贵,您可能希望使用LoadAll 或LoadAsync 来降低系统上的难度。见Unity Resource documentation。
【讨论】:
如果您希望将其作为整个构建的一部分进行编译,请将资产放在 Assets 下的任何文件夹中,并创建一个引用,将资产拖入其中。
public AudioClip audioClip;
StreamingAssets 和 Resources 文件夹会运送存储在其中的所有项目,这是因为 Unity 无法定义资产是否会被使用,所以它只是运送它。
当您将项目保存在其他文件夹下时,Unity 只会在找到引用的情况下发送(和构建)它们。它检查元文件是否链接资产。
构建的不同之处在于,“已交付”资产在最终构建中合并,而 Resources 和 StreamingAssets 资产存储在数据文件夹中的特定文件夹中。
【讨论】: