【发布时间】:2018-04-06 23:22:28
【问题描述】:
好的,我已经查找了与 Unity 的 Animator 相关的所有内容,我知道您可以使用 https://answers.unity.com/questions/1418940/how-can-i-know-a-percent-of-animation.html 和 https://answers.unity.com/questions/181903/jump-to-a-specific-frame-in-an-animation.html 跳转到特定帧并获取动画百分比
不过,我还没有看到任何关于这方面的内容 - 就像在游戏 Causality(使用 Unity 制作)中一样,我需要做一些类似于 Magic jump 在滚动网站上所做的事情:https://www.magicleap.com
我在 Blender 中的模型上创建了一个动画,我需要根据其 y 轴位置快进/转到动画的某个百分比,而不是运行它。
现在我可以在 y 轴上向上/向下拖动我的模型,并且我有一个最大值和最小值 transform.position.y,模型可以继续前进(就像一个小车)
Vector3 goTo = new Vector3 (transform.position.x, (initObjPos.y+touchDiff), transform.position.z);
if (goTo.y >= maxHeight) { //max = 0.251f in y, and min?
transform.position = new Vector3 (transform.position.x, maxHeight, transform.position.z);
} else if (goTo.y <= minHeight) {
transform.position = new Vector3 (transform.position.x, minHeight, transform.position.z);
} else { //lower
transform.position = goTo;
}
这是我需要动画在 y 位置为最大值时以 100% 完成,在最小高度为 0% 并且能够在用户拖动时来回移动的可视化:
这可能吗?
【问题讨论】:
-
你知道总帧数吗?如果是这样,我认为它已经解决了。
-
是的,我愿意 - 每个型号可能有不同的编号,但如果有 100 帧,你会如何做到这一点?
-
您是否为此使用单个动画?
-
基本上,既然您提到了因果关系,您希望您的动画由滑块之类的东西“驱动”?
-
@Galandil 是的 - 基本上我的对象在最大和最小之间移动就像一个滑块。
标签: c# animation unity3d percentage lerp