Потрібно реалізувати додатковий функціонал боїв до існуючого додатку в Unity. Ми маємо готові персонажі та анімації, а також серверну логіку, яка генерує дані про бій у форматі JSON.
В кожного гравця є свій персонаж, якого вони можуть оснащувати амуніцією. Бій відбувається автоматично, враховуючи характеристики цієї амуніції. Після виклику на бій іншого гравця, сервер генерує дані про бій у форматі JSON і передає їх у додаток.
Ваше завдання - розробити контролер, який буде обробляти цей JSON і відтворювати бій, використовуючи наявні анімації персонажів. Це означає, що ви повинні забезпечити відтворення анімаційних ефектів, таких як удари, блокування та пошкодження, відповідно до даних бою, які отримали від сервера.
Ваша робота полягає в розробці цього контролера таким чином, щоб відображення бою було плавним та реалістичним, а також забезпечити можливість розширення функціоналу у майбутньому для нових анімацій чи ефектів.
Технічне завдання для реалізації бойового функціоналу в Unity з використанням C#
Огляд завдання:
Реалізація бойового функціоналу для існуючого додатку в середовищі Unity.
Існують готові персонажі та анімації.
Є написана логіка на бекенді, яка генерує дані про бій у форматі JSON.
Функціонал:
Кожен користувач має свого персонажа, якого можна оснащувати амуніцією.
Кожен елемент екіпіровки має свою характеристику.
Бій відбувається автоматично з розрахунком за певною логікою залежно від характеристик амуніції. Після виклику на бій іншого користувача на сервері генерується бій у форматі JSON.
Результати бою передаються у вигляді JSON у додаток.
Загальні вимоги:
Реалізувати контролер, який оброблятиме отриманий JSON і візуалізуватиме бій з використанням наявних анімацій.
Передбачити можливість розширення функціоналу для майбутніх анімацій та інших ефектів.
Детальні вимоги:
Розробити механізм парсингу отриманого JSON з даними бою.
Забезпечити відтворення анімаційних ефектів відповідно до даних бою (наприклад, удари, блокування, пошкодження тощо).
Врахувати різні стани персонажів під час бою (наприклад, живий, поранений, вбитий).
Забезпечити адаптивність відображення бою залежно від кількості та структури отриманих даних у JSON.
Технічні вимоги:
Мова програмування: C#.
Використання існуючих анімаційних ресурсів та персонажів.
Забезпечити оптимізацію використання ресурсів для плавності відтворення анімацій.
Підтримка інших платформ, таких як мобільні пристрої, ПК та WebGL.
Додатково:
Здійснити документування реалізованого функціоналу для подальшого супроводу та підтримки.