Липсинг у модели заложников

Vit_ amin

Добрая душа
Сообщения
1,504
Реакции
660
Операционная система
Другое
Доброго времени суток, вопрос скорее относиться к людям, которые работают с моделями, но возможно кто-то еще знает.
Имеется заложник (CHostage), проблема имеется в том, что при установке нестандартных звуков воспроизведения при различных событиях (StartFollow, StopFollow) они перестают шевелить губами (то есть не работает Flex Animation), я пытался через отладку на клиентской стороне отследить какие функции выполняются и где это все взаимосвязано, но по определённым проблемам это не получилось. Я в курсе насчет HLFacePoser, но честно говоря там все указано для NPC под Half-Life 2 в основном, декомпиляции стандартной модели заложника тоже не совсем прояснила информацию, так как в моделировании мои познания слабы. Конфигурация звуков из файла game_sounds_hotages.txt
"Hostage.StartFollowCT"
{
"channel" "CHAN_VOICE"
"volume" "VOL_NORM"
"soundlevel" "SNDLVL_NORM"
"pitch" "PITCH_NORM"
"rndwave"
{
"wave" "hostage/huse/getouttahere.wav"
"wave" "hostage/huse/illfollow.wav"
"wave" "hostage/huse/letsdoit.wav"
"wave" "hostage/huse/letsgo.wav"
"wave" "hostage//huse/letshurry.wav"
"wave" "hostage/huse/letsmove.wav"
"wave" "hostage/huse/okletsgo.wav"
"wave" "hostage/huse/youlead.wav"
}
}

"Hostage.StopFollowCT"
{
"channel" "CHAN_VOICE"
"volume" "VOL_NORM"
"soundlevel" "SNDLVL_NORM"
"pitch" "PITCH_NORM"
"rndwave"
{
"wave" "hostage/hunuse/comeback.wav"
"wave" "hostage/hunuse/dontleaveme.wav"
"wave" "hostage/hunuse/illstayhere.wav"
"wave" "hostage/hunuse/notleaveme.wav"
"wave" "hostage/hunuse/yeahillstay.wav"
}
}
Также прикрепил все де-компилированные файлы, относящиеся к заложнику Спасибо
 

Вложения

  • hostage_01.zip
    4.2 МБ · Просмотры: 0
Последнее редактирование:

Shid0

🦾 Свет даëт мне сил!
Сообщения
1,130
Реакции
1,255
Звуки привязаны к анимации.
Скинь декомпилиную модель.
 

Shid0

🦾 Свет даëт мне сил!
Сообщения
1,130
Реакции
1,255
Эти модели надо декомпилировать:
$includemodel "Humans/male_shared.mdl"
$includemodel "Humans/male_gestures.mdl"
$includemodel "Humans/male_postures.mdl"
 

Shid0

🦾 Свет даëт мне сил!
Сообщения
1,130
Реакции
1,255
Напиши название звуковых файлов дефолтных
 

Shid0

🦾 Свет даëт мне сил!
Сообщения
1,130
Реакции
1,255
Какая разница между звуками по времени?
Стандартными и то что вы хотите поставить?
 

Vit_ amin

Добрая душа
Сообщения
1,504
Реакции
660
Какая разница между звуками по времени?
Стандартными и то что вы хотите поставить?
Разница разная, так как звуки разные
P.S. Я по итогу не совсем понимаю все эти вопросы, если мне дадут какой-нибудь "вектор" где надо копать я сам всё сделаю, к тому же если надо синхронизировать звуки с движением губ мне это также необходимо, без всяких костылей
 

Shid0

🦾 Свет даëт мне сил!
Сообщения
1,130
Реакции
1,255
Используете новые звуки в формате .wav?
16 bit 44100hz
 

Vit_ amin

Добрая душа
Сообщения
1,504
Реакции
660
Используете новые звуки в формате .wav?
16 bit 44100hz
Да в том числе и данный формат звуков использовался.
Проблема в том, что сами звуки воспроизводятся без каких-либо проблем. Проблема именно в том (я предполагаю), что где то в модели идет привязка звуков к анимации воспроизведения губ, но я так и не смог найти эту взаимосвязь, я брал другие не стандартные звуки с примерно +/- похожим временем воспроизведения как у стандартных - они работают нормально, все что выше на примерно 1 секунду - полностью ломается воспроизведение липсинга. Я даже не смог понять где модель использует эти звуки, которые воспроизводятся со стороны сервера.
1677937127451.png
 
