Наше комьюнити:   OpenGL Shader Lab  •  Half-Life FX  •  Форум  
HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > нуб вопросы от <censored> и других нубов
чтобы не создавать сто тем создам одну
2 голосов
Страницы (100): « Первая ... « 96 97 98 99 [100]   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 Дядя Миша
who said meow?

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

Рейтинг



Цитата:
Crystallize писал:
А зачем в ксаше сделано так что pev->angles теперь просто посредник, а реальное вращение идёт через SetLocalAngles?

Потому что мовевитч

__________________
В действительности всё может оказаться иначе, чем оно есть на самом деле

My Projects: download page

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

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

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

Рейтинг



Интересно кто-то разбирается в коде StudioMdl? Мне лично не хватает возможности в $origin крутить модель по всем координатам, pitch, yaw, roll, во всех StudioMdl можно крутить только горизонтально, то есть по yaw если вписать в оригин 4 число, часто модели из других игр бывают повернуты то боком, то верхом и довольно геморно тупо все анимации крутить как надо если их много вручную в 3д редакторе, а так можно было бы все решить одной строчкой, я пытался взять код StudioMdlиз исходников XashXT, и самому это сделать, добавил везде по аналогии к zrotation xrotation и yrotation, но застрял на Grab_Animation, оно теперь вращает модель как попало, даже если я для этих координат не вписал никаких значений, в общем сам я никак не справлюсь:

C++ Source Code:
void Grab_Animation( s_animation_t *panim)
{
    vec3_t pos;
    vec3_t rot;
    char cmd[1024];
    int index;
    int    t = -99999999;
    float cx, sx, cy, sy, cz, sz;
    int start = 99999;
    int end = 0;
    
    for (index = 0; index < panim->numbones; index++)
    {
        panim->pos[index] = kalloc( MAXSTUDIOANIMATIONS, sizeof( vec3_t ) );
        panim->rot[index] = kalloc( MAXSTUDIOANIMATIONS, sizeof( vec3_t ) );
    }
    
    //добавил по аналогии с zrotation хотя незнаю как оно толком работать должно
    cx = cos( xrotation );
    sx = sin( xrotation );
    
    cy = cos( yrotation );
    sy = sin( yrotation );
    
    cz = cos( zrotation );
    sz = sin( zrotation );
    
    while (fgets( line, sizeof( line ), input ) != NULL)
    {
        linecount++;
        if (sscanf( line, "%d %f %f %f %f %f %f", &index, &pos[0], &pos[1], &pos[2], &rot[0], &rot[1], &rot[2] ) == 7)
        {
            if (t >= panim->startframe && t <= panim->endframe)
            {
                if (panim->node[index].parent == -1) {
                    adjust_vertex( pos );
                    panim->pos[index][t][0] = cz * pos[0] - sz * pos[1];
                    panim->pos[index][t][1] = sz * pos[0] + cz * pos[1];
                    panim->pos[index][t][2] = pos[2];
                    // rotate model
                    //rot[0]+= xrotation; //эти 2 мои добавки если раскоментировать, то оно вращает тогда модель как попало, без них оригин работает как обычно
                    //rot[1]+= yrotation;
                    rot[2]+= zrotation;
                }
                else
                {
                    VectorCopy( pos, panim->pos[index][t] );
                }
                if (t > end)
                    end = t;
                if (t < start)
                    start = t;
                
                if (panim->node[index].mirrored)
                    VectorScale( panim->pos[index][t], -1.0, panim->pos[index][t] );
                
                scale_vertex( panim->pos[index][t] );
                
                clip_rotations( rot );
                
                VectorCopy( rot, panim->rot[index][t] );
            }
        }
        else if (sscanf( line, "%s %d", cmd, &index ))
        {
            if (strcmp( cmd, "time" ) == 0)
            {
                t = index;
            }
            else if (strcmp( cmd, "end") == 0)
            {
                panim->startframe = start;
                panim->endframe = end;
                return;
            }
            else
            {
                Error( "Error(%d) : %s", linecount, line );
            }
        }
        else
        {
            Error( "Error(%d) : %s", linecount, line );
        }
    }
    Error( "unexpected EOF: %s\n", panim->name );
}



