如何从特定帧播放动画师的动画?
我有一个100帧的动画,我想播放50-100帧。我如何做到这一点?
public Animator vertical_head;
// Use this for initialization
void Start () {
vertical_head.GetComponent<Animator>().enabled = true;
vertical_head.Play("Take 001", 1, framenumber);
}
上面的代码不是从第50帧开始播放,而是从0开始。
答案 0 :(得分:1)
我看不到您在哪里和如何获得frameNumber
,但我猜您是通过50
normalizedTime时间偏移量介于零和一之间。
期望一个介于0
和1
之间的值。因此,当您传入50
时,它使用的是1
而不是动画的最后一帧→如果剪辑正在循环,它将直接开始一个新的循环,因此好像从0
开始
在您的情况下,您要在片段长度的一半之后开始,所以:
vertical_head.Play("Take 001", 1, 0.5f);
另外,您的动画似乎实际上在默认层上,因此您也应该在此处使用0
而不是1
vertical_head.Play("Take 001", 0, 0.5f);