为什么我的animation需要标记为“遗留”?

我在一个项目的开始,我没有真正使用3D模型,而是原始形状的层次结构。 我做了几个animation,突然不再工作了。 我得到一个关于我需要标记他们'遗产'的错误。

我遇到了这个建议 ,通过模型在钻机标签中标记为遗留,但我没有使用模型,所以没有帮助。

我不明白我昨天在Unity里做的animation今天不行吗? 这是什么遗留问题?

为了确保这个问题在GD:SE上search时帮助他人,我发布了你提到的链接:

http://answers.unity3d.com/questions/581261/animations-suddenly-need-to-be-marked-legacy.html

去引用:

我最近碰到了这个完全相同的问题,我find了两种方法来解决我的问题,所以我希望我能帮助你。

编辑


这篇文章正在变老,但不断popup,所以我会添加一个编辑。 由于原始文章我已经意识到一个更简单的方法来标记您的animation文件作为遗产:

项目窗口,然后到检查器窗口的右上角,从下拉菜单(locking旁边)selectdebugging,然后将animationtypes更改为1将其标记为传统。

从Unity 5.3屏幕截图

我不知道如果你做了,但是当我创建我的原始animation文件,我在“项目”窗口内。 尝试添加一个animation组件到您要animation的Sprite中,然后打开animation窗口并在下拉菜单中select“[新建animation]”。 这样做,似乎创建了旧的animation标志设置新的animation。 这样可以完全避免警告或需要编辑animation文件。 我希望这能解决你的问题,我知道这对我来说是多么的沮丧。

如果您不想将animation标记为遗留,则可以使用新的Playables API播放非传统animation片段:

private List<PlayableGraph> graphs = new List<PlayableGraph> (); // Just call this function when you want to play an AnimationClip on a specific GameObject. // from https://docs.unity3d.com/Manual/Playables-Examples.html private PlayableGraph playAnim(AnimationClip clip, GameObject obj) { PlayableGraph playableGraph; AnimationPlayableUtilities.PlayClip(obj.AddComponent<Animator>(), clip, out playableGraph); // save all graphs we create and destroy them at the end of our scene. // you might need to optimize this if you make a lot of animations. graphs.Add (playableGraph); return playableGraph; } void OnDisable() { foreach (var g in graphs) { g.Destroy(); } graphs.Clear (); }