Суть задания заключается в визуализации такого физического процесса, как полет мяча по параболе. Визуализация строится на основе данных, которые были просчитаны в математической модели. Исходные данные хранятся в папке Resources.
Сцена содержит объект Ball, который представляет из себя сферу. При запуске сцены, Ball находится в поле видимости камеры. Каждый раз, по нажатию на Ball, он должен проследовать по траектории указанной в файле ball_path.json. Запуск движения должен работать только если Ball находится в состоянии покоя, т.е. если он еще не начал или уже закончил движение, но не во время движения. Скорость движения Ball по траектории должна быть выбрана по вашему усмотрению. Камера должна всегда следовать за Ball и должна быть сфокусирована на нем.
Во время движения Ball по траектории отображать слайдер на экране. Предоставить с помощью него возможность регулировать скорость движения Ball по траектории. Когда значение слайдера 0, движение Ball должно быть приостановлено и продолжено при значении слайдера > 0. При значении 1, скорость движения Ball будет максимальной. Нарисовать траекторию движения Ball. Траектория рисуется, по мере движения Ball. То есть должна быть отрисована только та часть пути, которую прошел Ball до текущей точки. Когда Ball находится в начальной точке, траектория его движения не рисуется. При двойном нажатии на Ball он перемещается в начальную точку траектории движения. Двойное нажатие работает как в момент движения, так и в момент покоя Ball. Если Ball был в движении, то движение отменяется.
Добавить в сцену еще 3 объекта Ball, каждый из которых будет двигаться по траектории указанной соответственно в файлах ball_path2.json, ball_path3.json, ball_path4.json. Добавить возможность вращать камеру по орбите вокруг Ball с помощью мышки (macOS/Windows) или на тач дисплее (iOS/Android). Добавить возможность переключать камеру между всеми объектами Ball в сцене. Переход осуществляется с помощью 2-ух кнопок Left и Right на экране. Если переключение камеры происходит во время движения того Ball, на котором сфокусирована камера в текущий момент, скорость движения этого Ball становится равна 0.
Каждый уровень сложности должен включать в себя реализацию функций из предыдущего уровня. Каждый из уровней сложности может быть реализован в отдельной сцене или же все функции могут быть реализованы в одной сцене. Допускается использовать любые сторонние библиотеки распространяемые под свободной лицензией. Не допускается использовать платные инструменты. Любой художественный креатив не нарушающий условия задания приветствуется, но необязателен.
Проект должен быть выложен на GitHub для проверки Проект должен запускаться на Unity 5.6+ Проект должен быть написан на языке программирования C#. Все сторонние библиотеки и ресурсы должны хранится внутри проекта. Проект должен собираться на одну из платформ macOS/Windows/iOS/Android