Раздел
Математика и физика
Векторы, углы, матрицы, кривые, плавные переходы, случайность, движение, силы, вращение и машины — на пальцах, через картинки и демо. На этом стоят графика, анимация и геймплей.
Векторы
Векторы: стрелки, которые складываютУрок · с нуляЧто такое вектор на самом деле: шаг «сколько пройти и куда». Сложение, вычитание, умножение на число, длина и нормализация — на картинках, без зубрёжки формул.Скалярное произведение: насколько стрелки смотрят в одну сторонуУрок · с нуляОдно число, которое говорит, смотрит ли поверхность на солнце, стоит ли враг впереди и куда растёт мох. Откуда берётся формула и почему она работает.Векторное произведение: стрелка поперёк двухУрок · базаКак получить перпендикуляр к двум стрелкам, откуда у треугольника нормаль, почему важен порядок вершин и как понять, слева цель или справа.
Углы и повороты
Углы, синус и косинус: точка на кругеУрок · с нуляГрадусы и радианы, синус и косинус как координаты точки на круге, угол по стрелке и волны: качание травы, покачивание лодки, мигание света.Матрицы: новые оси вместо таблицы чиселУрок · базаМатрица — это оси и начало координат, записанные в таблицу. Поворот, масштаб и перенос, их порядок, обратная матрица и зачем всё умножают на матрицы.Повороты в 3D: углы Эйлера и кватернионыУрок · глубжеПочему три угла иногда «склеиваются» и камера кувыркается, что такое кватернион без высшей математики и как плавно повернуть от одного направления к другому.
Переходы, случайность, числа
Интерполяция: lerp, smoothstep и remapУрок · с нуляКак плавно перейти от одного значения к другому: смешивание, ограничение, перевод из одного диапазона в другой и кривые плавности для движения и масок.Случайность: сид, распределения и честный рандомУрок · базаОткуда компьютер берёт случайные числа, почему один сид даёт один и тот же мир, чем равномерная случайность отличается от «колокола» и почему честный рандом кажется игроку нечестным.Числа в компьютере: целые, float и точностьУрок · базаПочему 0.1 + 0.2 не равно 0.3, откуда дрожание моделей вдали от центра мира, что такое переполнение и почему деньги не хранят во float.
Геометрия
Кривые: Безье и сплайныскороКак дорогу, путь камеры или изгиб ветки описывают несколькими точками: кривая Безье как lerp от lerp, сплайны, которые проходят через точки, касательные, равномерный шаг по длине и где кривые прячутся в движке.Точка внутри треугольника: барицентрические координатыскороКак видеокарта находит цвет, UV и нормаль в каждой точке треугольника по трём вершинам: доли каждой вершины, связь с площадями и как то же самое помогает рассыпать точки по поверхности.Расстояния и пересечения: геометрия для проверокскороКак узнать, где луч встречает плоскость или шар, насколько точка далеко от отрезка и пересекаются ли две коробки. Из этих кирпичиков собраны выстрелы, клики по миру, триггеры и физика.Поле расстояний: форма как функцияскороКак описать круг, коробку или капсулу одной формулой «как далеко до поверхности», складывать и вычитать формы, скруглять их и почему на таких полях держатся мягкие тени, Lumen и шейдерные эффекты.Проекция: как 3D становится картинкойскороКак точка из мира попадает на экран: деление на глубину, поле зрения, четвёртая координата и матрица проекции, ортографическая камера и почему близкие предметы съедают точность глубины.
Изменение и волны
Производная на пальцах: скорость измененияскороЧто такое производная без учебника: насколько быстро меняется величина. Скорость как производная пути, крутизна склона, нормаль из карты высот и производные в шейдере — одна идея в четырёх местах.Степени и логарифмы: проценты, децибелы и затуханиескороПочему опыт до следующего уровня растёт в разы, громкость меряют в децибелах, а экспозицию — в ступенях: рост умножением и логарифм как вопрос «сколько раз умножили». Плавное приближение, которое не зависит от частоты кадров.Волны и частоты: из чего складывается сигналскороЛюбой звук, волну на воде и шум можно разложить на простые синусоиды. Частота, амплитуда и фаза, спектр, фильтры и почему океан в играх собирают из тысяч волн.Вероятность для геймдизайнера: шансы, ожидание и сериискороКак считать шанс выпадения лута, сколько попыток в среднем нужно до редкой вещи, чем две кости отличаются от одной большой, почему серии неудач бесят и как их сглаживают.
Физика движения
Движение: скорость, ускорение и шаг времениУрок · с нуляПоложение, скорость и ускорение как три связанных вектора, почему всё умножают на время кадра и как игра двигает предметы шагами.Силы: гравитация, трение и сопротивлениеУрок · базаСила меняет скорость, а масса этому мешает: как падают предметы, почему тормозят в воде и воздухе и откуда предельная скорость.Пружины и затухание: плавная камера и мягкие движенияУрок · базаПружина тянет к цели, затухание гасит колебания: так делают камеру, которая догоняет игрока, покачивание, отдачу и мягкие интерфейсы.Столкновения: как движок понимает, что предметы соприкоснулисьУрок · базаУпрощённые формы для физики, проверка пересечений, лучи и отскок: что происходит, когда предметы сталкиваются, и почему модель для физики проще модели для глаз.Почему быстрые тела проваливаютсяУрок · базаФизика видит мир снимками, и быстрое тело перепрыгивает тонкую стену между ними. Окно касания и шанс проскока, выталкивание не в ту сторону, толстые коллайдеры, подшаги, непрерывная проверка броском, луч для пуль, спекулятивные контакты, вращение и провал при появлении.Плавучесть: объект на волнахУрок · базаЗакон Архимеда и средняя плотность: почему стальной корабль плавает, а гвоздь тонет; осадка и качание с периодом 2π√(осадка / g). В игре — 3–8 точек замера с силой-пружиной и затуханием, крен из разницы сил, высота волны суммой синусоид, одна волна для физики и материала, волны Герстнера, устойчивость и метацентр, сопротивление вдоль и поперёк, мелочь без физики.
Физика тел
Вращение тел: угловая скорость и момент инерциискороПочему длинную палку трудно раскрутить, а фигурист ускоряется, прижав руки: угловая скорость, момент силы и момент инерции, удар не по центру и как движок поворачивает тело на каждом шаге.Связи и суставы: шарниры, верёвки и рэгдоллыскороКак физика соединяет тела: дверь на петлях, цепь, верёвочный мост, тряпичная кукла. Ограничения как правила, которые решатель выполняет каждый шаг, пределы углов, пружинистые связи и почему цепочки дрожат.Мягкое и гибкое: ткань, верёвки и желескороКак устроены ткань, верёвки и мягкие тела: сетка точек, связанных палочками, интегрирование Верле, проходы по ограничениям и почему сложное поведение получается из простых правил. Где это считают честно, а где подделывают.Физический движок изнутри: решатель, сон и подшагискороЧто происходит внутри одного шага физики: поиск пар, точки контакта, решатель итерациями, засыпание тел, подшаги. Откуда берутся дрожащие стопки, проваливания и разная физика на разных компьютерах.
Машины
Машина: четыре пружины и колёсаскороКак машину держат на дороге: луч от колеса до земли, пружина и амортизатор на каждом колесе, перенос веса при разгоне и в повороте, центр масс и почему машины в играх переворачиваются на кочках.Двигатель и коробка: откуда берётся тягаскороКак обороты двигателя превращаются в силу на колёсах: кривая крутящего момента, передачи, дифференциал, привод на одну или обе оси и как подобрать числа, чтобы машина разгонялась так, как задумано.Шины: сцепление, занос и дрифтскороПочему колесо ведёт машину: трение в пятне контакта, проскальзывание вдоль и поперёк, круг сцепления, занос и дрифт. Как упрощают модель шины в аркадах и в симуляторах.Машина в Unreal: Chaos Vehicles по шагамскороПо шагам: модель с колёсами, скелет, класс колеса, подвеска, двигатель и коробка, камера и проверка на разных покрытиях. Какие числа крутить, если машина скользит, прыгает или не едет.