1. Для общения на форуме, в чате или личной переписке наличие аватара ОБЯЗАТЕЛЬНО!

Создание АИ-сетки

Тема в разделе "Уроки по работе с СДК", создана пользователем basil, 26 сен 2019.

  1. basil

    basil Администратор

    1.098
    479
    9 дек 2010
    Мужской
    AI-Map в X-Ray: теория, практика, ошибки (Статья перенесена с АМК-форума, автор HellRatz)

    Статья по возможности расскажет о том, что такое Аи-Карта, как её правильно сгенерировать, как скорректировать до рабочего состояния. Больше рассчитана на людей, которые более-менее знакомы с СДК, но всё равно старался писать максимально подробно.

    Использованы материалы с ModDB

    АИ-Карта - площадь на уровне, заполненная аи-узлами (нодами), контролирующие или ограничивающие перемещение НПС/Мутантов (Далее - боты) по уровню. В сталкере существует два типа сущности: либо что-то онлайн, либо оффлайн. Онлайн обычно ограничивается видимостью вокруг ГГ (В оригинале 150 метров). В онлайне боты перемещаются по аи-карте, в оффлайне же они перемещаются по точкам - графпоинтам. Когда моб попадает в видимость ГГ, он переходит из оффлайна в онлайн - это те самые моменты, когда игра зависает иногда на несколько секунд и движок переключает объекты из оффлайн в онлайн. Аи-карта должна быть цельной, не имеющая разрывы между нодами.

    Рис. 1 - Аи-карта в СДК (Редактор уровней для игры)
    [​IMG]

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

    Рис. 2 - Соединение нодов между собой
    [​IMG]

    На изображении видно соединение нодов между собой и направление каждого из них. В зависимости от количества сторон, куда может вывести нод, ноду причисляется свой цвет:
    1) Полностью серый нод - все 4 направления;
    2) Нод с 1 оранжевым ребром - 3 направления;
    3) Нод с 2 синими ребрами - 2 направления;
    4) Нод с 3 зелеными ребрами - 1 направление.
    В самом худшем случае нод имеет красный цвет, это означает, что нод не соединен с основной сеткой. Его нужно либо удалить, либо присоединить к основной карте.

    1.1.2 Немного интересных фактов о АИ-Сетке (Спасибо Desertir):
    1. При проекции на плоскость XZ представляет собой ноды 0.7х0.7
    2. Ноды (или лв) нумеруются с юга на север, с запада на восток.
    3. Нулевой вертекс самый западный, однако не всегда самый южный.
    4. Вертекс имеет координаты X и Z кратные 0.7 (размеру ноды).
    5. Если лв различаются только координатой У (на разной высоте), то нумерация чередуется (что нумеруется первым, верхний или нижний, пока не известно).

    1.2 Какой максимальный размер АИ-Карты?

    Общий максимальный размер карты в среднем включает в себя 3.000.000 - 3.500.000 млн. плотно заполненных аи-нодов, что равняется уровню примерно равному 1.3 х 1.3 км (На данный момент GSC выложили исходные коды в свободный доступ, что увеличивает вероятность увеличения этого ограничения в ближайшем будущем). Так же следует учитывать и точки для оффлайна - графпоинты, чем больше аи-сетка, тем больше должна быть их плотность. Ограничения компиляторов xrAI (Возможно, на данный момент) не дают возможность сделать большой уровень, который можно наполнить жизнью, потому что если превысить среднее значение нодов в 3 млн и более 400 графпоинтов - компилятор будет валиться с ошибками. Конечно, никто не мешает сделать большой уровень сам по себе как таковой (Геометрия), тем более недавно выпущенные х64 компиляторы позволяют тянуть более тяжелую геометрию уровня, но наполнить его событиями не получится, либо нужно ограничивать размер АИ-Карты.

    Если моб становится оффлайновым (Уходит из зоны видимости ГГ, заданным в alife.ltx), то движок переводит его в режим "оффлайн" и моб отправляется ходить по графпоинтам, от точки к точке перемещаясь, как бы живя своей жизнью. Графпоинты - особые точки, которые существуют только на АИ-Карте. Графпоинты видны в СДК, их можно редактировать расставляя как угодно или удаляя их, но в итоге после компиляции под формат игры, графпоинты не будут являться частью игрового уровня или all.spawn: компилятор xrAI переводит графпоинты в вершины игры/уровня (в глобальный граф). Все оффлайновые мобы могут перемещаться по этим точкам, не считаясь с переходами между уровнями (Как для ГГ), то есть для них графпоинты каждого уровня одна большая бесшовная карта, по которой они ходят, по этому и происходят в сталкере многие оффлайн-события, особенно в модах (Типа АМК) без участия игрока, например НПС с Кордона ушел в Бар, на Складах убили сталкеров, пока ГГ был в Припяти и т.д.
    Следует заметить, что расставляя граф-поинты в СДК, они должны находиться строго на АИ-карте, не должны проваливаться под сетку или висеть над ней, каждый граф должен стоять на ноде - иначе будут ошибки.
    Рис. 3 - Выделены все графпоинты на локации Кордон.
    [​IMG]

    1.4 Какие файлы относят к АИ в игровых архивах (Или gamedata)?

    *gamedata/levels/level_name/level.ai - Сами ноды уровня, которые образуют единую карту, запечатаны в этот файл.
    *gamedata/levels/level_name/level.graph (Только ТЧ) - содержит в себе графпоинты с уровня. В папке с локацией в игре не нужен, нужен только для работы в СДК и xrAI.
    *gamedata/game.graph (Только ТЧ) - в этот файл запечатаны все т.н вершины (графпоинты) с локаций, подключенных к игре (Собирается из level.graph-ов). Глобальный граф.
    *gamedata/levels/level_name/level.gct (Только ТЧ) - является кросс-таблицей уровня. level.gct.raw - этот файл создает xrAI и является копией (промежуточной версией?) основного файла.

    В играх серии "Чистое Небо" и "Зов Припяти" дела обстоят немного иначе, все файлы относящиеся к АИ кроме карты уровня запечатываются в all.spawn.

    2.1 Создание AI-Map

    Итак. Будем считать, что с общими понятиями этого аспекта игры мы разобрались. Настало время поработать по делу и создать свою АИ-Карту для, возможно, своего уровня. Поехали.

    Для того, чтобы создать сетку, Вы должны убедиться, что Ваш уровень готов к игре: на нем стоят все статические объекты, локацию окружает фейк-стена. Если все готово, то идем далее:

    Шаг 1. Подготовка уровня.



    Скрыть


    Обязательно нужно "окутать" локацию фейк-стеной (Должна быть замкнута между собой, не иметь дыр), она не даст пройти аи-сетке за нее, что ограничит нас от лишней работы - удаление вручную АИ-Нодов, которые залезли за пределы игрового уровня. Специально создавать ее не обязательно, если Вы делали уровень (Может, был готовый) как полагается, то вокруг забора уже должна быть фейк-стена, которая не даст ГГ перепрыгнуть через забор. Просто копируем ее и опускаем ниже, чтобы она вошла где-то на половину в землю. После генерации АИ-Карты скопированный фейк-объект можно удалить!

    Рис. 4 - Фейк-стена для АИ-сетки скопированная из стены для ГГ

    [​IMG]





    Шаг 2. Выделение объектов



    Скрыть


    Итак, уровень готов, на нем есть все нужные объекты. Идем дальше. Теперь нам нужно добавить все статические объекты уровня в снап-лист, т.е объекты, которые АИ-Сетка будет огибать во время генерации (Прим.: если в статическоем объекте есть дыра, например это здание с дверным проемом, то Аи-Сетка туда заберется и сгенерируется). Вообще, самый простой вариант - это сделать Ctrl+A выделив тем самым все объекты на локации, но мы пойдем немного иным и разумным путем. Дело в том, что кусты на уровне при таком выделении тоже соответственно будут выделены, что не очень хорошо, ведь ГГ может ходить сквозь кусты, так почему мобы не могут? Плюс порой это может вызвать эффект неожиданности, если на тебя из кучи кустов вдруг выпрыгнет кровосос! По этому делаем немного иначе, находясь в режиме работы с объектами (Кнопка Object) заходим в Object List и выделяем мышкой сами все объекты, кроме кустов. Т.к список объектов сортируется по алфавиту, то кусты порой могут оказаться в середине списка, например, и их нужно обойти и не выделить. Сделать это можно зажав Ctrl перед началом выделения и тогда можно выделять объекты выборочно, а нужные объекты конечно смотрим по названию.

    Рис. 5 - Выделены все объекты, кроме кустов через Object List.

    [​IMG]





    Шаг 3. Генерация АИ-Карты



    Скрыть


    Уровень готов, нужные объекты выделены, пора сгенерировать саму аи-сетку. Переходим во вкладку AI Map, далее жмем Commands > And Select To List (Добавить выбранное в список),

    Рис. 6 - Добавление объектов в список

    [​IMG]

    все наши объекты добавляются в снап-лист. Далее жмем на кнопку добавления (Чайник вверху слева, либо горячая кнопка А(ф)) и добавляем на террейн как минимум 1 аи-нод, но лучше раскидать их несколько штук по уровню.

    Рис. 7 - Одиночные ноды расставленные перед генерацией.

    [​IMG]

    Для лучшего покрытия уровня нодами, жмем Ignore Constraints, далее жмем Generate Full - и ждем генерации Аи-Карты для уровня. Процесс может занять несколько минут, зависит от тяжести уровня (ПК, на сколько мне кажется, роли не играет, СДК живет своей жизнью)

    Рис. 8 - Сгенерированная карта на уровне

    [​IMG]

    Как видно на рисунке выше, аи-сетка расстелилась по уровню, прошла под кустами, но обошла дорожные знаки. Теперь в игре мобы будут пробегать сквозь кусты, как и ГГ, но оббегать вокруг препятствие в виде знаков.

    Рис. 9 - Карта внутри фейк-стены

    [​IMG]

    Как и говорилось ранее, аи-сетка не залезает за замкнутую фейк-стену.

    По желанию можно "разгладить" сетку нажав на кнопку Smooth Selected (Предварительно выделив все ноды с помощью Ctrl+A), но лично я все же не рекомендую это делать, иногда сглаживание проходит не очень выгодно и красиво. Лучше выделять одиночные ноды руками и сглаживать так, чем все сразу. Теперь можно так же удалить копию фейк-стены - она нам больше не нужна.

    К сожалению, инструмент СДК для работы со сталкером не идеален, и имеет свои ошибки, аи-карта не исключение. Я настоятельно рекомендую, после генерации аи-карты, проверить ее на предмет ошибок. Распространенный тип ошибок и мелких косяков, а так же их исправление, рассмотрим ниже.

    3.1. Корректировка 1. Не соединенные ноды



    Скрыть


    Часто бывает, что ноды не соединяются между собой, даже если находятся близко друг к другу. Что на это влияет я так и не понял (Я понимаю, если место стыка находится в трудном месте, на высоте или еще где, а то бывает на ровном месте).

    Рис. 10 - Не линкованные между собой ноды

    [​IMG]

    Как видно из рисунка выше, на краю сетки есть ноды, которые ведут в 1 сторону. Т.е моб попадая на этот нод, не пойдет вдоль например, а развернется назад. Нам конечно это не нужно, по этому начинаем исправлять:

    1. Выделяем все Аи-Ноды (Ctrl+A),

    2. Затем жмем на среднюю кнопку (+) (К сожалению, ее названия я не знаю, называю ее просто "плюс") (Рис. 11)

    Рис.11 - Кнопка исправляющая данную ошибку.

    [​IMG]

    3. Смотрим на результат.

    Рис. 12 - Результат с исправленными нодами

    [​IMG]

    Соответственно это исправит такие косяки не только в этом месте, но и в других подобных, возможно которые и не заметишь сразу.





    3.2 Корректировка 2. Одиночные ноды



    Скрыть


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

    Рис. 13 - Одиночные ноды получившиеся после генерации карты

    [​IMG]

    Для того, чтобы выделить все одиночные ноды, жмем на Select 0-Link (Находятся справа от кнопки (+) ), данная кнопка выделит все нулевые ноды. Затем жмем Delete на клавиатуре - готово, одиночные ноды удалены.





    3.3 Корректировка 3. Лишние ноды (Удаление)



    Скрыть


    Еще один частый глюк СДК, когда аи-сетка произвольно залезает на объекты, которые не должна.

    Рис. 14 - Аи-сетка на пеньке

    [​IMG]

    Как видим с картинки выше, аи-сетка забралась на пенек. Не трудно догадаться, что в игре будет выглядеть не очень красиво, когда НПС или мутант будет бегать по пеньку. В таких случаях, к сожалению, автоматика СДК не поможет - такие места нужно искать самому и исправлять их:

    1. Выделяем ноды (Кнопка-стрелочка вверху слева, или горячая кнопка S)

    Рис. 15 - Выделены лишние ноды

    [​IMG]

    2. Жмем Delete на клавиатуре.

    3. Смотрим результат

    Рис. 16 - Конечный результат, теперь мобы будут обходить пенек

    [​IMG]





    3.4 Корректировка 4. Одиночное (ручное) добавление нодов



    Скрыть


    Порой возникают случаи, когда нужно добавить ноды на уровень. Если аи-сетка создавалась правильно, такие случаи в основном исключены, но никто не от чего не застрахован. Возможно нужно добавить парочку нодов туда, куда СДК автоматически не смог их положить. Я для примера прокладываю "тропинку" к зданию.

    Чтобы это сделать, нужно опять же находясь в режиме редактирования Аи-Карты (Кнопка Ai Map) нажать на чайник или горячую клавишу А(ф), при условии что все статические объекты до сих пор находятся в снап-листе.

    Это ограничивает Вас от мороки навроде новой генерации сетки и т.д

    Рис. 17 - Результат ручного добавления (Новые ноды подсвечены)

    [​IMG]





    3.5 Корректировка 5. Одиночная (ручная) линковка нодов между собой



    Скрыть


    Иногда бывает ситуация, когда ноды не линкованны между собой. Это бывает во многих случаях, например если добавляете некоторые новые ноды вручную, и они не хотят соединяться с основной сеткой.

    Рис. 18 - Нелинкованные ноды (В моем случае после ручного добавления новых нодов они не соединяются с новой сеткой)

    [​IMG]

    Отчетливо видим ошибку. Чтобы мобы смогли зайти в будущем в здание, нужно соединить ноды находящиеся в дверном проеме.

    Чтобы исправить эту проблему, делаем следующее (Правка похожа на самую первую корректировку):

    1. Выделяем ноды, которые нужно соединить между собой

    Рис. 19 - Выделены необходимые ноды (Подсвечены)

    [​IMG]

    2. Затем жмем на кнопку (+)

    3. Смотрим результат

    Рис. 20 - Результат корректировки

    [​IMG]





    3.6 Корректировка 6. Генерация по определенным объектам



    Скрыть


    Иногда бывают случаи, когда Аи-Карта не генерируется в некоторых местах. Например в зданиях. Благо, это тоже исправляется.

    Рис. 21 - Внутри здания нет Аи-Сетки

    [​IMG]

    Кстати, если все основные работы с основной сеткой были проведены, то для этой корректировки можно и нужно очистить снап-лист, далее мы добавим в него только нужные объекты для генерации. Жмем Commands > Clear List, подтверждаем удаление.

    Рис. 22 - Очистка снап-листа.

    [​IMG]

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

    Рис. 23 - Выделены нужные объекты, обновлен снап-лист, добавлены ноды.

    [​IMG]

    , выделяем вручную каждый новый нод (Зажав L Ctrl) и жмем Generate Selected (Не Full!)

    Рис. 24 - Результат выборочной генерации только внутри здания (Основная сетка не была затронута)

    [​IMG]

    Теперь, вроде, все ок. Видим правда глюк - на тумбочку залез один нод. Нехорошо. Надо убрать. Как это сделать мы знаем, проходили в 3 корректировке аи-карты.

    А, хотя стоп, погодите...! Нашел еще один глюк. Как и говорил ранее, аи-сетка иногда может не проходить сквозь дверные проемы и т.п, это мы наблюдаем сейчас.

    Рис. 25 - Аи-Карта не соединилась из-за узкого прохода

    [​IMG]

    Исправить это легко, все из предыдущих корректировок - добавляем в дверной проем по 2 нода (Не забыв нажать Ignore Constraints, как всегда), и тут они либо сами между собой залинкуются, либо выделим их и ближайшие к ним ноды и нажмем на "плюс".

    Рис. 26 - Исправленная сетка в дверном проеме

    [​IMG]

    Вот и все - комнаты соединены между собой. Проделываем эту работу с каждой комнатой и наблюдаем результат. Аи-Карта расстелена по зданию и присоединена к основной сетке, чего не смог сделать СДК. Теперь мобы будут посещать домик.

    Рис. 27 - Конечный результат

    [​IMG]





    3.7 Корректировка 7. Двигаем "летающие" ноды на место



    Скрыть


    Еще один глюк, который возникает довольно часто - это летающие ноды. Благо это попадается очень редко, почти всегда в лице паре-тройке экземпляров, в основном в зданиях, на объектах, или после ручного добавления нода в узкий проем.

    Рис. 28 - Летающий нод

    [​IMG]

    Нехорошо. Будем исправлять. А то некрасиво как-то будет в игре, если моб попадет на этот нод и резко подлетит вверх, а потом вниз, верно? [​IMG]

    Выделяем этот нод, затем жмем кнопку отвечающую за перемещение объектов (Вверху на панели инструментов) и как обычный объект двигаем нод вниз по оси Y, и равняем его примерно с остальными. Готово!

    Рис. 29 - Результат смещения ноды вниз

    [​IMG]





    3.8 Корректировка 8. Неправильная линковка нодов

    Скрыть


    Еще одна редкая, но все же ошибка - когда ноды соединяются между собой по нескольку раз или же на далеких расстояниях, что в игре может вызвать адские глюки и некрасивые моменты.
    Рис. 30 - Пример такой ошибки
    [​IMG]
    Ноды с лестницы соеденились с нодами внизу, которые, в свою очередь, присоединены к основной сетке снизу. О как!
    Теперь правим:
    1. Выделяем все три нода на лестнице, которые соединены к нижним
    2. Удаляем
    3. Ставим заново поштучно
    Либо можно не удалять а поставить новые ноды поверх старых, они автоматически перелинкуются в правильную сторону. Такие дела.
    Рис. 31 - Исправленные ноды, теперь они ведут в правильную сторону
    [​IMG]
    Такие ошибки к сожалению могут возникать не только не лестницах, а на различных выступах, ямках, обрывах и т.д - смотрите внимательнее и исправляйте эти недоразумения.


    3.9 Корректировка 9. Аи-сетка на вышках и т.д
    Скрыть


    Еще один, не то, чтобы глюк, но недоработка (имхо) аи-сетка не генерируется на вышках, например, вертикальных лестницах и т.д. Все это приходится делать руками.
    Рис. 32 - Аи-сетка на платформе, которая не соединена с основной сеткой на террейне
    [​IMG]
    Чтобы соединить два куска сетки между собой, делаем следующее:
    1. Ставим нод снизу лестницы (Должно быть вкл. Ignore Constraints, не забываем), по надобности такой же нод сверху
    Рис. 33 - Новый нод - будущий мост между двумя кусками
    [​IMG]
    2. Выделяем новый нод, передвигаем его к верху лестницы (Как показано было в ранних корректировках), затем выделяем самый ближний к нему нод и нажимаем на кнопку (+), итог:
    Рис. 34 - Теперь соединены 2 куска между собой
    [​IMG]
    Правда в игре это будет выглядеть не очень хорошо, если НПС или мутант полезет по лестнице, но допускать разъединения сетки нельзя, по этому выбора нет. Так же можно перетащить нод-"мост" на центр лестницы и повернуть его (Через обычный инструмент поворота на панели инструментов):
    Рис. 35 - Повернутый нод
    [​IMG]
    Скорее всего это немного украсит перемещение НПС по лестнице, но на практике не проверял. [​IMG]


    Ну вот, вроде и все! После всех правок, АИ-сетка должна быть отточена до мелочей, не иметь глюков и ошибок, нпс и мутанты будут бродить везде где положено, ну и прочие хорошие вещи. Кстати, учитывайте: АИ-Сетка не должна иметь разрывов (Например аи-сетка в здании не соединена с аи-сеткой на террейне) - будут вылеты xrAI. Между ними обязательно должен быть хотя бы один нод, соединяющий два куска. Можно билдить аи-сетку, компилировать.

    Момент с компиляцией я упущу, пусть это будет описано в статье про подключение уровней. Последним шагом рассмотрим ошибки, которые могут возникнуть, если что-то все-таки проглядели и не исправили. Напомню, что лучше всего будет после сборки аи-сетки проверять ее на наличие ошибок, благо xrAI (Ну или аивраппер) позволяет это делать. Если Вам написали AI-map is valid!, то могу поздравить - Ваша аи-карта готова для дальнейших действий, если же Вам написали ошибку, то:

    При получении ошибки вида (Скажу честно, другие ошибки мне не попадались, по этому пишу только о ней)

    [​IMG]

    * Неправильное линкование нодов (Описывалось ранее в корректировках)

    [​IMG]

    [​IMG]

    Необходимое условие: это наличие полностью готовой локации, уже скомпиленой на максимальном качестве желательно.

    1) Разбираем ее в СДК формат конвертером, можно без ключа -with_lods.

    2) Запускаем СДК и загружаем уровень, выделяем все объекты и вносим в список аи-мап, ставим нод(ы), отключаем отображение объектов (Скрываем через ПКМ в СДК 0.4 или нажимаем на глазик в 0.7), и пробуем с генерировать сетку в обычном режиме, а вдруг повезет! Если нет, то:

    3) закрываем СДК и лезем в папку rawdata\objects\levels\название уровня

    4) Открываем папку с кусками геометрии, нажимаем ПКМ и выбираем сортировка по размеру, все "тяжелые" объекты будут первыми по списку

    5) Смотрим на первый объект, самый тяжелый, например локация_part0001, запоминаем номер

    6) Открываем СДК и опять подгружаем уровень. Находим этот объект и удаляем его. (Желательно объект который удалили перетащить на рабочий стол в отдельную папку, потом они пригодятся и искать будет проще).

    7) Опять создаем список для аи мап, но уже в нем не будет одного объекта, того что удалили. Пробуем опять с генерировать. Получилось - отлично! Нет:

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

    9) Все, основная сетка готова, приступаем к изготовлению сетки на объекты которые были удалены.

    10) С рабочего стола перетаскиваем папку с объектами которые были удалены, запускаем СДК открываем уровень и выбираем из нашей папки первый по списку объект и ставим его в любое место на локе, нажимаем энтер и выставляем координаты (Местоположение) и ротацию (поворот) на 0, объект встанет на свое место где он и был.

    11) Опять делаем по урокам из этой темы, отрезаем под объектом лишние ноды. Выбираем этот объект и в носим его в список аи мап, только его одного, других не надо. Генерируем на этом объекте аи сетку, редактируем ее а потом линкуем с основной сеткой, точки соприкосновения должны быть! Если это здание то соединяем ноды на входе. Для того что бы соединять ноды надо внести в список дополнительный объект, обычно террейн, для этого надо нажать +\-.

    12) Когда сетка будет готова для первого объекта его можно удалить, и ставить следующий, повторив выше описанную операцию. И так по списку ставим все объекты и делаем для них сетку.

    13) В последний раз проверяем всю сетку, убедившись что все нормально, приступаем к билду. Лезем в вкладку Scene и выставляем максимальное качество. Лезем в вкладку Object потом нажимаем Object List и удаляем все что там есть, то есть все объекты на локации, вплоть до террейна, только надо оставить один объект, какую-нибудь маленькую железяку, кирпич, без разницы.

    14) Билдим, естественно на локе должны стоять глоу и лайтс. Компилим как обычный уровень, это займет без геометрии всего несколько секунд, компилим аи-сетку. Все, файл level.ai готов! Кидаем его в паку с уровнем и опять разбираем его, но только теперь уже для спавна, то есть для заселения. Ставим точки графа свой спавн и компилим алл.спавн. Кидаем в геймдату и запускаем, смотрим что натворили! Все!
     
    Последнее редактирование: 28 сен 2019
    Баба Яга и yurv3 нравится это.
  2. Баба Яга

    Баба Яга Ветеран

    137
    19
    13 апр 2019
    Basil, очень классная статья, хотелось бы чтобы тут рядом были такие статьи, например:
    1) Я вообще не разбираюсь в этом, но хочу научиться. Вот есть готовая карта Кордона - как её открыть в СДК?...
    2) После открытия - можно ли исправить клетки (или ноды? я правильно понял - клетки - это ноды?..) или добавить своих ещё, и не полетит ли из-за этого вся прежняя разметка? Ну например, есть клетка размером 5х5 метров, а вместо неё сделать 20 клеток размером 1х1 метр?
    3) сделай, пожалуйста, уроки по картам от А до Я, чтобы человек который даже впервые видит СДК (я пока только установил его...) - мог от начала до конца сделать или изменить карту сам.
    :drinks:
     
  3. basil

    basil Администратор

    1.098
    479
    9 дек 2010
    Мужской
    Эту же статью не я написал, я только перенёс её с АМК-форума. Чтобы делать уроки, до такого я ещё не дорос.
    Видео уроки в этой же теме.
    Основная информация здесь: Категория:SDK — S.T.A.L.K.E.R. Inside Wiki
     
  4. Баба Яга

    Баба Яга Ветеран

    137
    19
    13 апр 2019
    Эх, жаль, а меня послали к тебе НС2016 ("диетическая" ветка) - значит буду долго разбираться... Мне бы для начала понять хоть какую версию СДК использовать чтобы открыть Кордон в диете, а ролик по сеткам я нашёл, только не нашёл как карты открывать.
     
  5. basil

    basil Администратор

    1.098
    479
    9 дек 2010
    Мужской
    Последнее редактирование: 29 сен 2019

Поделиться этой страницей