Unityforums 上的原始问题在这里
我一直在尝试让动画不仅可以减速和加速,还可以根据用户对我的 Hololens 应用程序的输入进行回放。我使用的是 Mecanim 系统,而不是旧版动画。
整个事情应该在运行时通过动态用户输入发生。
我知道这可以通过脚本来实现,因为我在一些 Unity-Collaborate 问题中丢失本地进度和一些文件之前已经工作了。尽管听起来很愚蠢,但从那时起,我就无法记住我所做的与当前方法不同的地方。
现在我正在处理值 Animator.speed,但这仅适用于值 >= 0。
任何帮助将不胜感激!
编辑:如果链接不起作用或对任何人都不可见,这是我的代码:
private Animator anim;
//...
anim = gameObject.GetComponent<Animator>();
//...
public void OnManipulationUpdated(ManipulationEventData eventData)
{
if (anim.isActiveAndEnabled)
{
anim.speed = eventData.CumulativeDelta.x;
anim.Play("KA_Cover_Anim");
return;
}
//...
}
Edit2:错误地标记为重复!链接的问题不考虑类似的问题,需要不同的解决方案
Edit3:为澄清起见,链接的“重复”使用与我的问题无关的旧动画系统。在 Unity 5.xx 中的新动画系统 Mecanim 中,您无法直接访问动画,如所选答案所示。如第二个答案所示,也无法改变动画速度。