Название проекта: GameMenuTemplate
Краткое описание:
Создать проект в Unity (идеально в версии 2019.2.*) и разработать меню игры с обработкой нажатия кнопок (3d шаров, но вид только сверху) на C# и анимацией.
Требования:
1. Адаптивный дизайн (размер и поворот экрана)
1.1. Все размеры и позиции (расстояния между элементами) должны быть относительны большему размеру экрана
Диаметр кнопки "Play": 17.25 % от высоты экрана, "Exit": 13.85%, другие кнопки: 10.85%
Расстояние между кнопками, размер шрифта, размер фона названия игры также сделать пропорциональным
Иметь возможность поменять размер кнопок (если получится, то занести эти проценты в константы)
1.2. Проработать два вида (по факту 4, но разных будет только два): вертикальный (2 варианта) и горизонтальный (2 варианта) (как показано на дизайне во вложении, Template1, Template4).
2. Вид сверху (Видимо будут 3d объекты и 3d камера)
2.1. Проработать свет и тени (если будет получаться лучше, чем на дизайне)
2.2. Создать трехмерные кнопки в виде шаров (красный #b41616, желтый #ffb200, черный #151515, зеленый #458d05). Название игры желтым, шрифт и иконки предоставим. Иконки нужно отобразить вдавленные в шар, как показано на дизайне. Возможно, что иконка должна "обволакивать" форму шара тоже. Иконка перемещается вместе с шаром (должно быть очевидно, она остается на том же месте шара и вращается вместе с ним).
3. Анимация нажатия кнопки меню.
3.1. Длина анимация должна быть настраиваемой (можно просто в константе в коде как количество миллисекунд, по-умолчанию значение 1000)
3.2. При нажатии кнопки появляется черное отверстие с контуром цветом шара (как показано на рисунках Template2, Template3).
3.3. Нажатая кнопка-шар сразу же проваливается в отверстие (свободно вращаясь в случайном выбранном направлении при нажатии, идеально, если получится имитировать физику свободного падения). Фактически шар может физически оставаться на месте, вращаясь в заданном направлении и уменьшаясь в размерах. Либо физически перемещать по оси Z (можно строго вниз) с вычисленным ускорением. Скорость вращения также задать константой. С вычислением можно разобраться вместе.
3.4. Все другие кнопки-шары раскатываются в радиальном направлении от начального центра (на примере дизайна показана только обработка нажатия кнопки "Play"). Скорость вращения и перемещения должны соответствовать друг другу. Скорость вращения должна вычисляться из скорости перемещения и радиуса шара. Скорость перемещения будет задаваться константой.
3.5. Прописать анимацию и заглушку действия (например, вывод нового отображения черного экрана с соответствующим текстом белого цвета: Play, Achievements, Store, Tasks) при нажатии после завершения анимации.
3.6. Запретить нажатие всех кнопок на момент анимации.
3.7. Табличка с названием игры поднимается вверх с задаваемой скоростью. Табличка находится над шарами. Листья находятся на переднем плане, над табличкой и шарами.
3.8. (Опционально) Проработать возможное столкновение шаров и отскок. Это может случится при нажатии кнопки "Exit", если кнопка "Play" будет катиться медленнее или быстрее других кнопок. Проверить.
Определение "готово":
1. Демонстрация нажатия всех кнопок, анимации и обработка нажатия (в Unity или телефоне/эмуляторе) в вертикальном и горизонтальном режимах.
2. Демонстрация отображения меню на разных разрешениях экрана.
2. Проект Unity со всеми использованными элементами и исходным кодом на C#. (передача после оплаты)
Более качественные изображения, а также иконки и все элементы дизайна предоставим исполнителю.
Опубликован 24.01.2020 в 16:14