HLFX.Ru Forum Страницы (11): « Первая ... « 5 6 7 8 [9] 10 11 »
Показать все 160 сообщений этой темы на одной странице

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=3495)


Отправлено Ku2zoff 02-05-2014 в 04:15:

Цитата:
ILZM писал:
Как это код одинаковый, но модель ведёт себя по-другому и поворачивается не одинаково?

Да вот так. Код выполняет одни и те же функции, но он не одинаковый. На клиенте в коде студиомодельрендерера есть доступ к разным параметрам энтити и инфе игрока, всё обновляется оперативно, каждый кадр. На сервере часть параметров из движка получить невозможно, насколько я увидел по коду из исходников КС. Например, тот же gaitmovement вычисляется непосредственно в коде игрока. Gaityaw тоже надо считать самому. Ну и ещё кое-что по мелочи. Попробую написать свои механизмы вычисления, основываясь на клиентском коде. Как только доведу до ума и протестирую, сделаю полноценный тутор с объяснениями.

Добавлено 02-05-2014 в 11:15:

А надо ли это кому?


Отправлено ILZM 02-05-2014 в 06:06:

Ku2zoff, например, мне)


Отправлено ~ X ~ 02-05-2014 в 08:28:

Цитата:
Ku2zoff писал:
когда стоит (когда gaitmovement равен нулю)

не обязательно, у меня, вроде, для idle gaitsequence == sequence.

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


Отправлено Дядя Миша 02-05-2014 в 10:12:

Цитата:
Ku2zoff писал:
На сервере часть параметров из движка получить невозможно, насколько я увидел по коду из исходников КС

У тебя доступ к эдикту есть. А значит и к классу доступ тоже.
Цитата:
Ku2zoff писал:
Например, тот же gaitmovement вычисляется непосредственно в коде игрока. Gaityaw тоже надо считать самому

гейт не от хорошей жизни, это потому что велосити на клиент не приходит.
А на сервере считать гейт не надо.
Достаточно сделать вот так:
C++ Source Code:
est_velocity = pplayer->velocity;
m_flGaitMovement = est_velocity.Length() * dt;

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

Добавлено 02-05-2014 в 14:12:

Цитата:
Ku2zoff писал:
Попробую написать свои механизмы вычисления, основываясь на клиентском коде

Ну вон в ксаше mod_studio.c - полноценная имплементация, бери да суй на сервер. Что мешает?
Заметь, 100% рабочая, иначе бы давно уже завалили багрепортами.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ~ X ~ 02-05-2014 в 10:21:

Цитата:
Дядя Миша писал:
А на сервере считать гейт не надо.

лолшто? gaitsequence?
я немного потерял нить, о чём вы говорите. От уклона перешли к гайтам. Вообще, имхо, код передвижения в халве - КГ. В скайриме сделано единственно правильно (выставление ног на неровные поверхности). Но это для хохлолвы слишком круто... Хотя, я об этом ещё году в 2004ом думал...

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


Отправлено Дядя Миша 02-05-2014 в 10:23:

ЗЫ, на сервере гейт считать вообще не надо. Халфа его не считает, он не нужен.

Добавлено 02-05-2014 в 14:23:

Цитата:
~ X ~ писал:
В скайриме сделано единственно правильно (выставление ног на неровные поверхности).

Это называется "инверсная кинематика". Запиши в блокнотек, чтобы не забыть.
Цитата:
~ X ~ писал:
Но это для хохлолвы слишком круто...

Можно сделать. Надо только немного дополнить формат mdl.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ILZM 02-05-2014 в 10:41:

Дядя Миша, объясните сам принцип ИК. Это типа трассировка с ноги на поверхность идёт?


Отправлено Дядя Миша 02-05-2014 в 10:51:

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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Ku2zoff 02-05-2014 в 17:26:

Цитата:
Дядя Миша писал:
Ну вон в ксаше mod_studio.c - полноценная имплементация, бери да суй на сервер. Что мешает?

Всё что надо, я оттуда уже взял. Проблему я описал выше: Клиентская модель уже повернулась, а серверная ещё нет, она как бы "догоняет" рывками каждые N градусов, если игрок не движется. Может даже "перегнать", если мышью шевелить резко. Ну и гадские наклоны по оси Pitch, которые можно заблокировать в коде SV_StudioSetupBones.


Отправлено Дядя Миша 02-05-2014 в 17:45:

Хех. Ну как ты узнаешь, что серверная модель "догоняет" ?
Ты ведь не можешь её увидеть.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Ku2zoff 02-05-2014 в 17:51:

Цитата:
Дядя Миша писал:
Ты ведь не можешь её увидеть.

А я pitch и yaw (которые вычисляются на сервере и юзаются в SV_StudioSetupBones) отправил на клиент, и там подхватил в клиентском StudioSetupBones. Вот и увидел. А про наклоны по picth - в модифицированной для 9-way блендинга функции StudioPlayerBlend эти наклоны обнуляются, моделька не наклоняется. На сервере тоже так сделал - хитбоксы почти стали совпадать, осталось несхождение из-за "догонялок".


Отправлено Дядя Миша 02-05-2014 в 17:57:

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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Ku2zoff 02-05-2014 в 18:09:

Я видео если что залью потом. Это наверное не рассинхрон, а что-то другое. Рассинхрон он по времени, а тут можно хоть полдня прождать, моделька не повернётся, пока не сдвинешь игрока с места, или пока не повернёшь мышью дальше.


Отправлено Ku2zoff 03-05-2014 в 11:25:

Разобрался, почему модель опаздывает. Запустил кс в одиночном режиме, сделал вид от 3-го лица. Там модель тоже поворачивается с опозданием. Значит, серверный код это действительно предусматривает. Надо либо заставить модель вертеться вовремя, либо завтавить модель на клиенте опаздывать.

Добавлено 03-05-2014 в 18:25:

Эх нет. Опаздывает только тогда, когда у игрока нет оружия. Стоит взять ствол, параметр sequence меняется, и всё норм.


Отправлено ~ X ~ 03-05-2014 в 18:37:

У меня голова кружится... Так что, галактика уже не опасносте? А то я чуть не ринулся спасать XDM от багов поворота модели!

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


Временная зона GMT. Текущее время 10:21. Страницы (11): « Первая ... « 5 6 7 8 [9] 10 11 »
Показать все 160 сообщений этой темы на одной странице

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