HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Гейтсеквенции монстров
Размышления и вопросы
Страницы (12): [1] 2 3 4 5 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Гейтсеквенции монстров

Я вплотную занялся передвижением и стрельбой монстров одновременно. Очень уж впечатлили алиен гранты из свенкоопа, стреляющие на бегу. На данный момент ещё толком ничего не готово, но я научил барника ходить независимо от анимации. То есть, если мы возьмём, и обрежем все кадры, кроме нулевого в анимациях run и walk, то наш ходячий монстр (алиен грант, хьюман грант, барник, хаундай и т.д.) не будет двигаться. Если убрать motion extraction из анимации, то скорее всего тоже, я не проверял. Так уж устроен халфовский ИИ, даже движение завязано на анимациях. Что получилось: барник двигается, не передвигаясь в самой анимации, как раньше. Так двигаются летающие монстры, например алиен контроллер. Приятно удивило прокладывание маршрута в этом случае. Барник намного лучше ориентируется на карте без нодов, может "обходить" небольшие углы, когда видит игрока. До навигации, как в свенкоопе ещё далеко. Там вообще наверное ноды не нужны. Барник догоняет игрока, спрятавшегося чёрти где.
Зачем нужно менять код передвижения? Потому, что по стандарту он завязан на фреймрейте и кадрах анимации. А так как анимация не будет совпадать с анимацией ног (гейтсеквенцией), то и движения не будет. Я решил пойти для начала именно таким путём. Потом можно будет написать "честный" механизм, основанный на гейтсеквенции и гейтфрейме.

Сообщить модератору | | IP: Записан
Сообщение: 148433

Старое сообщение 08-07-2015 12:39
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34510
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
Ku2zoff писал:
Приятно удивило прокладывание маршрута в этом случае. Барник намного лучше ориентируется на карте без нодов, может "обходить" небольшие углы, когда видит игрока.

Подожди. Я не понял, а это-то как связано с анимациями?

Добавлено 08-07-2015 в 18:45:

Цитата:
Ku2zoff писал:
Там вообще наверное ноды не нужны

Как же без нодов построить путь до объекта, скажем, на другом конце карты?

__________________

Сообщить модератору | | IP: Записан
Сообщение: 148434

Старое сообщение 08-07-2015 12:45
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Цитата:
XaeroX писал:
Подожди. Я не понял, а это-то как связано с анимациями?

Нет конечно. Я просто не вставил проверки, актуальные для ходячих монстров, а использую голый код от летающих.

Сообщить модератору | | IP: Записан
Сообщение: 148435

Старое сообщение 08-07-2015 12:52
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Поэкспериментировав ещё, я понял, что придётся переписывать код движения (функцию Move). У ходячих монстров из неё вызывается MoveExecute( pTargetEnt, vecDir, flInterval ), где flInterval = StudioFrameAdvance(). StudioFrameAdvance завязан на sequence. Если sequence будет, к примеру, анимацией стрельбы, то получим совершенно неподходящий результат. Как будет двигаться монстр в таком случае, даже не представляю. У летающих MoveExecute вызывается так: MoveExecute( pTargetEnt, vecDir, flMoveDist / m_flGroundSpeed ), где flMoveDist - расстояние, которое нужно преодолеть, а m_flGroundSpeed - скорость, с которой это нужно сделать. Можно заюзать этот механизм, но тогда двигаться монстр будет рывками, скорость не будет соответствовать скорости анимации ног. Как вариант, думаю вставить вместо m_flGroundSpeed m_flGaitMovement. Должно заработать, если юзать модуль m_flGaitMovement, чтобы значения всегда были положительными.

Добавлено 09-07-2015 в 01:35:

Научил гейтсеквенцию монстра анимироваться. Почему-то нет интерполяции. Всё как-то дёрганно.

Сообщить модератору | | IP: Записан
Сообщение: 148437

Старое сообщение 08-07-2015 19:35
- За что?
Chyvachok
Житель форума

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 1844

