Пытаюсь сделать модель масштабируемого эллипса. Для изменения размеров по каждой из двух осей решил использовать блендинг анимаций, поскольку там два байта, и в HLMV это называется "BLEND X" и "BLEND Y" соответственно. Однако, что в HL SDK, что в глоссарии команд https://the303.org/tutorials/gold_qc.htm рассматривается только случай с блендингом двух анимаций. В то время как в декомпилированных qc моделей игроков используется блендинг целых девяти анимаций для изменения положения туловища по двум осям. Я же хочу заблендить 4 анимации (по две на ось): Width=1 → Width=256; Height=1 → Height=256. Анимации и риг я сделал в блендере таким образом, что кости, используемые при изменении высоты, не используются в анимации изменения ширины.
В блендере это выглядит так:
После чего написал такой вот qc:
$modelname "ellipse.mdl"
$scale 1.0
$cd C:\Users\ProGamer\Documents\landscape\ellipse\autoexport
$cdtexture C:\Users\ProGamer\Documents\landscape\ellipse
$body "AnimatedScaling" AnimatedScaling
$sequence scaling_ {
"anims/Translation_X1"
"anims/Translation_X256"
blend X 0 255
"anims/Translation_Z1"
"anims/Translation_Z256"
blend Z 0 255
}
Поведение скомпилированной по данному скрипту модели в HLMV при изменении Blend X и Blend Y отличилось от желаемого. Blend X работал как и задумывалось, но Translation_Z1 и Translation_Z256 вообще не влияли на модель, в то время как второй байт блендинга (Blend Y) вместо того чтобы работать с ними, тоже работал с Translation_X1 → Translation_X256 как и первый байт. В игре аналогично.
Скрин из HLMV, Blend X и Blend Y изменены, но высота остаётся прежней.
Можно ли поменять qc так, чтобы это работало как я задумывал изначально или блендинг по двум осям не предусмотрен в принципе?
В блендере это выглядит так:
После чего написал такой вот qc:
$modelname "ellipse.mdl"
$scale 1.0
$cd C:\Users\ProGamer\Documents\landscape\ellipse\autoexport
$cdtexture C:\Users\ProGamer\Documents\landscape\ellipse
$body "AnimatedScaling" AnimatedScaling
$sequence scaling_ {
"anims/Translation_X1"
"anims/Translation_X256"
blend X 0 255
"anims/Translation_Z1"
"anims/Translation_Z256"
blend Z 0 255
}
Поведение скомпилированной по данному скрипту модели в HLMV при изменении Blend X и Blend Y отличилось от желаемого. Blend X работал как и задумывалось, но Translation_Z1 и Translation_Z256 вообще не влияли на модель, в то время как второй байт блендинга (Blend Y) вместо того чтобы работать с ними, тоже работал с Translation_X1 → Translation_X256 как и первый байт. В игре аналогично.
Скрин из HLMV, Blend X и Blend Y изменены, но высота остаётся прежней.
Можно ли поменять qc так, чтобы это работало как я задумывал изначально или блендинг по двум осям не предусмотрен в принципе?