我遇到了一个问题,即在Unity中进行独立构建会导致音频文件无法复制(我可以告诉)或内置到“App_Data / unity default resources”文件中。如果我手动将音频文件粘贴到构建资源文件夹中,则构建工作正常。我的文件是.ogg,它们存储在Assets / Resources文件夹中,其中包含构建内置的所有图像。 ogg文件确实出现在Unity中,我在C#脚本中引用它们。在Unity本身运行时以及在将音频资产复制到独立构建目录后,音频可以正常工作。
请注意,我希望构建过程本身可以执行此操作,而不必编写构建后脚本来复制数据。编写这个脚本没有问题,但我有点惊讶Unity没有自动完成它。
有谁知道Unity为什么不复制它们?是否有一个设置,我仍然没有找到我的所有搜索?
提前致谢!
答案 0 :(得分:2)
Unity非常擅长包含您在编辑器中引用的内容。如果你没有在编辑器中引用你的ogg文件,Unity就无法序列化引用,也无法在项目中找出你需要它,只是因为你在代码中引用它。
如果编辑器中有一个具有音频源的游戏对象,并且您将ogg文件放入其中(在声音片段字段中),则该音频文件将包含在项目中。任何其他类型的编辑器引用都会使Unity在项目中包含一个文件。
如果您通过动态加载声音文件来使用声音文件,那么您需要在资源/资源中包含所有声音文件,并使用Resources.Load()加载它们。
最后,要确切地检查包含哪些文件,您可以检查编辑器日志。如果Unity没有复制Resources文件夹中的文件,那么唯一可能的答案就是你通过Help->在Unity编辑器中报告bug来向他们发送错误报告。