3,8K подписчиков

Как карабкается Ассасин

10K прочитали
В 2006 году, на очередной игровой выставке GDC был представлен идеологческий наследник принца из Персии, однако в игре появились просторные локации и новые механики, в числе которых детальное и...

В 2006 году, на очередной игровой выставке GDC был представлен идеологческий наследник принца из Персии, однако в игре появились просторные локации и новые механики, в числе которых детальное и реалистичное карабкание.

Занятная техническая составляющая вполне заслуживает объяснения, но внимание я обращаю на старые части, где ассасин медитативно и старательно взбирался на уступы, в отличии от Арно и его предков, что прыгают на два метра вверх от кирпичика...

Механика

Большинство выступов, кирпичиков и иных мест, за которые можно зацепится, представлены в виде отдельных объектов, причины тому две :

  1. Каждый объект в движке имеет свою ось координат и так как является отдельной сущностью, может быть найден куда проще отдельной точки на стороннем объекте.
  2. Оптимизация. Допустим определенное здание имеет 4 уступа на крышке с каждой стороны, 16 окон с подоконниками и 30 кирпичиков для зацепа, не смотря на их полную визуальную идентичность, движок видит их как разные объекты. Вместо 50 разных объектов, можно обойтись одной моделькой уступа, 1 окном с подоконниками и парочкой разных кирпичиков. Все это сделает коробки похожими на здания, но в процессе сборки уже на движке.
Одинаковые уступы как по текстуре, так и по функциям
Одинаковые уступы как по текстуре, так и по функциям

В игре так же существуют впадины в стенах, скалы, деревянные платформы и цельные крыши, как здесь :

В 2006 году, на очередной игровой выставке GDC был представлен идеологческий наследник принца из Персии, однако в игре появились просторные локации и новые механики, в числе которых детальное и...-3

Альтернативным вариантом для таких случаев является пустышка с коллайдером, что растянется вдоль всей линии зацепа и так же будет иметь свою координату-ориентир.

Когда персонаж начинает забираться на преграду, его состояние меняется, например теперь булевая переменная climbing равна true, а значит для такого состояния заготовлены иные методы передвижения и скрипты помощники.

В 2006 году, на очередной игровой выставке GDC был представлен идеологческий наследник принца из Персии, однако в игре появились просторные локации и новые механики, в числе которых детальное и...-4

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

Когда персонажу не о что зацепится, скрипт ищет новый выступ, уверен это работает так :

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

Соседние статьи с канала :
Как создаются моды
Как сломали Fallout 3
Будущее игровой анимации