Skip to content

CaptainFest/UnityBallMovingProject

Repository files navigation

BallMoving

Описание

Суть задания заключается в визуализации такого физического процесса, как полет мяча по параболе. Визуализация строится на основе данных, которые были просчитаны в математической модели. Исходные данные хранятся в папке Ways.

Требования

  • Сцена содержит объект 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.

Ресурсы

  • Материалы хранятся в папке Materials
  • Префабы в папке Prefabs
  • В папке Scripts находятся 3 скрипта: BallMove.cs отвечает за движение Ball, ChangeCamera.cs отвечает за смену камеры, RotateCamera.cs отвечает за поворот камеры вокруг орбиты Ball

Результат

  • Были выполнены все требования
  • Проект был реализован под платформу Windows.
  • Версия Unity 2018.2.16f1

Визуализация результатов

1)Следование камеры за Ball и вращение вокруг него

2)Движение всех 4 Ball по своим траекториям, а также визуализации каждой траектории цветом материала этого Ball

3)Возвращение Ball в начальную точку, как в движении, так и в покое по даблклику

4)Переключение камеры и изменение скорости на ноль Ball, на котором была сфокусирована камера.

5)Изменение скорости движения сферы с помощью слайдера. При значении слайдера 0 движение Ball останавливается, а при положительном возобновляется.

About

UnityTestProject

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages