Skip to content

VadymIgnatiev/phygitalism_interview

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Описание

Суть задания заключается в визуализации такого физического процесса, как полет мяча по параболе. Визуализация строится на основе данных, которые были просчитаны в математической модели. Исходные данные хранятся в папке 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

Releases

No releases published

Packages

No packages published