我目前在我的游戏运行时动态创建动画剪辑以移动一些部分。你可以在这里看到我的意思: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的动画组件)
但是使用分析器,我看到动画片段只是不断积累,它们似乎不是垃圾收集的。我错过了什么或做错了什么?它们可以被垃圾收集吗?