HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Нубские вопросы от <censored> и других нубов (https://hlfx.ru/forum/showthread.php?threadid=4535)
Отправлено Дядя Миша 17-01-2018 в 14:16:
Цитата:
Crystallize писал:
А зачем в ксаше сделано так что pev->angles теперь просто посредник, а реальное вращение идёт через SetLocalAngles?
Потому что мовевитч__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Chyvachok 17-01-2018 в 14:44:
Интересно кто-то разбирается в коде StudioMdl? Мне лично не хватает возможности в $origin крутить модель по всем координатам, pitch, yaw, roll, во всех StudioMdl можно крутить только горизонтально, то есть по yaw если вписать в оригин 4 число, часто модели из других игр бывают повернуты то боком, то верхом и довольно геморно тупо все анимации крутить как надо если их много вручную в 3д редакторе, а так можно было бы все решить одной строчкой, я пытался взять код StudioMdlиз исходников XashXT, и самому это сделать, добавил везде по аналогии к zrotation xrotation и yrotation, но застрял на Grab_Animation, оно теперь вращает модель как попало, даже если я для этих координат не вписал никаких значений, в общем сам я никак не справлюсь:
C++ Source Code:
1 | void Grab_Animation( s_animation_t *panim) |
8 | float cx, sx, cy, sy, cz, sz; |
12 | for (index = 0; index < panim->numbones; index++) |
14 | panim->pos[index] = kalloc( MAXSTUDIOANIMATIONS, sizeof( vec3_t ) ); |
15 | panim->rot[index] = kalloc( MAXSTUDIOANIMATIONS, sizeof( vec3_t ) ); |
18 | //добавил по аналогии с zrotation хотя незнаю как оно толком работать должно |
19 | cx = cos( xrotation ); |
20 | sx = sin( xrotation ); |
22 | cy = cos( yrotation ); |
23 | sy = sin( yrotation ); |
25 | cz = cos( zrotation ); |
26 | sz = sin( zrotation ); |
28 | while (fgets( line, sizeof( line ), input ) != NULL) |
31 | if (sscanf( line, "%d %f %f %f %f %f %f", &index, &pos[0], &pos[1], &pos[2], &rot[0], &rot[1], &rot[2] ) == 7) |
33 | if (t >= panim->startframe && t <= panim->endframe) |
35 | if (panim->node[index].parent == -1) { |
37 | panim->pos[index][t][0] = cz * pos[0] - sz * pos[1]; |
38 | panim->pos[index][t][1] = sz * pos[0] + cz * pos[1]; |
39 | panim->pos[index][t][2] = pos[2]; |
41 | //rot[0] += xrotation; //эти 2 мои добавки если раскоментировать, то оно вращает тогда модель как попало, без них оригин работает как обычно |
42 | //rot[1] += yrotation; |
47 | VectorCopy( pos, panim->pos[index][t] ); |
54 | if (panim->node[index].mirrored) |
55 | VectorScale( panim->pos[index][t], -1.0, panim->pos[index][t] ); |
57 | scale_vertex( panim->pos[index][t] ); |
59 | clip_rotations( rot ); |
61 | VectorCopy( rot, panim->rot[index][t] ); |
64 | else if (sscanf( line, "%s %d", cmd, &index )) |
66 | if (strcmp( cmd, "time" ) == 0) |
70 | else if (strcmp( cmd, "end") == 0) |
72 | panim->startframe = start; |
73 | panim->endframe = end; |
78 | Error( "Error(%d) : %s", linecount, line ); |
83 | Error( "Error(%d) : %s", linecount, line ); |
86 | Error( "unexpected EOF: %s\n", panim->name ); |
В общем приложил измененный код в аттач, может кто подскажет, остальной лежит в исходниках КсашХТ, во всех студиомдл есть еще одна проблема которую бы не мешало бы исправить, $scale не влияет на размер хитбоксов и позицию аттачементов.
Отправлено Дядя Миша 17-01-2018 в 14:50:
Уже давно есть обновлённый продвинутый studiomdl где все эти проблемы решены. И скейл влияет на хитбоксы и аттачменты.
Верхушка задаётся командой $upaxis и там соответственно x\-x\y\-y\z\-z.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Chyvachok 17-01-2018 в 15:23:
Дядя Миша это конечно круто, но где его можно найти?
Отправлено Ghoul [BB] 17-01-2018 в 15:51:
Цитата:
Дядя Миша писал:
Уже давно есть обновлённый продвинутый studiomdl г
А там решена проблема с $origin модели, о которой я писал ранее?
(Когда X Y Z в редакторе != этим же значениям в модели)__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.
Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo
Отправлено Luciferchik 17-01-2018 в 15:55:
PLut: Оно как бы работает но не так как надо ибо я использую конфиг из паранои и панч при падении из высоты, а твой панч на него никак не влияет.
__________________
Sometimes you have to get knocked down lower than you've even been to stand up taller than you everwere.
You so sad. No, i just die everyday...
I can't do anything around here without everybody getting up in my shit...
The aim of life is self-development.
Отправлено Chyvachok 17-01-2018 в 15:59:
Все равно оригин где можно сразу по всем 3 осям вращать было бы удобнее в разы. А вообще не ясно зачем вульва сделав вращение по одной оси, не стали делать для остальных двух.
Отправлено PLut 17-01-2018 в 16:22:
Luciferchik Мой панч работает так, как надо. С чего клиентскому панчу влиять на серверный? Ты вообще в курсе, что клиентский панч и тот, что в pm_shared - это два разных панча? Хочешь, чтобы везде был клиентский - создавай мессагу и отправляй на клиент.
__________________
Base Defense on Steam, ModDB
Отправлено Дядя Миша 17-01-2018 в 17:53:
Тут старые версии, вообщем.
https://cs-mapping.com.ua/forum/showthread.php?t=38472
Но да, надо бы уже структурировать это дело.
Добавлено 17-01-2018 в 20:53:
Ghoul [BB] проблема решена, но апдейт пока не выкладывал.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Crystallize 18-01-2018 в 02:26:
Цитата:
Дядя Миша писал:
Потому что мовевитч
А отдельная структура под него - чтобы не запутаться?
Отправлено Дядя Миша 18-01-2018 в 14:42:
Crystallize какая отдельная структура?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Ghoul [BB] 18-01-2018 в 18:39:
Дядя Миша
Что, до первой звезды нельзя?
Ну, тогда ждём-с....
__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.
Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo
Отправлено Дядя Миша 18-01-2018 в 18:52:
Ghoul [BB] у меня в подписи ссылка, теперь всё там.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Crystallize 25-01-2018 в 04:31:
Ок, в каком-нибудь спирите я на клиенте писал
cl_entity_t *viewentity = gEngfuncs.GetEntityByIndex( gHUD.viewentityIndex );
После чего мог работать с содержимым viewentity.
Как это делается на клиенте в ксаше?
Отправлено a1batross 25-01-2018 в 05:37:
Crystallize Зачем так делать, если в самом клиентском интерфейсе есть функция GetViewModel. Вы его читали хоть?