HLFX.Ru Forum Страницы (260): « Первая ... « 96 97 98 99 [100] 101 102 103 104 » ... Последняя »
Показать все 3892 сообщений этой темы на одной странице

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)
2
{
3
  vec3_t pos;
4
  vec3_t rot;
5
  char cmd[1024];
6
  int index;
7
  int	t = -99999999;
8
  float cx, sx, cy, sy, cz, sz;
9
  int start = 99999;
10
  int end = 0;
11
 
12
  for (index = 0; index < panim->numbones; index++)
13
  {
14
    panim->pos[index] = kalloc( MAXSTUDIOANIMATIONS, sizeof( vec3_t ) );
15
    panim->rot[index] = kalloc( MAXSTUDIOANIMATIONS, sizeof( vec3_t ) );
16
  }
17
 
18
  //добавил по аналогии с zrotation хотя незнаю как оно толком работать должно
19
  cx = cos( xrotation );
20
  sx = sin( xrotation );
21
 
22
  cy = cos( yrotation );
23
  sy = sin( yrotation );
24
 
25
  cz = cos( zrotation );
26
  sz = sin( zrotation );
27
 
28
  while (fgets( line, sizeof( line ), input ) != NULL)
29
  {
30
    linecount++;
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)
32
    {
33
      if (t >= panim->startframe && t <= panim->endframe)
34
      {
35
        if (panim->node[index].parent == -1) {
36
          adjust_vertex( pos );
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];
40
          // rotate model
41
          //rot[0]			+= xrotation; //эти 2 мои добавки если раскоментировать, то оно вращает тогда модель как попало, без них оригин работает как обычно
42
          //rot[1]			+= yrotation;
43
          rot[2]			+= zrotation;
44
        }
45
        else
46
        {
47
          VectorCopy( pos, panim->pos[index][t] );
48
        }
49
        if (t > end)
50
          end = t;
51
        if (t < start)
52
          start = t;
53
 
54
        if (panim->node[index].mirrored)
55
          VectorScale( panim->pos[index][t], -1.0, panim->pos[index][t] );
56
 
57
        scale_vertex( panim->pos[index][t] );
58
 
59
        clip_rotations( rot );
60
 
61
        VectorCopy( rot, panim->rot[index][t] );
62
      }
63
    }
64
    else if (sscanf( line, "%s %d", cmd, &index ))
65
    {
66
      if (strcmp( cmd, "time" ) == 0)
67
      {
68
        t = index;
69
      }
70
      else if (strcmp( cmd, "end") == 0)
71
      {
72
        panim->startframe = start;
73
        panim->endframe = end;
74
        return;
75
      }
76
      else
77
      {
78
        Error( "Error(%d) : %s", linecount, line );
79
      }
80
    }
81
    else
82
    {
83
      Error( "Error(%d) : %s", linecount, line );
84
    }
85
  }
86
  Error( "unexpected EOF: %s\n", panim->name );
87
}


В общем приложил измененный код в аттач, может кто подскажет, остальной лежит в исходниках КсашХТ, во всех студиомдл есть еще одна проблема которую бы не мешало бы исправить, $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. Вы его читали хоть?


Временная зона GMT. Текущее время 09:50. Страницы (260): « Первая ... « 96 97 98 99 [100] 101 102 103 104 » ... Последняя »
Показать все 3892 сообщений этой темы на одной странице

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