Как воспроизвести анимацию аниматора из определенного кадра? - PullRequest
0 голосов
/ 15 апреля 2019

Как воспроизвести анимацию с аниматора из определенного кадра?

У меня анимация 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.

1 Ответ

1 голос
/ 15 апреля 2019

Я не понимаю, где и как вы получили frameNumber, но я думаю, что вы прошли в 50

Animator.Play

normalizedTime Смещение времени от нуля до единицы .

ожидает значение от 0 до 1. Поэтому, когда вы передали 50, вместо него используется 1, который является последним кадром анимации & rightarrow; если клип зацикливается, он непосредственно начинает новый цикл, поэтому кажется, что он начинается с 0.

В вашем случае вы хотите начать после половины длины клипа так:

vertical_head.Play("Take 001", 1, 0.5f);

Кроме того, кажется, что ваша анимация на самом деле находится на слое по умолчанию, поэтому вы должны также использовать 0 вместо 1 там:

vertical_head.Play("Take 001", 0, 0.5f);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...