【发布时间】:2017-06-04 08:33:13
【问题描述】:
Unityforums 上的原始问题here
我一直在尝试让动画不仅可以减速和加速,还可以根据用户对 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 中,您无法直接访问动画,如所选答案所示。如第二个答案所示,也无法更改动画速度。
【问题讨论】:
-
你必须展示你尝试过的东西
-
您必须阅读我写的内容:“现在我正在操作值 Animator.speed,但这仅适用于值 >= 0。”并不是说听起来像个混蛋,但我清楚地澄清了我的想法,也没有要求任何人给我写代码。
-
“你必须阅读我写的东西:”这样的态度不会让你到任何地方。我只是想帮忙。我们怎么知道为什么没有你的代码它就不能工作?祝你好运!
-
我可能误解了,但是您的第一条评论的态度似乎很相似,所以我这样回答。奇怪的是,在您对某条评论感到冒犯后,您滥用自己的声誉对问题投了反对票。我真的试图澄清我不是在攻击你,只是我非常清楚地表明了我的尝试并且我不是在找人为我做这件事。
-
哦,你也可以按照我提供的链接向你展示我的代码;)
标签: c# animation unity3d hololens unity3d-mecanim