1

我遇到了一个问题,在 Unity 中进行独立构建会导致音频文件不被复制(据我所知)或内置到“App_Data/unity 默认资源”文件中。如果我将音频文件手动复制粘贴到构建资源文件夹中,构建工作正常。我的文件是 .ogg 的,它们存储在 Assets/Resources 文件夹中,其中包含构建中内置的所有图像。ogg 文件确实出现在 Unity 中,我在 C# 脚本中引用了它们。音频在 Unity 本身中运行并且在将音频资产复制到独立构建目录后工作。

请注意,我希望构建过程本身可以做到这一点,而不必编写构建后脚本来复制数据。编写这个脚本没有问题,但我有点惊讶 Unity 没有自动完成。

有谁知道为什么 Unity 不复制它们?是否有一个设置,我的所有搜索我仍然没有找到?

提前致谢!

4

1 回答 1

2

Unity 非常擅长仅包含您在编辑器中引用的内容。如果您没有在编辑器中引用您的 ogg 文件,Unity 将无法序列化该引用,并且无法确定您在项目中需要它,只是因为您在代码中引用了它。

如果您在编辑器中有一个包含音频源的游戏对象,并且您将 ogg 文件放入其中(在声音剪辑字段中),则该音频文件将包含在项目中。任何其他类型的编辑器引用都会使 Unity 在项目中包含一个文件。

如果您通过动态加载声音文件来使用它们,那么您需要将所有声音文件包含在 Assets/Resources 中,并使用 Resources.Load() 加载它们。

最后,要准确检查包含哪些文件,您可以检查编辑器日志。如果 Unity 没有复制 Resources 文件夹中的文件,那么唯一可能的答案是您通过 Unity 编辑器中的 Help->Report a Bug 向他们发送错误报告。

于 2013-10-23T11:45:23.483 回答