В общем приложил измененный код в аттач, может кто подскажет, остальной лежит в исходниках КсашХТ, во всех студиомдл есть еще одна проблема которую бы не мешало бы исправить, $scale не влияет на размер хитбоксов и позицию аттачементов.

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

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

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

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

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

Рейтинг



Уже давно есть обновлённый продвинутый studiomdl где все эти проблемы решены. И скейл влияет на хитбоксы и аттачменты.
Верхушка задаётся командой $upaxis и там соответственно x\-x\y\-y\z\-z.

__________________
В действительности всё может оказаться иначе, чем оно есть на самом деле

My Projects: download page

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

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

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

Рейтинг



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

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

Старое сообщение 17-01-2018 15:23
- За что?
Ghoul [BB]
Больше знаний - больше печали

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

Рейтинг



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


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

__________________
Видел я в каком-то фильме,
В каком-то старом фильме,
Как льётся солнце на золотые пляжи,
Hо врядли вспонмю, теперь я врядли вспомню.
Дождливый полдень мне не подскажет...

Где-то за семью морями есть золотые страны,
Круглый год лето, улыбки и бананы.
Сегодня ночью я побываю там,
Если опять не кончился феназепам.

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

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

Дата регистрации: Jan 2016
Проживает: Украина
Сообщений: 104
Возраст: 20

Рейтинг



PLut: Оно как бы работает но не так как надо ибо я использую конфиг из паранои и панч при падении из высоты, а твой панч на него никак не влияет.

__________________
Sometimes you have to get knocked down lower than you've even been to stand up taller than you everwere.
Если любой начитавшийся туторов и не знает с++ начинает говно кодить, тогда в чем смысл?
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)
Сообщений: 1359

Рейтинг



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

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

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

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

Рейтинг



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

__________________
Base Defense on Steam, ModDB

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

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

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

Рейтинг



Тут старые версии, вообщем.
https://cs-mapping.com.ua/forum/showthread.php?t=38472
Но да, надо бы уже структурировать это дело.

Добавлено 17-01-2018 в 20:53:

Ghoul [BB] проблема решена, но апдейт пока не выкладывал.

__________________
В действительности всё может оказаться иначе, чем оно есть на самом деле

My Projects: download page

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

Старое сообщение 17-01-2018 17:53
-
Crystallize
Липучка

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

Рейтинг



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

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

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

Старое сообщение вчера 02:26
- За что?
 Дядя Миша
who said meow?

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

Рейтинг



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

__________________
В действительности всё может оказаться иначе, чем оно есть на самом деле

My Projects: download page

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

Старое сообщение вчера 14:42
-
Ghoul [BB]
Больше знаний - больше печали

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

Рейтинг



Дядя Миша

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

__________________
Видел я в каком-то фильме,
В каком-то старом фильме,
Как льётся солнце на золотые пляжи,
Hо врядли вспонмю, теперь я врядли вспомню.
Дождливый полдень мне не подскажет...

Где-то за семью морями есть золотые страны,
Круглый год лето, улыбки и бананы.
Сегодня ночью я побываю там,
Если опять не кончился феназепам.

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

Старое сообщение вчера 18:39
- За что?
 Дядя Миша
who said meow?

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

Рейтинг



Ghoul [BB] у меня в подписи ссылка, теперь всё там.

__________________
В действительности всё может оказаться иначе, чем оно есть на самом деле

My Projects: download page

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

Старое сообщение вчера 18:52
-
Тема: (Опционально)
Ваш ответ:



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


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

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

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

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

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

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

Рейтинг@Mail.ru