Navigation Mesh альтернатива NodeGraph

Тема в разделе "Статьи и мануалы", создана пользователем Vit_ amin, 8 фев 2014.

  1. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.065
    Симпатии:
    345
    Введение :
    Всем привет сегодня я вам расскажу об Navigation Mesh.
    Наверное у вас будет вопрос : Почему я указал в названии статьи NodeGraph
    Ответ : NodeGraph система используется в HalfLife 2 и подобных играх. Для дополнения (игры CS : Source) разработанна система Navigation Mesh.
    Система Navigation Mesh это навигационная сетка на .bsp карте. Navigation Mesh использует собственный файл по такому шаблону.
    Код:
    <название карты>.nav
    В Navigation Mesh файле используется код для создание на World геометрии BSP навигационных путей по которому ходят AI игроки CS : Source. А также NPC игроки Hostages (Заложники). Также на Navigation Mesh может быть наложена система опознавания радио чата и радара. О чем я говорю, спросите вы? Когда вы посылаете какую-то радио-команду в чат вы видите текст такого шаблона
    Код:
    <имя игрока> @ <имя местности> (RADIO) : текст радио
    Но бывают такие случаи, что карта не имеет Навигацию местности.Навигация местности это названия мест наложенные на навигационные системы. Именно в этом уроке я покажу вам как их создавать (так как это самая простая работа). Это только введение дальше вы поймете о чем идёт речь.
    Описание статьи (Создание навигации местности) :
    Навигация местности чаще всего используется картостроителями. И конечно имеет некоторые плюсы для создателя:

    1. Показывает добросовестное отношение к проделанной работе (Создание Навигационной сетки, Навигации местности, OverView, и подобное)
    2. Показывает сам профессионализм картостроителя.
    Но это не означает, что простой пользователь не может подкорректировать карту.
    Итак давайте начнем.
    Для создание Навигации местности нужно знания 3 консольных переменных:

    1. nav_edit
    2. nav_use_place
    3. nav_place_replace
    И 6 консольных команд:

    1. nav_toggle_place_mode
    2. nav_place_pick
    3. nav_toggle_place_pick
    4. nav_place_floodfill
    5. nav_place_list
    6. nav_place_set
    Внимание : Переменная nav_edit (с которой все и будет начинаться) имеет консольный флаг CHEAT, поэтому для ей включения требуется sv_cheats, а также nav_edit работает только на локальном сервере.
    Итак давайте по порядку:
    nav_edit <0/1> - Включает режим редактирования Navigation Mesh системы.
    nav_use_place <название места> - Используется для обозначения того, какое именно название местности вы будете использовать.

    • Например : База Террористов : nav_use_place TSpawn
    • Например : Зигзаг : nav_use_place Middle
    • Подсказка : Для отображения всех доступно возможных местностей используйте nav_use_place без аргументов
    • Подсказка : Если вы хотите переведённые названия местностей пройдите по данному пути
      Код:
      Ваша папка Steam/SteamApps/common/Counter-Cstrike Source/cstrike/resource
      Найдите там файл cstrike_russian.txt и там вы найдёте русский/английский вариант названия местностей. Lанный файл очень интерактивный поэтому вы не запутаетесь там, либо вы можете использовать список из доступных названий местностей из данного сообщения
    • Внимание : Вы не можете использовать свои собственные названия местностей используйте только тот набор, который указан в nav_use_place.
    nav_place_replace <старое имя местности> <новое имя местности> - Переименовывает все название старых местностей на названия новых местностей.

    • Например : nav_place_replace CTSpawn TSpawn - мы переименовали все местности с именем База Спецназа на название местностей с именем База Террористов
    nav_toggle_place_mode - Переключение с режима редактирования Navigation Mesh на редактирование Местности.
    nav_place_pick - При наведении на навигационную область команда nav_place_pick сохраняет название местности в консольную переменную nav_use_place после чего вы можете использовать это для консольных команд nav_toggle_place_pick и nav_place_set.
    nav_toggle_place_pick - Переключения в режим отмечать/запретить отмечать местности (то есть, если вы напишите в консоль данную команду, то при наведении на навигационную область вы дадите этой зоне имя).

    • Внимание : Команда может использоваться по двум типам.

    1. Используется nav_use_place <имя местности> и потом пишется nav_toggle_place_paiting.
    2. Если у вас есть хотя бы 1 навигационная зона, которое имеет имя то наведите на неё курсор. Это соханит название местности в консольную переменную nav_use_place после чего введите nav_toggle_place_paiting.
    • Подсказка : Если к примеру вы случайно отметили навигационную область неправильным именем то используйте данный метод.
    nav_place_floodfill - Данная консольная команда позволяет вам все безымянные зоны превратить с названиями, которое отображено в nav_use_place.

    • Внимание : метод с nav_place_pick в данной команде не работает.
    nav_place_list - Данная консольная команда позволяет вам вывести список и количество используемых навигационных местностей в текущей карте.
    nav_place_set - Данная консольная команда альтернатива консольной команде nav_toggle_place_paiting, отличие данной команды в том, что сначала отмечаются все навигационные области и только.Использовать данную команду надо так:

    1. Укажите в консольной переменной nav_use_place имя местности, которым вы будите раскрашивать навигационные области.
    2. С помощью консольной команды nav_toggle_selecting (данная команда будет рассмотрена на следующих уроках) укажите те навигационные области, которые вы будете использовать.
    3. Напишите консольную команду nav_toggle_selecting еще раз, чтобы отключить режим выделения навигационных зон.
    4. Напишите nav_place_set

    • Внимание : Вы также можете использовать nav_place_pick вместо nav_use_place (Шаг 1).
    • Подсказка : Вы также можете использовать консольную команду nav_add_to_selected_set. Дело ваше. Консольные команды nav_add_to_selected_set и nav_toggle_selecting абсолютно идентичны в своем использовании.
    Все консольные команды и переменные рассмотрены.
    После того, как вы все сделали с Navigation Mesh. Наберите в консоль nav_analyze (Данный процесс наверняка вам знаком).
    После карта перезагрузиться и проверьте работоспособность своей Navigation Mesh.
    На этом всё, спасибо за внимание.
     
    Последнее редактирование: 19 окт 2015
    diller110, Webman, SenatoR и 3 другим нравится это.
  2. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.065
    Симпатии:
    345
    Re: Navigation Mesh альтернатива NodeGraph (часть 1)

    Название местностей для консольной переменной nav_use_place:
    Код:
    BombsiteA - Место закладки A
    BombsiteB - Место закладки B
    BombsiteC - Место закладки C
    Hostages - Заложники
    HostageRescueZone - Зона спасения заложников
    VipRescueZone - Зона спасения VIP
    CTSpawn - База спецназа
    TSpawn - База террористов
    Bridge - Мост
    Middle - Зигзаг
    House - Дом
    Apartment - Комната
    Apartments - Квартира
    Market - Рынок
    Sewers - Коллектор
    Tunnel - Туннель
    Ducts - Канал
    Village - Деревня
    Roof - Крыша
    Upstairs - Верхний этаж
    Downstairs - Нижний этаж
    Basement - Подвал
    Crawlspace - Погреб
    Kitchen - Кухня
    Inside - В - помещении
    Outside - На - улице
    Tower - Башня
    WineCellar - Винный погреб
    Garage - Гараж
    Courtyard - Внутренний двор
    Water - Вода
    FrontDoor - Парадная дверь
    BackDoor - Черный ход
    SideDoor - Боковая дверь
    BackWay - Обходной путь
    FrontYard - Палисадник
    BackYard - Задний двор
    SideYard - Боковой двор
    Lobby - Холл
    Vault - Подземелье
    Elevator - Лифт
    DoubleDoors - Двухстворчатая дверь
    SecurityDoors - Защитная дверь
    LongHall - Длинный коридор
    SideHall - Боковой коридор
    FrontHall - Центральный коридор
    BackHall - Дальний коридор
    MainHall - Основной коридор
    FarSide - Дальняя сторона
    Windows - Окна
    Window - Окно
    Attic - Мансарда
    StorageRoom - Складское помещение
    ProjectorRoom - Проекционное помещение
    MeetingRoom - Зал заседаний
    ConferenceRoom - Конференц зал
    ComputerRoom - Компьютерный зал
    BigOffice - Большой офис
    LittleOffice - Маленький офис
    Dumpster - Мусорный контейнер
    Airplane - Самолет
    Underground - Метро
    Bunker - Бункер
    Mines - Мины
    Front - Спереди
    Back - Сзади
    Rear - С тылу
    Side - Сбоку
    Ramp - Уклон
    Underpass - Переход
    Overpass - Эстакада
    Stairs - Ступеньки
    Ladder - Лестница
    Gate - КПП
    GateHouse - КПП
    LoadingDock - Грузовой помост
    GuardHouse - Караульное помещение
    Entrance - Вход
    VendingMachines - Торговые автоматы
    Loft - Чердак
    Balcony - Балкон
    Alley - Аллея
    BackAlley - Узкий переулок
    SideAlley - Узкая улица
    FrontRoom - Гостиная
    BackRoom - Подсобное помещение
    SideRoom - Боковая комната
    Crates - Ящики
    Truck - Открытая платформа
    Bedroom - Спальня
    FamilyRoom - Общая комната
    Bathroom - Ванная
    LivingRoom - Гостиная
    Den - Рабочий - кабинет
    Office - Офис
    Atrium - Атриум
    Entryway - Вход
    Foyer - Вестибюль
    Stairwell - Пролет лестницы
    Fence - Забор
    Deck - Палуба
    Porch - Подъезд
    Patio - Патио
    Wall - Стена
     
    Последнее редактирование: 1 июл 2014
  3. selax

    selax

    Сообщения:
    1.044
    Симпатии:
    211
    Статья не полная. ;(
    Допортировал карту сегодня, делал обозначения для радара, без ботов, для карты.

    Понадобились такие инструменты, думаю их тоже бы в тутор включить надо:
    • nav_begin_area
    • nav_end_area
    • nav_corner_place_on_ground

    Сама ксго не полностью генерит зоны. ;(
    Еле справился. :)
     
    Se7en_RUS нравится это.
  4. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.065
    Симпатии:
    345
    Всё никак не могу добраться до написания 2ой части.
    Думаю скоро сделаю.
     
  5. Zakhar Revin

    Zakhar Revin

    Сообщения:
    24
    Симпатии:
    2
    А вот скажите лучше, как потом это дело сохранить после пересборки карты? Если добавить ресурсов в bsp или перекомпилить, движок люто-бешено предупреждает о старом нав файле. А такой кропотливой и работой занимать каждый раз никто не будет естественно. Наверняка есть команда, анализирующая новую крату и обновляющая старый нав.
     
    Последнее редактирование: 6 июл 2016
  6. Sasha7

    Sasha7

    Сообщения:
    58
    Симпатии:
    6
    Используйте nav_analyze
    Название местностей для консольной переменной nav_use_place CS:GO:
    Код:
    BombsiteA - Точка закладки A
    BombsiteB - Точка закладки B
    BombsiteC - Точка закладки C
    Hostages - Заложники
    HostageRescueZone - Зона эвакуации
    VipRescueZone - Зона эвакуации VIP
    CTSpawn - База спецназа
    TSpawn - База террористов
    Bridge - Мост
    Middle - Центр
    House - Дом
    Apartment - Комната
    Apartments - Апартаменты
    Market - Рынок
    Sewers - Канализация
    Tunnel - Туннель
    Ducts - Вентиляция
    Village - Деревня
    Roof - Крыша
    Upstairs - Верхний этаж
    Downstairs - Нижний этаж
    Basement - Подвал
    Crawlspace - Канал
    Kitchen - Кухня
    Inside - В помещении
    Outside - Улица
    Tower - Башня
    WineCellar - Винный погреб
    Garage - Гараж
    Courtyard - Внутренний двор
    Water - Вода
    FrontDoor - Парадная дверь
    BackDoor - Черный ход
    SideDoor - Боковая дверь
    BackWay - Обходной путь
    FrontYard - Палисадник
    BackYard - Задний двор
    SideYard - Боковой двор
    Lobby - Холл
    Vault - Хранилище
    Elevator - Лифт
    DoubleDoors - Двухстворчатая дверь
    SecurityDoors - Защитная дверь
    LongHall - Длинный коридор
    SideHall - Боковой коридор
    FrontHall - Front Hall 
    BackHall - Дальний коридор
    MainHall - Основной коридор
    FarSide - Дальняя сторона
    Windows - Окна
    Window - Окно
    Attic - Мансарда
    StorageRoom - Складское помещение
    ProjectorRoom - Проекционное помещение
    MeetingRoom - Конференц-комната
    ConferenceRoom - Конференц-зал
    ComputerRoom - Компьютерный зал
    BigOffice - Большой офис
    LittleOffice - Малый офис
    Dumpster - Мусорный контейнер
    Airplane - Самолет
    Underground - Подземный этаж
    Bunker - Бункер
    Mines - Мины
    Front - Передняя часть
    Back - Сзади
    Rear - Задняя часть
    Side - Боковая часть
    Ramp - Склон
    Underpass - Нижний переход
    Overpass - Эстакада
    Stairs - Лестница
    Ladder - Лестница
    Gate - КПП
    GateHouse - Помещение КПП
    LoadingDock - Грузовой помост
    GuardHouse - Караульное помещение
    Entrance - Вход
    VendingMachines - Торговые автоматы
    Loft - Чердак
    Balcony - Балкон
    Alley - Аллея
    BackAlley - Переулок
    SideAlley - Боковой переулок
    FrontRoom - Гостиная
    BackRoom - Подсобное помещение
    SideRoom - Боковая комната
    Crates - Ящики
    Truck - Грузовик
    Bedroom - Спальня
    FamilyRoom - Гостинная
    Bathroom - Ванная
    LivingRoom - Гостиная
    Den - Рабочий кабинет
    Office - Офис
    Atrium - Атриум
    Entryway - Вход
    Foyer - Вестибюль
    Stairwell - Пролет лестницы
    Fence - Забор
    Deck - Терраса
    Porch - Подъезд
    Patio - Патио
    Wall - Стена
    BoatBar - Лодочная
    BoatStorage - Хранилище лодок
    CTBar - Бар спецназа
    UpperCatwalks - Верхний помост
    LowerCatwalks - Нижний помост
    GroundLevel - Первый этаж
    LockerRoom - Раздевалка
    BackEntrance - Черный вход
    FrontEntrance - Парадный вход
    SnipersNest - Снайперская позиция
    BodyShop - Автомастерская
    BankInterior - В банке
    BombSite - Точка закладки бомбы
    BankExterior - Вне банка
    Street - Улица
    GasStation - Заправка
    SideEntrance - Боковой вход
    PalaceInterior - Дворец
    BackAlleys - Переулки
    CTSideUpper - Верх. проход спецназа
    CTSideLower - Низ стороны Сп
    TSideUpper - Верх. проход террористов
    TSideLower - Низ стороны Т
    UpperCarousel - Верхний конвейер
    MidCarousel - Средний конвейер
    LowerCarousel - Нижний конвейер
    CTCorridorDown - Коридор спецназа внизу
    CTCorridorUp - Коридор спецназа вверху
    TCorridorDown - Коридор террористов внизу
    TCorridorUp - Коридор террористов вверху
    LeftAlley - Левый переулок
    RightAlley - Правая аллея
    BackCourtyard - Задний двор
    FrontCourtyard - Передний двор
    MidArch - Средняя арка
    OutsideLong - Проход на «длину»
    LongDoors - Двери «длины»
    AbovePit - Над ямой
    Pit - Яма
    APlatform - Платформа на точке A
    LongA - «Длина» точки А
    ARamp - Склон точки А
    BackofA - Задняя часть A
    Bricks - Кирпичи
    ShortStairs - Короткий подъем
    Short - Короткий проход
    Catwalk - Уступ
    Mid - Mid 
    TopofMid - Верхняя часть центра
    MidDoors - Двери в центре
    ExtendedA - Рядом с точкой A
    BDoors - Двери точки B
    Hole - Проем
    BPlatform - Платформа на точке B
    BackofB - Задняя часть B
    UpperTunnel - Верхний туннель
    TunnelStairs - Лестница в туннеле
    LowerTunnel - Нижний туннель
    OutsideTunnel - Снаружи туннеля
    UnderA - Под точкой A
    TRamp - Склон террористов
    SniperBox - Точка снайпера
    Radio - Радио
    Hut - Будка
    Crows - Вороны
    Squeaky - Дверь | «Скрип»
    Yellow - Желтый
    Main - Главный проход
    CTRed - Красный Сп
    Red - Красный
    Warehouse - Склад
    BackStairs - Задняя лестница
    Rafters - Стропила
    Forklift - Погрузчик
    Garden - Сад
    Ruins - Руины
    Banana - Дуга
    Logs - Поленница
    TStairs - Лестница террористов
    SecondMid - Второй центральный ход
    Hay - Сено
    Quad - Угол
    Arch - Арка
    Library - Библиотека
    Graveyard - Кладбище
    LowerMid - Нижняя часть центра 
    Актуальные обозначения находятся по адресу: csgo\resource\csgo_russian.txt
     
    Последнее редактирование: 6 июл 2016
  7. Zakhar Revin

    Zakhar Revin

    Сообщения:
    24
    Симпатии:
    2
    Спасибо огромное))), сам нашел.. Решил проверить, отписали ли тут, и оказалось да. Раньше всегда использовал nav_generate, что естессно убивало старый нав.