Вторник, 16.07.2019, 08:13
РОССИЯ
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » ↓ Другое ↓ » Маппинг » Добавление ботов (для одиночной игры)
Добавление ботов
Paho  Дата: Суббота, 11.02.2012, 15:03 | Сообщение # 1
Глав.адм
Сообщений: 2417
Репутация: 1515
Награды: 166
Самая важная и трудоемкая часть работы с одиночной картой - создание анимированных ботов. Мало просто так понатыкать их по всей карте - важно заставить их двигаться, перемещаться по местности, взаимодействовать с объектами. Проходя компанию мы не раз видели как проивник перемещается из здания в здание, пытаясь занять выгодную позицию, перепрыгивает через ограждения или идут в атаку выпрыгивая из окопа. Именно это создает иллюзию военных действий. "Стоячими ботами никого не удивишь. Я нашел несколько мануалов на эту тематику и решил объединить их под одной темой. Так же у меня возник ряд вопросов, которые я бы хотел задать, возможно здесь на них найдутся ответы... материал взят с http://www.callofduty.ru/ Итак, приступаю.
БАЗОВЫЕ НАСТРОЙКИ AI

В этой статье объясняется как создать персонажа, который начнет двигаться как только мы респаунимся на карте.

1. для начала создайте info-> "player_start".

Размещенное изображение
Размещенное изображение
2. добавляем актера, в этом случае actor ->"Allied".
Размещенное изображение
Размещенное изображение
Размещенное изображение
3. Теперь дадим этому actor цель... например, node-> "cover_crouch".
Выделяем актера и жмем N для вызова окна Entity.
Вбиваем значение:
Key:target
Value:alliedend
вот так
Размещенное изображение
после чего жмем "ввод" и добавляем их.
4. Следующим шагом будет добавление "cover_crouch" хотя на деле это может быть и другой node например "cover_right" или "cover_wide_left".
Единственно важная вещь - дать ему targetname "alliedend"

Key:targetname
Value:alliedend

Размещенное изображение
Размещенное изображение
5. Теперь нам нужно создать несколько "pathnodes".
Эти "pathnodes" подрозумевают путь нашего актера к его конечной позиции "cover_crouch" где он и остановится.
Создадим один из них and и используя "Spacebar" сделаем копии их для создания "дорожки".

Размещенное изображение
Размещенное изображение
6. Ваш актер должен быть соединен зеленой линией с "cover_crouch".
Размещенное изображение
Размещенное изображение
7. для запуска карты необходимо создать измененный ярлык как на следующем скриншоте. Этот ярлык не только служит для запуска карты но и правильно соединит путь следования. без него актер просто не будет двигаться. итак, сделаем копию ярлыка одиночной игры и добавим пару слов. Теперь она должна выглядеть примерно так:

"C:\Program Files\Activision\Call of Duty 2\CoD2SP_s.exe" + set g_connectpaths 1

Размещенное изображение
Осталось запустить карту и увидеть плоды своих усилий
Размещенное изображение


ВЫСКАКИВАЕМ ИЗ ТРАНШЕИ И В АТАКУ

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

Размещенное изображение
Здесь используется уже готовый префаб trench_jumpout.map
C:\Program Files\Activision\Call of Duty 2\map_source\prefabs\traverse.
Или создайте свой собственный префаб.
Мы будем использовать:

node_negotiation_begin
script_origin
node_negotiation_end

Размещенное изображение

Убедитесь что окоп 52 юнита в высоту.

Размещенное изображение

В окне 2d вида и вставьте префаб “trench_jumpout.map” (директория упомянута выше)
Вы увидите префаб и ваш окоп.
Убедитесь в том что высота одинакова.

Размещенное изображение
Размещенное изображение
Сверху вы увидите
node_negotiation_begin:
Размещенное изображение
script_origin:
Размещенное изображение
node_negotiation_end:
Размещенное изображение
(описание слева на право).
Целевой скрипт “trench_jump_out” уже заложен в префабе.
Размещенное изображение
Размещенное изображение
Данные значения менять не следует.
Осталось добавить бота.
Размещенное изображение
Дадим актеру параметры:

Key:target
Value:alliedend

Теперь присоединим node.
Например, “node_cover_crouch”.

Размещенное изображение
Key:targetname
Value:alliedend

У актера уже задана цель и он уже соединен с “node_cover_crouch”

Не забываем и про “player_start”.
А так же добавить несколько pathnodes перед “node_negotiation_end”
это уже после того как актер вылезет из окопа и проследует “node_cover_crouch”

На скриншоте далее все указано.

Размещенное изображение
Чтож этот скрипт я пока не проверял и ничего от себя добавить не могу=(. Надеюсь, что в скором времени вы сами испытаете его и добавите свои замечания.

ПЕРЕЛЕЗАНИЕ ЧЕРЕЗ СТЕНУ

Мы продолжаем мучить физкультурой наших (или чужих) солдат. На этот раз заставим одного или нескольких) перелезть через невысокий забор.

Размещенное изображение

На стене наложена текстура "mantel over".

1. для начала следует подвести солдата к стене.

Размещенное изображение

все уже описывалось...
добавляем актера... к нему параметры

Key:target
Value:alliedend

Размещенное изображение
Перед стеной ставим node_negotiation_begin.

Key:animscript
Value:jump_over_high_wall

Key:target
Value:jump_over_high_wall_end1
Размещенное изображение

2. Вторая часть - достигнуть здания и спрятаться.

Размещенное изображение

После стены добавляем node_negotiation_end.

Размещенное изображение

Key:targetname
Value:jump_over_high_wall_end1

Заключительная часть пути - заставить солдата принять позицию выжидания..
Для этого есть несколько nodes.
Здесь - node_cover_wide_left.

Размещенное изображение

Key:targetname
Value:alliedend

Здесь актер замрет, выставив голову из-за угла, ожидая врага.
добавим несколько pathnodes.

Размещенное изображение

И В ЗАКЛЮЧЕНИЕ.

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

Dench1k  Дата: Четверг, 06.06.2013, 14:27 | Сообщение # 2
Модератор
Сообщений: 220
Репутация: 104
Награды: 6
Паша, Павел, Пахо!!! Где найти этот Spacebar?


Я всех нубов в кашу *башу))

sniper  Дата: Суббота, 08.06.2013, 01:15 | Сообщение # 3
Сообщений: 130
Репутация: 280
Награды: 16
Это пробел, не?

Dench1k  Дата: Четверг, 20.06.2013, 09:07 | Сообщение # 4
Модератор
Сообщений: 220
Репутация: 104
Награды: 6
Нет


Я всех нубов в кашу *башу))

Форум » ↓ Другое ↓ » Маппинг » Добавление ботов (для одиночной игры)
  • Страница 1 из 1
  • 1
Поиск:


 site made by Paho & SplinterCell 2011-2019 | Создать бесплатный сайт с uCoz Сайт оптимизирован под браузеры: Chromium, Google Chrome, Opera
Дизайн данного сайта полностью принадлежит администратору сайта.