Насколько я видел и исследовал, вы не можете этого делать в настоящее время.
Лучшим обходным решением, которое я сделал раньше и очень рекомендую, является создание чего-то вроде скрипта CustomAnimationClip с массивом спрайтов и таймера для переключения с каждого кадра на другой. Затем вы можете изменить спрайты анимации в любое время, отредактировав массив.
вот пример:
SpriteRenderer spriteRenderer;
public Sprite[] frames;
[SerializeField] int fps;
int currentFrame = 0;
float frameTime;
float frameTimer = 0;
void Awake()
{
spriteRenderer = GetComponent<SpriteRenderer>();
}
void Start()
{
frameTime = 1/(float)fps;
spriteRenderer.sprite = frames[0];
}
void Update()
{
if (frameTimer < frameTime)
{
frameTimer += Time.deltaTime;
}
else
{
spriteRenderer.sprite = frames[currentFrame];
currentFrame = (currentFrame + 1) % (frames.Length);
frameTimer = 0;
}
}
спасибо я попробую. - это именно то, что мне нужно: D –
Не могли бы вы принять мой ответ, если он сработает для вас :)? Спасибо! –