Рейтинг



Правильное дело делаешь, странно что вальвы скорость движения сделали зависящей от анимации, а не как у игрока. Кстати убрав это то по идее легче сделать стрейфищся монстров, типа скаржей в Анриле, еще бы класно барников всяких по лестницах научить лазить, и перепрыгивать препятствия. Я помню играл в один мод на анрил торнамент, там были дружественные солдаты, боты которые бегают за игроком, они могли за игроком на трубу или через небольшой обрыв к примеру перепрыгнуть, но тупые до ужаса, если они сами свалились то залезть сами уже не смогут, кстати этот мод, Project Xenome, использует много текстур и звуков с халвы, даже некоторые боты используют скины солдат из Оппозинг Форса, и еще какой-то игры, выглядит прикольно, этот мод есть в полной версии, где много карт, даже карта с дамбой есть, но ее сложней найти, и более новой переделаной который First Day.

Сообщить модератору | | IP: Записан
Сообщение: 148441

Старое сообщение 08-07-2015 20:57
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Прогресс идёт. Сделал интерполяцию для гейтсеквенции монстра. Всё оказалось очень просто. Для игрока в движении используется такой код:

C++ Source Code:
m_pPlayerInfo->gaitframe += (m_flGaitMovement / pseqdesc->linearmovement[0]) * pseqdesc->numframes;

То есть здесь есть прямая зависимость от скорости движения и пройденного расстояния. Для не двигающегося игрока используется такой код:
C++ Source Code:
m_pPlayerInfo->gaitframe += pseqdesc->fps * dt;

Кадры просто прибавляются с поправкой на delta time, чтобы анимации имели одинаковую длительность при любом фпс. Так вот, для монстров первое не нужно. Они всегда движутся с фиксированной скоростью, в отличие от игрока. Поэтому, я оставил для монстров только один вариант кода:
C++ Source Code:
m_flGaitframeMonster += pseqdesc->fps * dt;

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


Добавлено 09-07-2015 в 15:03:

Осталось только разобраться с серверным кодом: научить активности совмещаться, чтобы монстр мог стрелять в движении. Тут придётся переписывать таски и скедьюлы. В коде алиен гранта, к примеру, для совершения атаки нужна остановка:
C++ Source Code:
1
Task_t	tlAGruntSuppressHornet[] =
2
{
3
  [u]{ TASK_STOP_MOVING,		(float)0		},[/u]
4
  { TASK_RANGE_ATTACK1,	(float)0		},
5
};
6
 
7
Task_t	tlAGruntRangeAttack1[] =
8
{
9
  [u]{ TASK_STOP_MOVING,			(float)0		},[/u]
10
  { TASK_FACE_ENEMY,			(float)0		},
11
  { TASK_RANGE_ATTACK1,		(float)0		},
12
};


Добавлено 09-07-2015 в 15:31:

Вот видео с алиен грантами, стреляющими на бегу. Почти что без косяков И это не свенкооп!

Ещё немного, и доделаю. Реквестируйте тутор, кому надо

Сообщить модератору | | IP: Записан
Сообщение: 148451

Старое сообщение 09-07-2015 09:31
- За что?
KiQ
Житель форума

Дата регистрации: Aug 2010
Проживает: Смоленск, Москва
Сообщений: 2088

Рейтинг



Ku2zoff реквестирую

__________________
-Brain is dead-

Сообщить модератору | | IP: Записан
Сообщение: 148453

Старое сообщение 09-07-2015 09:39
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Вот ещё с барником видео.

Код весь написан на скорую руку, поэтому с анимированием гейтсеквенций проблемы. Ну и с движением барника тоже, он не останавливается, когда подбегает к игроку вплотную. Это всё фигня. Для чего я вообще захотел сделать такую фичу монстрам? Чтобы они могли пятиться назад, когда противник подходит близко. Но это уже в тутор не войдёт. Как и стрейфящиеся хьюман гранты. Только в сорцах мода, когда будет готово.

