Хонич А.
Как самому создать трехмерную игру
стр. 110

Теперь несколько слов об угле (Ang). Если вы внимательно следите за ходом изложения, то уже дважды должны были заметить (один раз - в функции SpawnMapThing, а другой - в CreateThingForPlayer), что угол преобразуется во внутренний формат. Что это за преобразованйе и зачем оно нужно? Дело в том, что в игре трудно оперировать с углами, выраженными в градусах. Поэтому в DOOM’e приняты следующие соответствия:

Оград. -0;

90 град. -0x40000000;

180 град - 0x80000000;

270 град - ОхсООООООО;

Кроме того, следует отметить, что углы в игре фактически имеют только 12 старших значащих разрядов. Остальные 20 разрядов значения практически не имеют. Нетрудно подсчитать, что всего при этом будет 4096 градаций углов. Почему, спросите вы, нельзя использовать целиком 32-разрядное число или нельзя ли хотя бы увеличить число градаций? На первый вопрос ответ очевиден. Дело в том, что при перемещении всех объектов в пространстве активно используются две таблицы: Cosine[4096] и Sine[4096], которые представляют собой, соответственно, косину с и синус утла поворота. Значения в этих таблицах представлены в формате с фиксированной точкой в диапазоне от -1 до 1. Всего таких значений в каждой таблице - 4096. Т.е. на один градус поворота приходится чуть больше 11 значений в каждой таблице (4096/360= 11.3(7)). Практика показала, что этого достаточно (это ответ на второй вопрос). В DOOM’e направление на восток (угол равен 0) соответствует перемещению по координате X в положительном направлении. Следовательно, значение в таблице Cosine по нулевому' смещению должно быть близко к 1 (Cosine[0] = Oxfffi), а значение в Sine по этому' смещению близко к нулю (Sine[0] = 0x19). Таким образом, эти таблицы необходимы для преобразования внешнего воздействия во внутренние координаты в зависимости от угла поворота игрока. Поясним... Когда вы нажимаете клавишу вперед или назад, то для вас это всегда перемещение вдоль координаты Y. На самом деле это перемещение зависит от угла поворота в плоскости. При этом реальные, фактические приращения координат объекта рассчитываются через данные таблицы в зависимости от управляющего воздействия и угла поворота:

Новости
Авторы Hellblade: Senua’s Sacrifice удивлены количеству игроков на ПК
В октябре прошлого года студия Ninja Theory рассказала, что продажи Hellblade: Senua's Sacrifice оказались выше, чем ожидали сами разработчики, а уже через месяц они достигли полумиллиона копий.
Хождение по Аду в Agony отнимет у игроков 12 часов
Напомним, что Agony поступит в продажу на PC, PS4 и Xbox One 29 мая. После релиза игры авторы намерены заняться VR-режимом.