AI Map. Корректировка сгенерированной карты
AI Map. Корректировка сгенерированной карты | |
Автор | HellRatz |
Тип статьи | справка |
Актуальность | ТЧ, ЧН, ЗП |
Связанные статьи | |
AI Map. Теория AI Map. Практика |
К сожалению, инструмент SDK для работы со S.T.A.L.K.E.R. не идеален, и имеет свои ошибки, AI Map не исключение[1]. Настоятельно рекомендуется, после генерации AI Map, проверить ее на предмет ошибок. Распространенный тип ошибок и мелких косяков, а так же их исправление, смотрите ниже.
Не соединенные ноды
Часто бывает, что ноды не соединяются между собой, даже если находятся близко друг к другу. Что на это влияет неизвестно (оправдано, если место стыка находится в трудном месте, на высоте или еще где, а то бывает на ровном месте).
Не линкованные между собой ноды |
Как видно на скриншоте выше, на краю сетки есть ноды, которые ведут в 1 сторону. Т.е моб попадая на этот нод, не пойдет вдоль например, а развернется назад. Так быть не должно, поэтому нужно исправить:
1. Выделите все AI Ноды (Ctrl + A)
2. Затем нажмите на среднюю кнопку (+)
Кнопка исправляющая данную ошибку. |
3. Проверьте результат
Результат с исправленными нодами |
Соответственно это исправит такие косяки не только в этом месте, но и в других подобных, возможно которые и не заметишь сразу.
Одиночные ноды
Еще одна частая ошибка AI Map, когда появляются одиночные ноды. Появляться они могут по разным причинам, например во время генерации случайно залезает выше по объекту, и даже коррекция описанная выше не помогает. Для примера выше они были расставлены специально. В обычном же картостроении, на хорошем большом уровне, их очень часто можно не заметить, опять нужно прибегнуть к помощи SDK.
Одиночные ноды получившиеся после генерации карты |
Для того, чтобы выделить все одиночные ноды, нажмите на Select 0-Link (Находятся справа от кнопки (+) ), данная кнопка выделит все нулевые ноды. Затем нажмите Delete на клавиатуре - готово, одиночные ноды удалены.
Лишние ноды, и как их удалить
Еще один частый глюк SDK, когда AI сетка произвольно залезает на объекты, на которые не должна.
AI сетка на пеньке |
Как можно видеть на скриншоте выше, AI Map забралась на пенек. Не трудно догадаться, что в игре будет выглядеть не очень красиво, когда NPC или мутант будет бегать по пеньку. В таких случаях, к сожалению, автоматика SDK не поможет - такие места нужно искать самому и исправлять их:
1. Выделите ноды (Кнопка-стрелочка вверху слева на панели инструментов, или горячая кнопка S)
Выделены лишние ноды |
2. Нажмите Delete на клавиатуре.
3. Проверьте результат
Конечный результат, теперь мобы будут обходить пенек |
Одиночное (ручное) добавление нодов
Порой возникают случаи, когда нужно добавить ноды на уровень. Если AI сетка создавалась правильно, такие случаи в основном исключены, но никто не от чего не застрахован. Возможно нужно добавить парочку нодов туда, куда SDK автоматически не смог их положить. В примере, к зданию проложена "тропинка".
Чтобы это сделать, нужно опять же находясь в режиме редактирования AI сетки (Кнопка AI Map) нажать на "чайник" или горячую клавишу А, при условии что все статические объекты до сих пор находятся в снап-листе.
Это ограничивает Вас от мороки навроде новой генерации сетки и т.д.
Результат ручного добавления (Новые ноды подсвечены) |
Одиночная (ручная) линковка нодов между собой
Иногда бывает ситуация, когда ноды не линкованны между собой. Это бывает во многих случаях, например если добавляете некоторые новые ноды вручную, и они не хотят соединяться с основной сеткой.
Нелинкованные ноды (В этом случае после ручного добавления новых нодов они не соединяются с новой сеткой) |
Отчетливо видим ошибку. Чтобы мобы смогли зайти в будущем в здание, нужно соединить ноды находящиеся в дверном проеме.
Чтобы исправить эту проблему, делаем следующее (Правка похожа на самую первую корректировку):
1. Выделяем ноды, которые нужно соединить между собой
Выделены необходимые ноды (Подсвечены) |
2. Затем нажмите на среднюю кнопку +
3. Проверьте результат
Результат корректировки |
Генерация по определенным объектам
Иногда бывают случаи, когда AI карта не генерируется в некоторых местах. Например в зданиях. Благо, это тоже исправляется.
Внутри здания нет AI cетки |
Если все основные работы с основной сеткой были проведены, то для этой корректировки можно и нужно очистить снап-лист, а далее добавить в него только нужные объекты для генерации. Нажмите Commands > Clear List, и подтвердите удаление.
Очистка снап-листа. |
Далее вручную выделите нужные объекты, в этом случае это: дом, мебель. Выделять ВСЕ объекты уровня не нужно! Когда выделили все, добавьте выделенные объекты в снап-лист, поставьте внутрь дома как минимум 1 нод, но рекомендуется (При чем очень настоятельно) расставить по ноду в каждую комнату, чтобы сетка сгенерировалась в каждой комнате, ибо из-за дверных проемов она не всегда пролезает автоматически через него и генерируется в других помещениях.
Выделены нужные объекты, обновлен снап-лист, добавлены ноды. |
Выделите вручную каждый новый нод (Зажав L Ctrl) и нажмите Generate Selected (Не Full!)
Результат выборочной генерации только внутри здания (Основная сетка не была затронута) |
Теперь, вроде бы, все правильно. Однако есть глюк - на тумбочку залез один нод. Нехорошо. Надо убрать. Как это сделать описано в пункте, про удаление лишних нодов. И еще один глюк. Как писалось выше, AI сетка иногда может не проходить сквозь дверные проемы и т.п, это сейчас и можно наблюдать.
AI сетка не соединилась из-за узкого прохода |
Исправить это легко, все из предыдущих корректировок - добавьте в дверной проем по 2 нода (Не забыв нажать Ignore Constraints, как всегда), и тут они либо сами между собой залинкуются, либо выделите их и ближайшие к ним ноды и нажмите на среднюю кнопку (+).
Исправленная сетка в дверном проеме |
На этом все - комнаты соединены между собой. Проделывайте эту работу с каждой комнатой и проверьте результат. AI Map расстелена по зданию и присоединена к основной сетке, чего не смог сделать SDK. Теперь мобы будут посещать домик.
Конечный результат |
"Летающие" ноды
Еще один глюк, который возникает довольно часто - это "летающие" ноды. Благо они попадается очень редко, почти всегда в лице пары-тройке экземпляров, в основном в зданиях, на объектах или после ручного добавления нода в узкий проем.
"Летающий" нод |
Необходимо исправлять, а то некрасиво как-то будет в игре, если моб попадет на этот нод и резко подлетит вверх, а потом вниз, верно? :) Выделите этот нод, затем нажмите кнопку отвечающую за перемещение объектов (Вверху на панели инструментов) и как обычный объект двигайте нод вниз по оси Y, и равняйте его примерно с остальными. Готово!
Результат смещения нода вниз |
Неправильная линковка нодов
Еще одна редкая, но все же ошибка - когда ноды соединяются между собой по нескольку раз или же на далеких расстояниях, что в игре может вызвать адские глюки и некрасивые моменты.
Пример такой ошибки |
Ноды с лестницы соединились с нодами внизу, которые, в свою очередь, присоединены к основной сетке снизу.
Чтобы исправить:
1. Выделите все три нода на лестнице, которые соединены с нижним
2. Удалите
3. Поставьте заново поштучно
Либо можно не удалять, а поставить новые ноды поверх старых, они автоматически перелинкуются в правильную сторону. Такие дела.
Исправленные ноды, теперь они ведут в правильную сторону |
Такие ошибки к сожалению могут возникать не только на лестницах, но и на различных выступах, ямках, обрывах и т.д - смотрите внимательнее и исправляйте эти недоразумения.
AI сетка на вышках и т.д
Еще один, не то, чтобы глюк, а скорее недоработка - AI сетка не генерируется на вышках, например, вертикальных лестницах и т.д. Все это приходится делать вручную.
AI сетка на платформе, которая не соединена с основной сеткой на террейне |
Чтобы соединить два куска сетки между собой, сделайте следующее:
1. Поставьте нод снизу лестницы (Должен быть вкл. Ignore Constraints, не забудьте), по надобности такой же нод сверху
Новый нод - будущий мост между двумя кусками |
2. Выделите новый нод, передвиньте его к верху лестницы (Как показано было в ранних корректировках), затем выделите самый ближний к нему нод и нажмите на кнопку (+), итог:
Теперь соединены 2 куска между собой |
Однако в игре это будет выглядеть не очень хорошо, если NPC или мутант полезет по лестнице, но допускать разъединения сетки нельзя, по этому выбора нет. Так же можно перетащить нод-"мост" на центр лестницы и повернуть его (Через обычный инструмент поворота на панели инструментов):
Повернутый нод |
Скорее всего это немного украсит перемещение NPC по лестнице, но на практике неизвестно. -_-
Итог
На этом все! После всех правок, AI карта должна быть отточена до мелочей, не иметь глюков и ошибок, NPC и мутанты будут бродить везде, где положено, ну и прочие хорошие вещи. Учтите: AI сетка не должна иметь разрывов (Например, AI сетка в здании не соединена с AI сеткой на террейне) - будут вылеты xrAI. Между ними обязательно должен быть хотя бы один нод, соединяющий два куска. Можно собрать AI сетку и скомпилировать.