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=2175)
Отправлено Jackass 06-05-2010 в 10:36:
Помогите исправить досадный баг
Доброго времени суток товарищи!!!
Помогите исправить такой досадный баг.
Знаете, если у вас в руках находиться V_ модель оружия, при просмотре вверх она как бы передвигается немного вперёд, при взгляде в низ, она наоборот уезжает.
Помогите это исправить? Де это сидит так сказать.
Вот картинка, обвёл красным, чтобы было понятнее 

Взгляд в небо,
по середине
и под ноги
соответственно.
Отправлено maxbars 06-05-2010 в 10:57:
Я точно не знаю, но я знаю что это делается в view.cpp
__________________
ьфч
Отправлено Government-Man 06-05-2010 в 11:06:
Это не баг, IRL все точно так же - у тебя же руки не из глаз растут.
Отправлено Jackass 06-05-2010 в 11:33:
maxbars - спс, щяс гляну, мож найду.
Government-Man да нет, это баг, у меня при Ironsights' е половина внутренней части модели видно, да и к тому же, когда у тебя оружие в руках оно зафиксировано прикладом и так бегать не может.
Отправлено Дядя Миша 06-05-2010 в 11:44:
Jackass это нарочно сделано вообще-то.
но если так необходимо - вот здесь ковыряй
C++ Source Code:
1 | for ( i = 0; i < 3; i++ ) |
3 | view->origin[ i ] += bob * 0.4 * pparams->forward[ i ]; |
в view.cpp как уже сказали.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено maxbars 06-05-2010 в 11:58:
Дядя Миша эта штука отвечает за раскачивание пушки при беге.
Если поставить 0.0 то она вообще кочаться при беге не будет.
__________________
ьфч
Отправлено Jackass 06-05-2010 в 12:04:
Да я уже сам понял )) там прям написали:
Let the viewmodel shake at about 10% of the amplitude
Что в переводе означает, и так понятно.
Короче.. кому интересно и кто столкнулся с такой же проблемой.
Изменяйте код на вот такой:
C++ Source Code:
1 | // Let the viewmodel shake at about 10% of the amplitude |
3 | gEngfuncs.V_ApplyShake( view->origin, view->angles, 0.0 ); |
5 | for ( i = 0; i < 0; i++ ) |
7 | view->origin[ i ] += bob * 0.0 * pparams->forward[ i ]; |
11 | // throw in a little tilt. |
13 | view->angles[YAW] -= bob * 0.0; |
14 | view->angles[ROLL] -= bob * 0; |
15 | view->angles[PITCH] -= bob * 0.0; |
17 | // pushing the view origin down off of the same X/Z plane as the ent's origin will give the |
18 | // gun a very nice 'shifting' effect when the player looks up/down. If there is a problem |
19 | // with view model distortion, this may be a cause. (SJB). |
23 | // fudge position around to keep amount of weapon visible |
24 | // roughly equal with different FOV |
26 | if (pparams->viewsize == 100) |
30 | else if (pparams->viewsize == 100) |
34 | else if (pparams->viewsize == 100) |
38 | else if (pparams->viewsize == 100) |
40 | view->origin[2] += 0.0; |
Да да )) короче говоря всё на ноль. НО! само так сказать "УБЕГАНИЕ" ни куда не денется, оно станет минимальным.
Огромное ЧЕЛОВЕЧЕСКОЕ СПАСИБО
Отправлено PLut 06-05-2010 в 12:07:
C++ Source Code:
view->origin[2] -= 0; // ЗАЧЕМ??? проще удалить |
C++ Source Code:
1 | // never let view origin sit exactly on a node line, because a water plane can |
2 | // dissapear when viewed with the eye exactly on it. |
3 | // FIXME, we send origin at 1/128 now, change this? |
4 | // the server protocol only specifies to 1/16 pixel, so add 1/32 in each axis |
6 | pparams->vieworg[0] += 1.0/32; |
7 | pparams->vieworg[1] += 1.0/32; |
8 | pparams->vieworg[2] += 1.0/32; |
тоже удалить
да ну, тут всё надо удалить
__________________
Base Defense on Steam, ModDB
Отправлено maxbars 06-05-2010 в 12:12:
Здесь:
for ( i = 0; i < 0; i++ )
{
view->origin[ i ] += bob * 0.4 * pparams->forward[ i ];//можно оставить
}
view->origin[2] += bob;
Добавлено 06-05-2010 в 16:09:
Чтобы было похоже на что-то
__________________
ьфч
Отправлено Jackass 06-05-2010 в 12:16:
PLut - а если человек восстановить захочет? заново писать? не порядок...
Отправлено PLut 06-05-2010 в 12:19:
Закомментируй 
__________________
Base Defense on Steam, ModDB
Отправлено Jackass 06-05-2010 в 12:36:
Цитата:
maxbars писал:
Здесь:
for ( i = 0; i < 0; i++ )
{
view->origin[ i ] += bob * 0.4 * pparams->forward[ i ];//можно оставить
}
view->origin[2] += bob;
Добавлено 06-05-2010 в 16:09:
Чтобы было похоже на что-то
Если сделать так, то ничего не получиться ))
надо вот так:
C++ Source Code:
1 | gEngfuncs.V_ApplyShake( view->origin, view->angles, 0.1 ); |
3 | for ( i = 0; i < 2; i++ ) |
5 | view->origin[ i ] += bob * 0.1 * pparams->forward[ i ]; |
9 | // throw in a little tilt. |
10 | view->angles[YAW] -= bob * 0.1; |
11 | view->angles[ROLL] -= bob * 0; |
12 | view->angles[PITCH] -= bob * 0.1; |
Можно и 2 сделать, НО!!!
Вообщем если руки будут ходить вперёд назад, как у алкаголика )
То при Ironsights (как у меня) будет немного видно не желательные части модели...
Но тут поможет замечательный урок Ku2zoff по раскачки камеры. Тогда всё норм
Отправлено PLut 06-05-2010 в 13:41:
Jackass Ты из мухи слона раздуваешь, тут как минимум 3 варианта решения проблемы:
1. поменять forward на up или right
2. покрутить оригин модели
3. поменять fov айрон-сайта
Более того! Оружие качаться будет и без этого кода:
C++ Source Code:
1 | gEngfuncs.V_ApplyShake( view->origin, view->angles, 0.1 ); |
3 | for ( i = 0; i < 2; i++ ) |
5 | view->origin[ i ] += bob * 0.1 * pparams->forward[ i ]; |
9 | // throw in a little tilt. |
10 | view->angles[YAW] -= bob * 0.1; |
11 | view->angles[ROLL] -= bob * 0; |
12 | view->angles[PITCH] -= bob * 0.1; |
И вот почему:
C++ Source Code:
VectorCopy ( pparams->simorg, pparams->vieworg ); |
pparams->vieworg[2] += ( bob ); |
VectorAdd( pparams->vieworg, pparams->viewheight, pparams->vieworg ); |
И вот раскажите мне... Почему у меня тот же iron sight никак не глючит даже с бобом, лагом из хл2 и вьюмоделфовом?
Заметте лаг с оригинальными настройками и при этом обрезанные полики не видны.__________________
Base Defense on Steam, ModDB
Отправлено Дядя Миша 06-05-2010 в 14:19:
Цитата:
PLut писал:
pparams->vieworg[0] += 1.0/32;
pparams->vieworg[1] += 1.0/32;
pparams->vieworg[2] += 1.0/32;
тоже удалить
ты хоть знаешь что это такое и для чего нужно?
Уверен, что не знаешь. Иначе бы не советовал удалять.
Теперь о "баге". Единственное что надо сделать - это закомментировать единственную строчку:
C++ Source Code:
1 | // pushing the view origin down off of the same X/Z plane as the ent's origin will give the |
2 | // gun a very nice 'shifting' effect when the player looks up/down. If there is a problem |
3 | // with view model distortion, this may be a cause. (SJB). |
4 | // view->origin[2] -= 1; |
Остальное трогать не надо.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено maxbars 06-05-2010 в 14:38:
Дядя Миша получается что всё по нулям ставить не нада было?
__________________
ьфч