HLFX.Ru Forum Страницы (52): « Первая ... « 39 40 41 42 [43] 44 45 46 47 » ... Последняя »
Показать все 769 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- XashXT (https://hlfx.ru/forum/forumdisplay.php?forumid=30)
-- XashXT/3D [Вопросы и ответы] (https://hlfx.ru/forum/showthread.php?threadid=3689)


Отправлено Дядя Миша 08-08-2021 в 18:18:

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

Вот. И это тоже должно было починиться. Правда особого смысла тут нет, норот всё равно в башку целится.

__________________
My Projects: download page

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

Цитата:

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


Отправлено KorteZZ 09-08-2021 в 05:18:

А если противник играет за монстра, у которого голова между ног?

__________________

Killing Floor: Horzine Outbreak


Отправлено Дядя Миша 09-08-2021 в 06:48:

В халфе референс хитбоксов ВСЕГДА берётся с player.mdl
чтобы не читерили. В ку3 действительно был такой перс, но я не помню как ему урон наносился.

__________________
My Projects: download page

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

Цитата:

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


Отправлено KorteZZ 09-08-2021 в 19:29:

А в Natural Selection как?

__________________

Killing Floor: Horzine Outbreak


Отправлено Ku2zoff 09-08-2021 в 19:39:

KorteZZ хитбоксы берутся от модели, которая задаётся в CBasePlayer::Spawn. Для каждого класса устанавливается своя "референсная" модель с правильными хитбоксами. Допустим, есть выбор по pev->playerclass. Для каждого плейеркласса будет своя "референсная" модель с набором правильных хитбокссов, и, что не менее важно, анимаций.


Отправлено KorteZZ 10-08-2021 в 02:57:

Ku2zoff Ого! Спасибо!
Вот за что тебя люблю, так это за то, что ты прямо отвечаешь на вопрос, без нравоучений и выпендрежа

__________________

Killing Floor: Horzine Outbreak


Отправлено Aynekko 10-08-2021 в 07:53:

Цитата:
Aynekko писал:
Почему такое происходит? Я только примерно понял где копать. Дальше не пойму. Тут сначала рендерер 1, потом 0.
https://www.youtube.com/watch?v=XDULytVRbY8

Цитата:
Дядя Миша писал:
Сравнивайте с параноей в спорных моментах.

Посмотрел я параною от третьего лица. Там все то же самое, что и на видео. Так что копировать из паранои смысла нет. Все так же сломано.

__________________
Мой мод на Xash


Отправлено Aynekko 12-08-2021 в 21:34:

Копался несколько дней, обнаружил такое (да-да, я все насчет гейтсиквенсов). Вот лог (сервер смотрит на клиента):

C++ Source Code:
1
[2021:08:13|00:25:55] ind 1 tr.time 39.094936 curanimtime 39.090759 prevanimtime 39.074093 dadt 0.041771
2
[2021:08:13|00:25:55] ind 1 tr.time 39.099102 curanimtime 39.090759 prevanimtime 39.074093 dadt 0.083427
3
[2021:08:13|00:25:55] ind 1 tr.time 39.103271 curanimtime 39.090759 prevanimtime 39.074093 dadt 0.125122
4
[2021:08:13|00:25:55] ind 1 tr.time 39.107437 curanimtime 39.107437 prevanimtime 39.090759 dadt 0.000000
5
[2021:08:13|00:25:55] ind 1 tr.time 39.111607 curanimtime 39.107437 prevanimtime 39.090759 dadt 0.041695
6
[2021:08:13|00:25:55] ind 1 tr.time 39.115772 curanimtime 39.107437 prevanimtime 39.090759 dadt 0.083351
7
[2021:08:13|00:25:55] ind 1 tr.time 39.119938 curanimtime 39.107437 prevanimtime 39.090759 dadt 0.125008
8
[2021:08:13|00:25:55] ind 1 tr.time 39.124107 curanimtime 39.107437 prevanimtime 39.090759 dadt 0.166702
9
[2021:08:13|00:25:55] ind 1 tr.time 39.128277 curanimtime 39.128277 prevanimtime 39.107437 dadt 0.000000
10
[2021:08:13|00:25:55] ind 1 tr.time 39.132446 curanimtime 39.128277 prevanimtime 39.107437 dadt 0.041695
11
[2021:08:13|00:25:55] ind 1 tr.time 39.136612 curanimtime 39.128277 prevanimtime 39.107437 dadt 0.083351
12
[2021:08:13|00:25:55] ind 1 tr.time 39.140781 curanimtime 39.128277 prevanimtime 39.107437 dadt 0.125046
13
[2021:08:13|00:25:55] ind 1 tr.time 39.144947 curanimtime 39.144947 prevanimtime 39.128277 dadt 0.000000
14
[2021:08:13|00:25:55] ind 1 tr.time 39.149117 curanimtime 39.144947 prevanimtime 39.128277 dadt 0.041695

Проверку выводил здесь:
C++ Source Code:
1
float CStudioModelRenderer::StudioEstimateInterpolant(void)
2
{
3
  float dadt = 1.0;
4
 
5
  if (m_fDoInterp && (m_pCurrentEntity->curstate.animtime >= m_pCurrentEntity->latched.prevanimtime + 0.01f))
6
  {
7
    dadt = (tr.time - m_pCurrentEntity->curstate.animtime) / 0.1f;
8
 
9
    if (dadt > 2.0f)
10
      dadt = 2.0f;
11
  }
12
  if (m_pPlayerInfo)
13
  {
14
    gEngfuncs.Con_Printf("ind %i tr.time %f curanimtime %f prevanimtime %f dadt %f\n", m_nPlayerIndex, tr.time, m_pCurrentEntity->curstate.animtime, m_pCurrentEntity->latched.prevanimtime, dadt);
15
  }
16
 
17
  return dadt;
18
}

Что-то мне подсказывает, что dadt должен быть в районе 1 или больше. Когда клиент смотрит на сервера, dadt держится примерно в тех же значениях, но иногда заходит в минус, т.к. tr.time < animtime игрока-сервера. Беда.

А дерганье влево-вправо при стрельбе - это делает AddBlendSequence. Если поставить dadt = 1 принудительно и отключить AddBlendSequence (только для игрока, разумеется) - при виде от третьего лица все идеально и никаких дерганий. Впрочем, в мультиплеере ничего не решается.

__________________
Мой мод на Xash


Отправлено Дядя Миша 13-08-2021 в 05:38:

dadt это интерполяционное значение, оно должно меняться от 0 до 1.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Aynekko 23-08-2021 в 14:17:

Подскажите, можно ли включить тени на фонарике от обычных брашей? Есть тени только от моделей и брашевых энтитей, а в параное - от всего. Но мне бы в ксашмоде.

__________________
Мой мод на Xash


Отправлено Aynekko 02-09-2021 в 20:51:

С тенями от брашей разобрался (починил!!!). Теперь пытаюсь разобраться со скейлом моделей (их освещения фонариком). Пробовал кучу хаков, посылая шейдеру данные о радиусе моделей, их скейл… Чего-то внятного не вышло, хоть и лучше стало.

В параное я нашел единственное (вроде как) отличие
uniform vec4 u_BonesArray[MAXSTUDIOBONES*3];
Это я скопипастил и вроде как оно приходит в шейдер. Отправляю из CStudioModelRenderer::DrawLightForMeshList

C++ Source Code:
pglUniform4fvARB(RI->currentshader->u_BonesArray, num_bones * 3, &m_pModelInstance->m_glstudiobones[0][0]);


В шейдере bonematrix считаю уже не через Mat4FromOriginQuat, а через "Mat4FromVec4Array( 0, 1.0 );"
На выходе правда получил моргающие модели, где темная модель Z-файтит со светлой. Стал копать дальше, пока сверялся с параноевскими шейдерами, наткнулся на
C++ Source Code:
var_ViewVec = ( u_ViewOrigin.xyz - worldpos.xyz );

Я не пойму откуда он берется. В исходниках паранои вообще нет упоминаний, в шейдерах только 2 упоминания - строчка выше и вот еще одна:
C++ Source Code:
vec3 V = normalize( var_ViewVec );

Или он просто локальный? Впрочем, добавив его, модели вообще перестали освещаться… Этот фонарик меня уже с ума сводит.

P.S. да, я снова копаюсь в коде, т.к. после релиза первой главы решил сменить деятельность, а то маппинг пока в печенках сидит. Думал, может фонарик-таки смогу починить. Можно конечно наплодить моделей со скейлом 1, но это же кошмар какой-то…

__________________
Мой мод на Xash


Отправлено Дядя Миша 03-09-2021 в 06:35:

А что в параное, фонарик тоже неправильно освещает скейленные модели?

Добавлено 03-09-2021 в 09:35:

Цитата:
Aynekko писал:
Я не пойму откуда он берется.

вот из этой строчки и берётся.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Aynekko 03-09-2021 в 08:25:

Цитата:
Дядя Миша писал:
А что в параное, фонарик тоже неправильно освещает скейленные модели?

Там как раз все правильно, поэтому сверяюсь и пытаюсь найти, чего не хватает. Всякие строчки типа normal map я не учитываю.

Ясно, значит локальный все-таки. Я глянул, он вроде как нужен только нормалмапе...
Полагаю дело именно в bonematrix, которую надо умножить на что-то (скейл модели?). Еще там был какой-то computetbn, он вроде бы тоже ксашмоду не нужен. Я в шейдер studiodlight уже принес скейл модели, может как-то его можно использовать? Пробовал bonematrix и даже position умножать на него, вышло так себе) и ведь что самое интересное, тень от моделей ложится правильно. Она учитывает скейл. А сам свет нет.

Если кому интересно что за баг
https://youtu.be/D61zjtAgE-0
Две модели с виду одинаковые, но скейл 1 и 0.5 у них.

__________________
Мой мод на Xash


Отправлено Дядя Миша 03-09-2021 в 08:37:

Цитата:
Aynekko писал:
и ведь что самое интересное, тень от моделей ложится правильно

там отдельный шейдер используется

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 03-09-2021 в 10:35:

Цитата:
Aynekko писал:
Две модели с виду одинаковые, но скейл 1 и 0.5 у них.

По-моему они обе неправильно освещаются)) та что справа, как будто сбоку из-за другого вагончика ещё кто-то светит.


Временная зона GMT. Текущее время 17:51. Страницы (52): « Первая ... « 39 40 41 42 [43] 44 45 46 47 » ... Последняя »
Показать все 769 сообщений этой темы на одной странице

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