Unity3d 卸载银行是否会销毁/释放该银行中的所有实例

Unity3d 卸载银行是否会销毁/释放该银行中的所有实例,unity3d,fmod,Unity3d,Fmod,卸载银行作为释放所有相关实例的手段是否安全?我对FMOD很陌生,正在努力了解自己的方向 我在Unity中跨场景播放音乐,因此我想知道我是否应该担心保留实例,或者干脆卸载银行。引用: 如果包含样本数据的银行是通过Studio::System::loadBankMemory加载的,则系统必须在卸载银行时立即卸载样本数据。如果银行中的任何事件实例仍在播放,这可能会导致播放错误。即使从不同的银行加载了样本数据的多个副本,并且仅卸载了其中一个副本,也会发生这种情况 因此,基本上,如果您通过Unity In

卸载银行作为释放所有相关实例的手段是否安全?我对FMOD很陌生,正在努力了解自己的方向

我在Unity中跨场景播放音乐,因此我想知道我是否应该担心保留实例,或者干脆卸载银行。

引用:

如果包含样本数据的银行是通过Studio::System::loadBankMemory加载的,则系统必须在卸载银行时立即卸载样本数据。如果银行中的任何事件实例仍在播放,这可能会导致播放错误。即使从不同的银行加载了样本数据的多个副本,并且仅卸载了其中一个副本,也会发生这种情况

因此,基本上,如果您通过Unity Integration package for Fmod的API显式加载银行,则必须小心银行卸载,因为它可能会创建不需要的行为和空引用。但是如果你在做一个特定的场景,比如在场景卸载时卸载银行,你绝对肯定没有任何实例会引用银行,我看不出有什么理由不这样做。
此外,fmod的unity集成为银行装载和卸载提供了事件触发器。看看这个:

如果你编辑标题,你的问题会更有意义。正如我在回答中所解释的,卸载银行意味着所有指向银行的实例都将变得无效,因此,如果您尝试调用其中一个实例的
Play()
,您将获得空引用;但是,例如,如果卸载场景,则参数触发器或事件发射器等实例本身将变成垃圾并由垃圾收集器收集。因此,标题中的“停止”一词与问题的其余部分不一致。