HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
7 голосов
Страницы (260): « Первая ... « 96 97 98 99 [100] 101 102 103 104 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
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'

Сообщить модератору | | IP: Записан
Сообщение: 171030

Старое сообщение 17-01-2018 14:16
-
Chyvachok
Житель форума

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 1844

Рейтинг



Интересно кто-то разбирается в коде 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 не влияет на размер хитбоксов и позицию аттачементов.

Вложение: studiomdl.rar (17.6 кб)
Этот файл был скачан 124 раз.

Отредактировано Chyvachok 17-01-2018 в 14:45

Сообщить модератору | | IP: Записан
Сообщение: 171036

Старое сообщение 17-01-2018 14:44
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Уже давно есть обновлённый продвинутый 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'

Сообщить модератору | | IP: Записан
Сообщение: 171037

Старое сообщение 17-01-2018 14:50
-
Chyvachok
Житель форума

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 1844

Рейтинг



Дядя Миша это конечно круто, но где его можно найти?

Сообщить модератору | | IP: Записан
Сообщение: 171039

Старое сообщение 17-01-2018 15:23
- За что?
Ghoul [BB]
МРАЗЬ ОПАСНАЯ

Дата регистрации: Jan 2006
Проживает: ...и прожигает...
Сообщений: 2567

Рейтинг



Цитата:
Дядя Миша писал:
Уже давно есть обновлённый продвинутый studiomdl г


А там решена проблема с $origin модели, о которой я писал ранее?
(Когда X Y Z в редакторе != этим же значениям в модели)

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo

Сообщить модератору | | IP: Записан
Сообщение: 171042

Старое сообщение 17-01-2018 15:51
- За что?
Luciferchik
Whatever...

Дата регистрации: Jan 2016
Проживает: в гостях
Сообщений: 167
Возраст: 27

Рейтинг



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.

Сообщить модератору | | IP: Записан
Сообщение: 171043

Старое сообщение 17-01-2018 15:55
- За что?
Chyvachok
Житель форума

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 1844

Рейтинг



Все равно оригин где можно сразу по всем 3 осям вращать было бы удобнее в разы. А вообще не ясно зачем вульва сделав вращение по одной оси, не стали делать для остальных двух.

Сообщить модератору | | IP: Записан
Сообщение: 171044

Старое сообщение 17-01-2018 15:59
- За что?
PLut
Creator

Дата регистрации: Jun 2009
Проживает: Санкт-Петербург
Сообщений: 1220
Возраст: 29

Рейтинг



Luciferchik Мой панч работает так, как надо. С чего клиентскому панчу влиять на серверный? Ты вообще в курсе, что клиентский панч и тот, что в pm_shared - это два разных панча? Хочешь, чтобы везде был клиентский - создавай мессагу и отправляй на клиент.

__________________
Base Defense on Steam, ModDB

Сообщить модератору | | IP: Записан
Сообщение: 171046

Старое сообщение 17-01-2018 16:22
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Тут старые версии, вообщем.
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'

Сообщить модератору | | IP: Записан
Сообщение: 171049

Старое сообщение 17-01-2018 17:53
-
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4415
Возраст: 34

Рейтинг



Цитата:
Дядя Миша писал:
Потому что мовевитч

А отдельная структура под него - чтобы не запутаться?

Сообщить модератору | | IP: Записан
Сообщение: 171058

Старое сообщение 18-01-2018 02:26
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Crystallize какая отдельная структура?

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 171082

Старое сообщение 18-01-2018 14:42
-
Ghoul [BB]
МРАЗЬ ОПАСНАЯ

Дата регистрации: Jan 2006
Проживает: ...и прожигает...
Сообщений: 2567

Рейтинг



Дядя Миша

Что, до первой звезды нельзя?
Ну, тогда ждём-с....

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo

Сообщить модератору | | IP: Записан
Сообщение: 171100

Старое сообщение 18-01-2018 18:39
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



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'

Сообщить модератору | | IP: Записан
Сообщение: 171103

Старое сообщение 18-01-2018 18:52
-
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4415
Возраст: 34

Рейтинг



Ок, в каком-нибудь спирите я на клиенте писал
cl_entity_t *viewentity = gEngfuncs.GetEntityByIndex( gHUD.viewentityIndex );
После чего мог работать с содержимым viewentity.
Как это делается на клиенте в ксаше?

Сообщить модератору | | IP: Записан
Сообщение: 171259

Старое сообщение 25-01-2018 04:31
- За что?
a1batross
Житель форума

Дата регистрации: May 2016
Проживает: Москва
Сообщений: 516
Возраст: 26

Рейтинг



Crystallize Зачем так делать, если в самом клиентском интерфейсе есть функция GetViewModel. Вы его читали хоть?

Сообщить модератору | | IP: Записан
Сообщение: 171266

Старое сообщение 25-01-2018 05:37
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 09:07. Новая тема    Ответить
Страницы (260): « Первая ... « 96 97 98 99 [100] 101 102 103 104 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
7 голосов
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

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