|
| |||
|
| |||
| |
Здравствуйте. Вы находитесь на сайте Unreal Level. Данный ресурс посвящен редакторам карт игр серии Unreal, UT и Gears of War. Основная цель сайта , помочь всем желающим освоить любой из редакторов вышеперечисленных серий. Наибольшим приоритетом на этом сайте, обладает редактор UnrealED for Unreal Engine 3 и редактор движка Unreal Engine 3.5, входящий в комплект разработки UDK, поскольку это наиболее актуальная на сегодняшний день технология. |
|
UsingWaypoints
автор: FACH | 22 Февраля 2011 | Просмотров: 2852
Автор: Ричард Налезинский Перевод: FACH Оригинал: Using Waypoints
Краткий обзор Этот урок описывает создание максимально эффективной навигации для NPC, что бы AI передвигался по всему уровню. Данный урок в основном для конструкторов уровня, для более технического объяснения смотрите: «WaypointsTechnicalGuide».
Для соединиться PathNodes, они должны находиться меньше чем в 1200 UU (программисты могут изменить MAXPATHDIST в nPath.h, чтобы изменить это значение). Наличие двух NavigationPoints слишком близко друг к другу (перекрывание) может вызвать у AI навигационные проблемы и это нужно избегать. Размещая PathNodes, цель состоит в том, чтобы, каждая игровая область уровня была покрыта PathNode или некоторой другой NavigationPoint. Область покрыта, если NPC может пройти по некоторым PathNode на расстоянии меньшим чем 1200 единиц, с абсолютно свободным проходом (то есть, не обходя вокруг чего-нибудь).
Построение путей
Если уровень содержит большое количество путей, то может потребоваться время, чтобы просчитать все пути. Чтобы настроить размещение путей, используйте кнопку Build Changed Paths в меню опций Build. Это только перестроит пути между NavigationPoints, которые были добавлены, удалены, или перемещены. Прежде чем сохранить и играть, нужно перестроить весь уровень.
Просмотр созданных путей
Как только пути созданы, мы их можем увидеть в любых окнах, поставив галку на Show Paths в меню Toggle Show Flags окна редактора. Пути будут показаны как линии исходящие от одной NavigationPoint к другой. Если NPC могут проходить путь в любом направлении то, будет две линии со стрелкой, указывающей направление пути. Или будет одна линия со стрелкой направления пути. Даже если NPC использует мало путей, всегда лучше настроить позиции PathNode так, что бы у него было побольше выбора путей. NPC будет плавно обходить углы или стрейфиться назад и вперед вдоль пути, так что больше путей приведет к более реалистичному поведению NPC.
Цвета путей
После того, как пути созданы и просчитаны, линии отображаться разными цветами, указывая важную информацию:
Оранжевый - воздушный путь, узкий Светло-оранжевый - воздушный путь, широкий Светло-фиолетовый - требует прыжка в высоту (выше чем обычный прыжок) Синий - узкий путь Зеленый - нормальная ширина пути Белый - широкий путь Розовый - очень широкий путь Желтый - вынужденный путь Фиолетовый - "продвинутый" (наступательный) путь (требует, чтобы использовался "интеллект"), Красный - "односторонний" путь (то есть есть reachspec, идущий от узла A-> B, но не B-> A) (ПРИМЕЧАНИЕ: в недавних сборках это, было изменено на красно-штриховой, чтобы сделать легко заметным ситуацию с односторонним путем)
Отладка путей
По окончанию просчета, может появиться окно Map Check со списком Pathing ошибок и предупреждений. Нажав на ошибку, Вас перенесет к ошибочной NavigationPoint. Вызвать проверку карты на ошибки можно через меню Tools - Check map for errors... Если AI NPC запутался или делает что-то непонятное, помогут следующие консольные команды: Viewclass Pawn – рассмотреть выделенного AI NPC ShowDebug - увидеть, что NPC AI думает и путь, которым он следует RememberSpot - выделить местоположение, чтобы проверить в игре навигационный путь. Затем нужно использовать ShowDebug покажет Вам непрерывно обновляемый путь в то местоположение, которое Вы выделили когда вводили в консоль RememberSpot (FACH: вообще не понятно, как это работает)
Продвинутые пути
Двери
Дверная (Door) NavigationPoint (в УДК - DoorMarker) должна быть помещена в сочетании с любым Mover , который действует как дверь (на основании его позиции, он разрешает или блокирует движение между двумя областями). Door должны быть помещены в центр зоны влияния (как правило, в середину фактической статической сетки, использующейся в виде двери - но достаточно низко, чтобы она касалась земли). Есть также несколько важных свойств Door NavigationPoint, которые должны обновляться по мере необходимости: DoorTag – мувер, с которым связывается эта дверная точка DoorTrigger – тег триггера, которым открывается дверь, если такой есть bInitiallyClosed – изначальное состояние мувера по умолчанию, если ложно, то позволяет пройти, или препятствует (если это правда - значение по умолчанию) bBlockedWhenClosed - если мувер закрыт, не будет никакого пути для NPC, чтобы открыть его (ложно по умолчанию) У муверов теперь есть свойство bAutoDoor. Если установлено в истину, Дверная PathNode автоматически создастся для того мувера. Это должно работать для большинства дверей.
JumpPads
JumpPads подбросит любую Пешку, прикоснувшуюся к нему в заданном направлении. JumpPads, траектория прыжка, создаются путем указания назначения PathNode в первый элемент ForcedPaths [ ] массива путей JumpPad . Соответствующий импульс – скорость, рассчитывается автоматически, когда пути будут перестроены. Значение вектора JumpModifier из JumpPad может быть изменено, если по какой-либо причине автоматическая генерация скорости некорректна.
JumpDests должен использоваться вместо PathNodes в любом месте, которое намного выше, чем можно подпрыгнуть. Он соединяется с путями ниже. JumpSpots будет использоваться NPC в зонах низкой гравитации, или во время какого-то импульсного скачка. Пути, которые бот может использовать от JumpSpot, должны быть в его массиве путей ForcedPath [ ].
Лифты
Мувер в виде, лифта никогда не должен быть всостоянии BumpOpenTimed (используйте StandOpenTimed вместо этого). Муверы - Лифты имеют два типа NavigationPoints, связывающих их. LiftCenter должен быть размещен в центре лифта. LiftExit должен быть размещен в каждом выходе из Лифта (но достаточно далеко, так, чтобы NPC, стоящий там, не задевал Лифт). У LiftCenter и LiftExits есть свойство LiftTag, - тег мувера. Кроме того, если лифт запускается, поместите тег запускающего его актера в LiftCenter в свойство LiftTrigger. У LiftExits также есть дополнительное свойство, SuggestedKeyFrame, в которое может быть установлено число ключевого кадра мувера, когда LiftExit может использоваться. Это может улучшить навигацию NPC в некоторых ситуациях.
Лестницы
VolumePathNode
VolumePathNodes полезны для поддержки навигации по объему, например при плавании или при полете. Цилиндрическая коллизия VolumePathNode описывает навигационный объем для полетов. Во время построения пути цилиндрический размер коллизии корректируется от начального радиуса и высоты, определенной разработчиком уровня (свойства StartingRadius и StartingHeight), пока не будет достигнута преграда. Стоит скорректировать позицию актера (ставить приблизительно в центре навигационной области) и задавать цилиндрический размер VolumePathNode для достижения лучших результатов. VolumePathNodes соединится с другими пресекающимися VolumePathNodes, так же как NavigationPoints в пределах их объема. Кроме того, все NavigationPoints, находящиеся непосредственно ниже цилиндра VolumePathNode, будут также тестироваться на связь во время билда пути. Машинные уровни UTGame, такие как VCTF-Sandstorm, используют VolumePathNodes.
Cover Links
CoverLinks были разработаны для Gears of War. Используются функции: bCircular = сделает круговое укрытие, то есть укрытие вокруг цилиндра. Обычно делается двумя точками укрытия по обе стороны от цилиндра, по которому можно будет переходить от одной точки в другую. bClaimAllSlots = если AI входит в укрытие, никакой другой AI, не попытается спрятаться в этом же укрытии. MaxFireLinkDist = максимальное расстояние, на котором слоты укрытия запросят другие слоты, чтобы создать ссылки стрельбы для AI между ними (говорит AI Gears, в каких местах можно стрелять из этого укрытия). bCanPopUp = покажет разработчику, если слот допускает вставание актера и стрельбу оттуда. bAllowPopUp = установите эту функцию, если Вы хотите, чтобы актеры могли вставать и стрелять отсюда. bAllowMantle = установите эту функцию, если Вы хотите, чтобы актеры могли перелезть через это укрытие. bAllowCoverslip = установите эту функцию, если Вы хотите, чтобы актеры могли выбежать вперед из этого укрытия (работает только на краях). bAllowSwatTurn = установите эту функцию, если Вы хотите, чтобы актеры могли выполнить бросок (переход) от этого укрытия к другому укрытию (работает только на краях).
Разница между slip и Swat в Gears of War, slip из укрытия означает быстро выбежать вперед из за угла укрытия. Swat быстрый переход с левого укрытия в правое через открытое пространство, такое как дверной проем.
Система укрытий создавалась для Gears of War и его геймплея, таким образом, она, возможно, не на 100 % применима к Вашему проекту.
Изменение размера путей (программирование)
Типы путей определяются через код (для случая переходов и летающих узлы, и т.д.) и через свойства по умолчанию Scout (для различных размеров объектов).
Чтобы задать различные размеры изменяют массив PathSizes в Вашем классе Scout. Вот примеры значений по умолчанию: PathSizes(0)=(Desc=Human,Radius=48,Height=80) PathSizes(1)=(Desc=Common,Radius=72,Height=100) PathSizes(2)=(Desc=Max,Radius=120,Height=120) PathSizes(3)=(Desc=Vehicle,Radius=260,Height=120) #1 написал: FACH 22 Февраля 2011 19:31 | ICQ: 562039160 |
#2 написал: Casuss 22 Февраля 2011 20:42 | ICQ: Не Указано |
#3 написал: FACH 22 Февраля 2011 20:58 | ICQ: 562039160 |
#4 написал: Alex-Strelok 22 Февраля 2011 22:01 | ICQ: 7 |
#5 написал: kagorta 23 Февраля 2011 19:59 | ICQ: Не Указано |
#6 написал: FACH 23 Февраля 2011 20:19 | ICQ: 562039160 |
#7 написал: kagorta 23 Февраля 2011 22:39 | ICQ: Не Указано |
#8 написал: FACH 23 Февраля 2011 22:44 | ICQ: 562039160 |
#9 написал: Casuss 24 Февраля 2011 08:46 | ICQ: Не Указано |
#10 написал: FACH 24 Февраля 2011 14:20 | ICQ: 562039160 |
#11 написал: h2o 4 Марта 2011 23:42 | ICQ: Не Указано |
Информация
Посетители, находящиеся в группе Гости, не могут оставлять Комментарии в данной новости...
|
|
|
При копировании материалов, активная ссылка на UNREAL-LEVEL.RU обязательна! © 2008—2012, UNREAL-LEVEL.RU. Все права защищены. |