Unity3D:运行时生成的AnimationClips泄漏

时间:2016-01-06 13:24:27

标签: c# unity3d memory-leaks garbage-collection

我目前在我的游戏运行时动态创建动画剪辑以移动一些部分。你可以在这里看到我的意思:https://youtu.be/u1My9JX4K-c?t=8s,当碎片组合在一起然后再打开时。我不能重复使用这个片段,因为片段下次会有不同的位置,所以所有的动作都需要改变。

现在,每当我需要将它们分组并分开时,我会创建一个新剪辑,并尝试用以下内容替换任何现有剪辑:

private void ReplaceAndPlay(AnimationClip clip, string name) {
     var old = Anim.GetClip(name);
     if (old != null) {
         Anim.RemoveClip(name);
         Destroy(old);
     }
     Anim.AddClip(clip, name);
     Anim.Play(name);
 }

(Anim只指向gameObject的动画组件)

但是使用分析器,我看到动画片段只是不断积累,它们似乎不是垃圾收集的。我错过了什么或做错了什么?它们可以被垃圾收集吗?

0 个答案:

没有答案