Сообщить модератору | | IP: Записан
Сообщение: 148454

Старое сообщение 09-07-2015 09:58
- За что?
Cybermax
Житель форума

Дата регистрации: May 2006
Проживает: ㅤ
Сообщений: 5126

Рейтинг



Цитата:
Ku2zoff писал:
Вот видео с алиен грантами, стреляющими на бегу. Почти что без косяков И это не свенкооп!

Молодей автор за проделанную работу.
Цитата:
Ku2zoff писал:

Ещё немного, и доделаю. Реквестируйте тутор, кому надо

Ты сколько раз храстался какой-то нароботкой, пишешь мол если кому надо, напишешь тутор, тебя просят а тутора нема.

Добавлено 09-07-2015 в 13:24:

Цитата:
Ku2zoff писал:
Вот ещё с барником видео.

Выглядит комично

Сообщить модератору | | IP: Записан
Сообщение: 148455

Старое сообщение 09-07-2015 10:24
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Цитата:
Cybermax писал:
Ты сколько раз храстался какой-то нароботкой, пишешь мол если кому надо, напишешь тутор, тебя просят а тутора нема.

А теперь давай перечислим, сколько обещанных туторов я не написал и почему:
1. 9-way blending. Просил только ~X~, но он ему на самом деле не нужен, т.к. он не будет переделывать модели игроков в XDM. Расчёт гейтсеквенции на сервере (то, что ему действительно нужно) можно сделать и без этого тутора. Вон, есть реверсеннные сорцы кс, в обычном клиенте из хлсдк код. Бери не хочу.
2. Зажигалка, комбинирующаяся с оружиями. Тут всё просто. Мне не сделали модель этой зажигалки, хотя вроде бы начали. Наработки не выброшены, лежат на винчестере, ждут.
3. Ползание. Сомнительная полезность. При том, что хулл игрока не меняется, а так и остаётся "сидячим", в сингле пользы нет. В мультиплеере, без моделей с нужными анимациями, тоже нет пользы.
4. Что-то ещё? Напиши, а я объясню причину.
Если написание тутора зависит только от меня, то я пишу тутор. Если он не нужен, либо ещё не достаточно готов, то я откладываю написание. Исключение - тутор с ногами от 1 лица.

Сообщить модератору | | IP: Записан
Сообщение: 148456

Старое сообщение 09-07-2015 11:02
- За что?
Chyvachok
Житель форума

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 1844

Рейтинг



Цитата:
Ku2zoff писал:
свенкоопа


В свен копе неплохо вырезаный кингпин сделан еще: https://www.youtube.com/watch?v=dHaQS79q_V0

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

Добавлено 09-07-2015 в 13:07:

Ku2zoff кстати в свенкоопе скорострельность солдат не от длины анимации зависит и евентов в ней, а такая же скорострельность как у оружия игрока, то есть стрельба через интервал времени, из-за чего они могут полностью автоматический огонь вести, такое планируется? Я это делал без кода, просто укоротить анимацию чтобы она за 0.1 секунды проигрывалась, но выглядит тогда она не очень.

Сообщить модератору | | IP: Записан
Сообщение: 148457

Старое сообщение 09-07-2015 11:07
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Цитата:
Chyvachok писал:
Вообще вульвы много прикольных монстров вырезали

Я мог бы заняться монстрами плотнее. Мультиплеер наскучил донельзя. Совсем вдохновение пропало. Лично мне эти монстры не очень нужны. Но я знаю, где их можно применить. В XashNT. Туда вообще неплохо было бы закодить всех монстров из опфора и вырезанных из халфы. Ну и опфоровские оружия в довесок. Была бы такая интересная альтернатива свенкоопу. Только без кооперативного прохождения, а как база для моддинга.

Добавлено 09-07-2015 в 17:15:

Цитата:
Chyvachok писал:
кстати в свенкоопе скорострельность солдат не от длины анимации зависит и евентов в ней, а такая же скорострельность как у оружия игрока

