Как я могу вручную интерполировать между двумя CATransform3D?
У меня есть и начало и конец CATransform3D
что я хотел бы вручную анимировать между. То есть я бы хотел рассчитать промежуточное преобразование по времени t
= 0 (начало) до 1 (конец). Преобразования представляют собой комбинацию перевода и масштабирования, если это имеет значение.
Я понимаю, что Apple предоставляет несколько способов автоматической анимации от начального до конечного состояния, но в моем конкретном случае использования мне действительно нужно вычислить промежуточное преобразование в определенный момент времени.
1 ответ
Общий случай - мерзость. Конкретный случай проще. Предполагая, что вы начинаете с преобразования идентификаторов, я бы предложил просто написать код, который интерполирует значения вашего масштаба и настройки перевода, создавая новое преобразование для каждого кадра, а затем применяя это преобразование. Изменения в масштабировании и переводе математически просты. Вращение будет более дорогим (читай медленнее) вычислением, так как оно включает триггер.