Анализ кода из Unity-видео ХаудиХо: плюсы и минусы

Видео ХаудиХо «Учим Unity за 1 час!» вызвало дискуссии, в том числе критику за несоответствие заявленного времени реальной продолжительности и качество кода. Этот обзор детально рассматривает фрагменты кода из видео, оценивая их с точки зрения профессионализма и обучающей ценности.

Анализ кода

Видео позиционируется как обучающий материал для новичков в Unity. Однако, по мнению автора обзора, оно представляет собой рекламу курсов. Несоответствие заявленного часа обучения фактической продолжительности, а также низкий уровень представленного кода, вызывают сомнения в качестве обучения.

Детальный разбор

Обзор обращает внимание на некорректное использование терминологии. Методы называются функциями, что неверно. Грамотное использование терминологии важно при обучении.

Функция Update

Функция Update вызывается каждый кадр отрисовки. Её предназначение и роль в игре объяснены недостаточно. Вместо объяснения сути метода обновления состояния, показано лишь его использование.

Класс PlayerMovement и модификаторы доступа

В классе PlayerMovement переменная rigidbody rb имеет модификатор доступа public. Хотя это упрощает код для новичков, необходимо объяснить значение модификаторов доступа (public, protected, private) и правила их использования. Постоянное использование public — упрощение, не соответствующее хорошим практикам программирования.

Именование переменных

Небрежное именование переменных снижает читаемость и поддерживаемость кода. Это свидетельствует о непрофессиональном подходе.

Переменные скорости и направления движения

Код содержит избыточные переменные: strafeSpeed, runSpeed, strafeDirection, strafeLeft и strafeRight. Более компактное решение — использование одной переменной для направления и одной для скорости.

Обработка ввода с клавиатуры

Использование строковых литералов для обозначения клавиш вместо предопределённых констант Unity неэффективно. Существуют более эффективные и надёжные способы обработки ввода.

Метод FixedUpdate

Метод FixedUpdate объяснен недостаточно детально. Важно понимать разницу между Update и FixedUpdate.

Физика и гравитация

Реализация прыжка и движения содержит непрофессиональный подход. Вместо эффективных методов работы с векторами и нормалями поверхностей используются упрощённые и неэффективные решения. Обзор демонстрирует более профессиональный подход.

Завершение игры

Реализация завершения игры при падении персонажа неэффективна из-за использования «волшебных чисел» и недостаточной балансировки.

Видео «Учим Unity за 1 час!» не соответствует заявленному уровню профессионализма и не является качественным обучающим материалом. Код содержит многочисленные недостатки, а объяснения недостаточно детальны и понятны. Рекомендуется искать более качественные источники для обучения разработке игр в Unity.

Что будем искать? Например,программа