Я вчера поиграл в свенкооп. Гавно. В одного проходить невозможно, монстры убивают быстро. А когда игроков несколько, я думаю, легче. Но бегать каждый раз от респауна до нужной точки - ацкий маразм. На некоторых картах такого нет, и точка респауна перемещается. Весь плюс свенкоопа - в тонне монстров. Оружие не в счёт, какой-то дурацкий набор.

Сообщить модератору | | IP: Записан
Сообщение: 148458

Старое сообщение 09-07-2015 11:15
- За что?
Chyvachok
Житель форума

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 1844

Рейтинг



Цитата:
Ku2zoff писал:
Но я знаю, где их можно применить. В XashNT.


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

Добавлено 09-07-2015 в 13:23:

Цитата:
Ku2zoff писал:
Я вчера поиграл в свенкооп. Гавно. В одного проходить невозможно, монстры убивают быстро.


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

Сообщить модератору | | IP: Записан
Сообщение: 148459

Старое сообщение 09-07-2015 11:23
- За что?
Cybermax
Житель форума

Дата регистрации: May 2006
Проживает: ㅤ
Сообщений: 5126

Рейтинг



Цитата:
Ku2zoff писал:
Напиши, а я объясню причину.

Смысл что-то писать? Туторов то не будет. Ползание для мультиплеера интересно, модели в модах есть же. Ползание по вентиляции это уже придирки Ксавари.
Ноги от первого лица тоже нет.
Я просто о том что если нет желания, возможности никто с ножом у горла заставлять не станет, но зачем тогда продолжать предлагать писать их? Не понимаю.

Добавлено 09-07-2015 в 14:56:

Цитата:
Ku2zoff писал:
В одного проходить невозможно, монстры убивают быстро.

Цитата:
Ku2zoff писал:
Весь плюс свенкоопа - в тонне монстров.

Название как бы символизирует - кооператив

Цитата:
Ku2zoff писал:
Но бегать каждый раз от респауна до нужной точки - ацкий маразм.

А вот теперь задумайся на секундочку, а какая альтернатива?

Цитата:
Ku2zoff писал:
Оружие не в счёт, какой-то дурацкий набор.

Оружие из ХЛ+ОП4+вырезанное из хл Узи, миниган а мр5, м16 просто логично разделил.
Свен отличный мод, если вы играете в него одни и вам не понравилось то ...
Цитата:
Chyvachok писал:
, пантера с бетки классно бы получилась с этой фичей атаки на бегу и длинными прыжками.

Надо сделать ездовую пантеру. Даешь петов XD

Добавлено 09-07-2015 в 14:57:

Цитата:
Chyvachok писал:
многозарядный гранатомет, оно по виду подходит к халве, было бы прикольно убрать лимиты на декали, куски и гильзы от оружия, вообще чтобы бесконечно


Тебя опять в какой то трэш понясло Миниган и так есть с аптечкой, многозарядная базука сомнительно. Не нужно оружие из TFC как по мне.

Добавлено 09-07-2015 в 15:06:

Ездовая пантера не анимированая. А ещё можно летающих пэтов.

Вложение: cine-panther.7z (74.8 кб)
Этот файл был скачан 267 раз.

Сообщить модератору | | IP: Записан
Сообщение: 148460

Старое сообщение 09-07-2015 12:06
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34510
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Очень классно. Давно запланировал делать гейтсеквенции монстрам в волатиле, и было интересно посмотреть, что это реально реализуемо. Но, конечно, я буду и стрейфы делать, и всякое - словом, ИИ должен дотянуть до уровня Унреала. А в свенкооп я не играл, знаю только, что авторам выдали сорцы хаммера и они вовсю ваяют на его базе убивца джекхаммера.

__________________

Сообщить модератору | | IP: Записан
Сообщение: 148461

Старое сообщение 09-07-2015 12:34
-
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 13:49. Новая тема    Ответить
Страницы (12): [1] 2 3 4 5 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Гейтсеквенции монстров
Размышления и вопросы
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024