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

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

Рейтинг



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


Ku2zoff
Ты потом хотя бы не тутор, а общие соображения напиши, пожалуйста. Ключевые моменты, так сказать. А код мы сами напишем.

__________________

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

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

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

Рейтинг



XaeroX а какие соображения? Я и сейчас напишу.

1. Нужно отвязать движение от секвенции, то есть исключить использование StduioFrameAdvance в функции CBaseMonster::Move, где оно юзается по дефолту. Делается это очень легко: нужно всего лишь задать монстру значение m_flGroundSpeed. Для бега выше, для ходьбы ниже. Как и у игрока в юнит/сек. Лучше всего это сделать в функции MonsterThink, оверрайдить её для конкретного монстра.

2. Нужно назначать гейтсеквенции для активностей движения. Оверрайдим SetActivity для конкретного монстра. Если NewActivity = m_movementActivity, то эту активность делаем гейтсеквенцией. Если нет, то простой секвенцией.

3. Самая сложная часть. Нужно отредактировать существующие таски, или написать новые. К примеру, я убрал TASK_STOP_MOVING из Task_t tlAGruntRangeAttack1[], тем самым отучив его останавливаться, когда он стреляет. Ну потом конечно написал отдельный таск для стрельбы в движении. И сделал переключение между ними в функции выбора скедъюлей Schedule_t* CAGrunt :: GetScheduleOfType ( int Type ) в зависимости от расстояния до противника. Тут всё ограничивается лишь полётом фантазии.

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

4. Расчёт гейтсеквенции монстрам на клиенте. Аналогично игроку, с той лишь разницей, что скорость фиксированная, и нам не нужна никакая m_flGaitMovement. Только m_flGaitFrame нужно рассчитывать. Здесь я напоролся на то, что для КАЖДОГО отдельного монстра нужно считать свой гейтфрейм (для игрока юзается индивидуальная структура m_pPlayerInfo, поэтому там проблем нету). Сначала я ради эксперимента сделал так: float m_flGaitframeMonster[1024]; ну понятно, максимум 1024 монстра, в качестве идентификатора - индекс энтити. Говнокод кароч. Потом заюзал пустой энтварс под гейтфрейм, и всё стало нормально.

5. Передача гейтсеквенции по сети. В маленькое изменение в client.cpp и новая строчка в delta.lst.

6. Серверные хитбоксы. Рассчёт m_flGaitFrame для гейтсеквенции на сервере, как в кс. Пока не делал, т.к. серверный кадр не синхронен с клиентским.

Пункты 2 и 3 ещё требуют доработки, чтобы не было дёрганий на ровном месте и искр над башкой. Пункт 6, я хз, нужен ли он вообще в халфе. Разве что при стрельбе из арбалета по монстру, который медленно идёт, и ноги у него медленно анимируются.

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

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

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

Рейтинг



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


Цитата:
Ku2zoff писал:
А если вчитаться в их код, то вообще о-го-го, чего там есть К примеру, стрейф в халфе вполне себе реализован.

Да, в халфе очень многое реализовано.
Спасибо за список, примерно так себе это и представлял.

__________________

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

Старое сообщение 12-07-2015 21:44
-
~ X ~
offline

Дата регистрации: Oct 2005
Проживает: Архангельск
Сообщений: 3619

Рейтинг



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


Цитата:
Cybermax писал:
А вообще я не помню что-бы я когда то ставил 1 из 10 кому то.

Я помню. Потому что мне. И потому что от дикого баттхёрта.
Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.


Ku2zoff ты усиленно превращиешь монстров в ботов. Way to go. Не мог бы на мои вопросы ответить? Про модели, например.

Цитата:
Ku2zoff писал:
Серверные хитбоксы.

таки надо.

PS: ждём гейтсеквенсов для tentacle2.mdl

__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]

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

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

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

Рейтинг



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


Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.

Цитата:
~ X ~ писал:
ждём гейтсеквенсов для tentacle2.mdl

Ну ведь по глазам вижу, что не ждёшь!
Зачем же писать такое?

__________________

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

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

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

Рейтинг



Цитата:
~ X ~ писал:
таки надо.

Проблема в том, что серверный gaitframe у игрока не совпадает с клиентским, отсюда рассинхрон серверных хитбоксов ног с видимой моделью. (Только в движении. Код на сервере идентичен клиентскому, но, видимо, здесь играет роль то, что сервер тчинкает реже клиента). Я тебе сорцы дам, ты сможешь в XDM потестить и найти способ синхронизировать? Я ещё прогу подскажу, которая рисует серверные хитбоксы. Только осторожно, её античиты не любят, авторы очень особо об этом напоминают каждый раз при запуске
Цитата:
~ X ~ писал:
Не мог бы на мои вопросы ответить? Про модели, например.

