Giter Site home page Giter Site logo

pdm_phygitalism_test's Introduction

Описание

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

pdm_phygitalism_test's People

Contributors

bojlahg avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.