Конгер Д.
Физика для разработчиков компьютерных игр
стр. 97

Активные и пассивные трансформации

Трансформация, которая изменяет систему координат, называется пассивной трансформацией (passive transformation), поскольку она не влияет на объекты в системе координат. Трансформация, имеющая противоположное действие, называется активной трансформацией (active transformation). Активная трансформация не изменяет координатную систему, но изменяет характеристики векторов (или других объектов) в этой координатной системе.

Пассивные трансформации хорошо подходят для реализации перемещения персонажа в играх вроде Quake, использующих вид «от первого лица», то есть глазами персонажа. Сама по себе окружающая среда в них более или менее неизменна, но персонаж перемещается в ней и изменяет систему координат, в которой эта среда должна отображаться.

Говоря другими словами, персонаж, представляющий вас в игре, неподвижен, если выполняется пассивная трансформация. Вы остаетесь в центре мира. Когда персонаж идет, плывет, прыгает и так далее, мир двигается вокруг вас, но сами вы не двигаетесь. В большинстве ЗБ-игр используется именно этот подход.

Активные трансформации хорошо подходят для перемещения объектов в определенной системе координат, например, в имитаторах космических боев. Если вы пилотируете корабль, как, например, в старых играх серии Wing Commander, ваша точка наблюдения (ваша система координат) фиксирована, а другие корабли двигаются вокруг вас в этой системе координат. Для их перемещения используются активные трансформации.

В любой реальной игре приходится использовать оба типа трансформаций. Да, вы перемещаетесь по коридорам в Quake (используя пассивные трансформации), но и те, кто бегает за вами по этим коридорам, тоже перемещаются (используя активные трансформации).

Вот что самое интересное: активные и пассивные трансформации -это просто два разных подхода к одной и той же операции. Если в космосе мимо вас пролетает космический корабль (слева направо), то двигался ли он мимо вас, или вы двигались мимо него? Активную трансформацию, перемещающую объект вправо, можно заменить пассивной, перемещающей систему координат влево.

В этой книге мы будем говорить о физике. Это значит, что как минимум в нескольких последующих главах мы будем обсуждать движение объектов, поэтому в большинстве случаев удобнее использовать активные трансформации.

В компьютерной графике матричные преобразования используются очень часто. Большинство объектов, которые вы видите в играх, определены в виде наборов точек. Чтобы эти объекты двигались, приближались к вам и удалялись от вас, к ним применяют матричные преобразования.

Матричные преобразования используются и в физике. Физика, которую мы используем в играх, - это обычно расчет сил, воздействующих на объекты. Как правило, эти силы представляются в виде векторов в некоторой системе координат. Для поворотов, масштабирования или перемещения векторов в программах используются матричные преобразования.




Новости
Аниме-трейлер Heroes of the Storm посвящён механическим обликам героев
Blizzard выпустила обещанные вместе с появлением в Heroes of the Storm огнемётчика Блэйза новые легендарные механизированные облики нескольких героев: Тираэля, Регара, Абатура и Дехаки.
45-минутная запись геймплея Metal Gear Survive
Японское подразделение IGN представило публике 45-минутную запись геймплея Metal Gear Survive – последней части знаменитой серии, а также первой, в создании которой не принимал участие Хидео Кодзима.