Спрашивай.

Я тут пораскинул мозгами, и вот что решил: PLut попробовал алиен грантов в бдефе. Сказал, что двигаются дёрганно. Я сильно со свенкоопом не сравнивал, но таки есть что-то. Видимо, придётся сделать гейт на сервере. А соответственно написать StudioFrameAdvance для гейта. Тогда проблема с подбором скоростей отпадёт, и, теоретически, монстры будут двигаться так же, как и при обычных анимациях. А ещё я думаю, что надо будет сделать монстрам нулевую секвенцию, которая не будет юзаться. Как и у игрока. Чтобы действовало условие if (pev->gaitsequence == 0).

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

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

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

Рейтинг



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


Цитата:
Ku2zoff писал:
Сказал, что двигаются дёрганно.

А ты гейт интерполируешь с обычной анимацией?
По дефолту в халфе такого нет, а я в волатиле сделал.

__________________

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

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

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

Рейтинг



XaeroX а как? Я пока не думал над этим.

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

Старое сообщение 15-07-2015 20:14
- За что?
 XaeroX
Crystice Softworks

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

Рейтинг



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


Ku2zoff
Плавнее стало переключение между, например, ходьбой и прыжком, ходьбой и idle. Монстрам это тоже должно помочь. Хотя смотря что вы понимаете под "дёрганно".

__________________

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

Старое сообщение 15-07-2015 20:36
-
PLut
Creator

Дата регистрации: Jun 2009
Проживает: Санкт-Петербург
Сообщений: 1220
Возраст: 30

Рейтинг



XaeroX Рывками, покадрово будто.

__________________
Base Defense on Steam, ModDB

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

Старое сообщение 15-07-2015 20:42
- За что?
 XaeroX
Crystice Softworks

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

Рейтинг



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


Смотри, значит, как gaitframe считается.

__________________

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

Старое сообщение 15-07-2015 20:53
-
~ X ~
offline

Дата регистрации: Oct 2005
Проживает: Архангельск
Сообщений: 3619

Рейтинг



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


Цитата:
Ku2zoff писал:

Спрашивай.

двумя постами выше:
Цитата:
~ X ~ писал:
По теме: модели все тоже новые клепать? Частично оставить старых монстров можно будет? pev->weaponmodel тоже, может, задействовать? (чтоб не клепать десяток bodygroup для оружий)


Если серверные хитбоксы решат проблему с непонятно куда тыканьем монтировкой по дохлым монстрам - я буду счастлив.
Я пока не буду брать у тебя код (ПОКА!) потому что у меня обнаружился сетевой баг с монстрами, оторый мне надо сначала решить.

__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]

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

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

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

Рейтинг



Цитата:
~ X ~ писал:
Если серверные хитбоксы решат проблему с непонятно куда тыканьем монтировкой по дохлым монстрам - я буду счастлив.

Хм. Тут не в этом причина.
Модели клепать новые не надо, всё со стандартными работает. Я пока ещё в процессе. Нем могу решить несколько проблем.

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

Старое сообщение 18-07-2015 09:51
- За что?
~ X ~
offline

Дата регистрации: Oct 2005
Проживает: Архангельск
Сообщений: 3619

Рейтинг



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


Ku2zoff в любом случае буду рад видеть результаты твоей работы! Главное чтоб подводные ка..мни не выплыли за ночь до (или после) релиза.

__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]

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

Старое сообщение 18-07-2015 17:10
- За что?
Ghoul [BB]
МРАЗЬ ОПАСНАЯ

Дата регистрации: Jan 2006
Проживает: ...и прожигает...
Сообщений: 2567

Рейтинг



модели менять тоже придется для этооо?

Добавлено 22-07-2015 в 00:59:

Цитата:
Ku2zoff писал:
отреверсившим серверную дллку кс 1.6. Почитали отреверсенный код и поисправляли несколько неточностей в коде ксаша.

Что ж все никак клиентку не отреверсят? Смысла только от серверной мало....

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

Цитата:
~ X ~ писал:
Чиво? ДМише собрали 200к?? Может, мне так объявить о сборе средств на фичу???



Я давно предлагал. И не говори, что не помнишь!!!

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo

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

Старое сообщение 21-07-2015 22:01
- За что?
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 14:22. Новая тема    Ответить
Страницы (12): « 1 2 3 4 [5] 6 7 8 9 » ... Последняя »   Предыдущая тема   Следующая тема
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