HLFX.Ru Forum Страницы (12): [1] 2 3 4 5 » ... Последняя »
Показать все 178 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Гейтсеквенции монстров (https://hlfx.ru/forum/showthread.php?threadid=4629)


Отправлено Ku2zoff 08-07-2015 в 12:39:

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

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


Отправлено XaeroX 08-07-2015 в 12:45:

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

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

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

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

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

__________________

xaerox on Vivino


Отправлено Ku2zoff 08-07-2015 в 12:52:

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

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


Отправлено Ku2zoff 08-07-2015 в 19:35:

Поэкспериментировав ещё, я понял, что придётся переписывать код движения (функцию 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:

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


Отправлено Chyvachok 08-07-2015 в 20:57:

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


Отправлено Ku2zoff 09-07-2015 в 09:31:

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

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:

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

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


Отправлено KiQ 09-07-2015 в 09:39:

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

__________________
-Brain is dead-


Отправлено Ku2zoff 09-07-2015 в 09:58:

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

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


Отправлено Cybermax 09-07-2015 в 10:24:

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

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

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

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

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

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

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


Отправлено Ku2zoff 09-07-2015 в 11:02:

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

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


Отправлено Chyvachok 09-07-2015 в 11:07:

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


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

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

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

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


Отправлено Ku2zoff 09-07-2015 в 11:15:

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

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

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

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

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


Отправлено Chyvachok 09-07-2015 в 11:23:

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


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

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

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


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


Отправлено Cybermax 09-07-2015 в 12:06:

Цитата:
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:

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


Отправлено XaeroX 09-07-2015 в 12:34:

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

__________________

xaerox on Vivino


Временная зона GMT. Текущее время 03:28. Страницы (12): [1] 2 3 4 5 » ... Последняя »
Показать все 178 сообщений этой темы на одной странице

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