Я крутил UTIL_SetSize крутил ObjectCollisionBOx, в PM крутил pmove->player_mins maxs....Игрок всё такой же маленький в присяде.Анимация выходит за хулл и хитбокс головы за хуллом => в голову не попасть
Добавлено 03-10-2011 в 22:56:
Хитбоксы на месте - just выходят за хулл
Добавлено 03-10-2011 в 23:03:
Тут скорее надо анимацию править,а я не аниматор,поэтому пытаюсь хулл увеличить ))
pRoxxx писал: Хул вроде не отвечает за хитбоксы модели
от размера хулла зависит будут ли обрабатываться те или иные хитбоксы.
Дивжок никогда не проверяет хитбоксы которые не вписываются в хулл.
Простой пример: уменьшим высоту хулла так, чтобы голова оказалась сверху. И всё - голове уже дамагу не нанести.
Цитата:
marikcool писал: вообще мне кажется хулы для колизии, для дамага хитбоксы.
хуллы для коллизии, если у модельки стоит флаг 512. Например osprey.mdl
Добавлено 03-10-2011 в 23:14:
Цитата:
Shapirlic писал: Хитбоксы на месте - just выходят за хулл
проверил, вообщем проблемма есть, выставление setsize в любом месте полностью игнорируется, а также значение хуллов для игрока тоже игнорируется, берутся свои гдето зашитые.
в любом случае надо увеличивать hull, в кс он тоже увеличен.
Может какойто физический флаг нужно посатвить чтобы он свои значения из движка не ставил?
как будут какието продвижение пишите)
из отреверсеного CS-SDK параметр hull увеличен.
но помоему он также там обрабатывается, не раз видел как голова проходит сквозь потолок, просто хитбоксы работают.
marikcool писал: проверил, вообщем проблемма есть, выставление setsize в любом месте полностью игнорируется, а также значение хуллов для игрока тоже игнорируется, берутся свои гдето зашитые.
в любом случае надо увеличивать hull, в кс он тоже увеличен.
Может какойто физический флаг нужно посатвить чтобы он свои значения из движка не ставил?
как будут какието продвижение пишите)
игнорируеться в придяси или же для полного роста тоже?
Частично помогает бороться с застреваниями на платформах.
Кроме того аналогичный код вызывается пред вызовом PlayerPreThink.
Поэтому движок чихать хотел на ваши кастомные UTIL_SetSize.
Впрочем повторюсь, если вся задачка - увеличить хулл чтобы хитбокс головы заведомо трейсился, то это сделать достаточно несложно.
C++ Source Code:
1
int GetHullBounds( int hullnumber, float *mins, float *maxs )
2
{
3
int iret = 0;
4
5
switch ( hullnumber )
6
{
7
case 0: // Normal player
8
VEC_HULL_MIN.CopyToArray( mins );
9
VEC_HULL_MAX.CopyToArray( maxs );
10
iret = 1;
11
break;
12
case 1: // Crouched player
13
VEC_DUCK_HULL_MIN.CopyToArray( mins );
14
VEC_DUCK_HULL_MAX.CopyToArray( maxs );
15
iret = 1;
16
break;
17
case 2: // Point based hull
18
Vector( 0, 0, 0 ).CopyToArray( mins );
19
Vector( 0, 0, 0 ).CopyToArray( maxs );
20
iret = 1;
21
break;
22
}
23
24
return iret;
25
}
Вот, собственно, правильный код, который перезаписывает размеры хуллов. Кстати я не знал, что в CS хулл в присяде увеличен. Это объясняет на кой чорт им вообще понадобились эти странные функции.