Последнее редактирование:

Shid0

🦾 Свет даëт мне сил!
Сообщения
1,130
Реакции
1,255
Я нашел взаимосвязь лица и анимаций. Только в инете вообще 0 инфы по этому. Можно поиграться с изменениями циферок. Но нужно будет заменять модель стандартную.
Там отдельно для глаз, рта и т.д анимиации лицевые.
Вроде эта для рта. В male_postures.qc

1) меняешь здесь значение.


C++:
$sequence "p_town05_RadioLean" {
    "male_postures_anims\p_town05_RadioLean.smd"
    fadein 0.2
    fadeout 0.2
    keyvalues
    {
[B]        faceposer
        {
            "type" "posture"
            "tags"           
            {
                "apex" "6"
                "loop" "50"
                "end" "111"
            }
            "endmatch" "loop"
            "thumbnail_frame" "50"[/B]
        }
    }

2) меняешь название:

C++:
$modelname "humans\[B]male_postures[/B].mdl"

3) компилишь
4)
Заходишь сюда hostage_01.qc и меняешь эти строки

C++:
$modelname "Characters\[B]Hostage_01[/B].mdl"


$includemodel "Humans/[B]male_postures.mdl[/B]"

5) компилишь

6)
загружаешь эти 2 скомпилированные модели на сервер и заменяешь модель заложника на ту, которую скомпилировал.
Сообщения автоматически склеены:

Где [.B], это я пытался выделить жирным шрифтом.
Сообщения автоматически склеены:

Все, где есть faceposer в этих 2 файлах:
male_gestures.qc
male_postures.qc


связано с лицевыми анимациями.
 
Последнее редактирование:

Vit_ amin

Добрая душа
Сообщения
1,504
Реакции
660
Я нашел взаимосвязь лица и анимаций. Только в инете вообще 0 инфы по этому. Можно поиграться с изменениями циферок. Но нужно будет заменять модель стандартную.
Там отдельно для глаз, рта и т.д анимиации лицевые.
Вроде эта для рта. В male_postures.qc

1) меняешь здесь значение.


C++:
$sequence "p_town05_RadioLean" {
    "male_postures_anims\p_town05_RadioLean.smd"
    fadein 0.2
    fadeout 0.2
    keyvalues
    {
[B]        faceposer
        {
            "type" "posture"
            "tags"        
            {
                "apex" "6"
                "loop" "50"
                "end" "111"
            }
            "endmatch" "loop"
            "thumbnail_frame" "50"[/B]
        }
    }

2) меняешь название:

C++:
$modelname "humans\[B]male_postures[/B].mdl"

3) компилишь
4)
Заходишь сюда hostage_01.qc и меняешь эти строки

C++:
$modelname "Characters\[B]Hostage_01[/B].mdl"


$includemodel "Humans/[B]male_postures.mdl[/B]"

5) компилишь

6)
загружаешь эти 2 скомпилированные модели на сервер и заменяешь модель заложника на ту, которую скомпилировал.
Сообщения автоматически склеены:

Где [.B], это я пытался выделить жирным шрифтом.
Сообщения автоматически склеены:

Все, где есть faceposer в этих 2 файлах:
male_gestures.qc
male_postures.qc


связано с лицевыми анимациями.
Понял, принял, буду пробовать, спасибо
P.S. По этому я и задал вопрос, так как погуглил все что можно и сам пытался что-то сделать, но по итогу так и не смог найти ответ.
Но я так полагаю, что изменение этих чисел не синхронизирует движение губ и выглядеть это будет в любом случае сомнительно и все таки я полагаю смотреть надо в сторону HLFacePoser, разве что не совсем понятно как работать там именно с заложниками, а не с NPC из HL2
 

Shid0

🦾 Свет даëт мне сил!
Сообщения
1,130
Реакции
1,255
Понял, принял, буду пробовать, спасибо
P.S. По этому я и задал вопрос, так как погуглил все что можно и сам пытался что-то сделать, но по итогу так и не смог найти ответ.
Но я так полагаю, что изменение этих чисел не синхронизирует движение губ и выглядеть это будет в любом случае сомнительно и все таки я полагаю смотреть надо в сторону HLFacePoser, разве что не совсем понятно как работать там именно с заложниками, а не с NPC из HL2
Всегда можно создать свою анимацию с 0.
Можно через faceposer, можно через другие программы.
 
Сверху Снизу