Рабочий процесс использования кривых Безье с базовой анимацией

Недавно я работал над проектом, в котором широко использовалась Core Animation. Результаты были неплохими. В идеале я бы использовал слои и кривые Безье для движения.

У кого-нибудь есть хороший рабочий процесс для создания точек данных, которые затем используются при создании кривой? Немного запутался с контрольными точками. Концептуально я понимаю, что происходит.

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


person M. Bedi    schedule 02.06.2011    source источник


Ответы (2)


Это, вероятно, не так просто, как вы ищете, но OmniGraffle экспортирует свои сцены в XML, если вы не сжимаете их. Если вы знаете Python или какой-либо другой язык сценариев с поддержкой xml, довольно просто проанализировать XML, чтобы получить в нем значения Безье. Я использую этот подход для создания путей Безье CoreAnimation, и он работает хорошо.

Итак, примерно, что я делаю:

  1. Создайте эталонный прямоугольник в OmniGraffle того же размера в пикселях, что и ваш экран.

  2. Нарисуйте кривые Безье.

  3. Сохраните файл как XML (убедитесь, что сжатие отключено где-то в палитре)

  4. Используя python/XML, проанализируйте данные кривой из сохраненного файла сцены.
  5. Сохраните более удобный файловый ресурс xml только для кривых, чтобы ваше приложение могло его прочитать.
  6. Напишите код в своем приложении для загрузки XML и создания кривых CoreAnimation с использованием значений Безье из файла.
person Dave    schedule 13.11.2011

Бесплатный http://inkscape.org/ имеет возможности редактирования XML, совместимые с форматом SVG http://www.w3.org/Graphics/SVG/

Позволяет рисовать Безье и экспортировать их параметры.

person Community    schedule 19.10.2011
comment
Спасибо, я иногда использую inkscape, я не думал о таком подходе. - person M. Bedi; 02.11.2011