Как получить текущий кадр из анимированной плитки / Tilemap.animationFrameRate в Unity - PullRequest
0 голосов
/ 20 февраля 2020

Я использую карты плиток и анимированные плитки из 2dExtras в единстве.

У моих плиток 6 кадров со скоростью = 2f, а частота кадров у меня равна 2.

Новые размещенные плитки всегда начинайте с первого кадра, а затем сразу переходите к текущему кадру других уже размещенных плиток, карта тайлов сохраняет все плитки в том же темпе, который работает так, как я хочу.

Однако мне бы хотелось, чтобы новые поместил плитки, чтобы начать в кадре, в котором в данный момент находятся другие (вместо размещения плитки, которая переходит с кадра 1 на кадр 4), я хотел бы, чтобы новая плитка начиналась в кадре 4

Я нашел, как выбрать кадр, с которого я хочу начать, однако у меня возникли проблемы с получением того кадра, на котором в данный момент находится анимация, поэтому мне было интересно, как именно я могу получить доступ к текущему кадру анимации данной карты тайлов (или данной плитки, я могу создать фиктивную плитку и просто прочитать информацию из нее, как я могу получить текущий кадр анимированной плитки?)

Функция анимированных плиток Кажется, отсутствует функция для извлечения этой информации, также, когда я пытаюсь использовать tilemap.getsprite, он всегда возвращает первый кадр последовательности (не возвращает отображаемый в данный момент спрайт), и, похоже, не существует метода для опроса информации из tilemap.animationFrameRate.

Я думал, что другим методом будет установка часов и синхронизация c со скоростью анимации, но, поскольку я не могу получить точную длительность кадра, часы в конечном итоге не синхронизируются c.

Буду признателен за любую помощь!

1 Ответ

0 голосов
/ 21 февраля 2020

Вы можете попробовать использовать реализацию, представленную в [1], которая выглядит следующим образом: MyAnimator.GetCurrentAnimatorClipInfo(0)[0].clip.length * (MyAnimator.GetCurrentAnimatorStateInfo(0).normalizedTime % 1) * MyAnimator.GetCurrentAnimatorClipInfo(0)[0].clip.frameRate;

[1] https://gamedev.stackexchange.com/questions/165289/how-to-fetch-a-frame-number-from-animation-clip

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...