Sidebar

Экспорт анимаций, компилирование.

Raid

VIP
VIP
11.07.2006
8 319
33
  • Rocket медаль
Экспорт анимаций, компилирование.

Итак, настал тот момент, когда я добрался до анимации. Помимо проблем с, собственно, анимированием, я столкнулся с проблемой экспорта и компиляции: мне решительно непонятно, почему после компиляции анимация не играется. Скрины как есть и как должно быть в аттаче, qc вот:
Код:
$modelname "bgopnik1.mdl"
$cd ".\"
$cdtexture ".\"
$scale 1.0
$cliptotextures
$origin 0 0 0
}

$bbox 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
$cbox 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
$eyeposition 0.000000 15.000000 90.000000

$bodygroup bydlo
{
studio "gop.smd"
}

$sequence "walk" "walk" fps 15 loop


$sequence "studio" "gop" fps 10 loop ACT_IDLE 1
Стоит отметить, что последний раз я работал с анимацией лет 7 назад, когда делал запорожец взамен багги в хл2. Но тогда это был 3д макс, и по тутору, сейчас же я действую интуитивно. Жду советов мудрых.
 

Вложения

  • 363.1 КБ Просмотров: 575
  • 112 КБ Просмотров: 540
  • 160.8 КБ Просмотров: 548

Slux

Well-known member
20.06.2006
5 922
38
  • Золотая медаль 311
  • Tux
  • Серебряная медаль 311
Вот тут случайно не ошибка?
Код:
$sequence "walk" "walk" fps 15 loop
На сриншоте у тебя файл с анимацией экспортируется в подпапку anims, а в QC это не указано.
 

xDShot

Well-known member
20.12.2010
1 844
I agree that GoldSrc implementation would be helpful. Until then, however, SMDs exported with this can actually be used for GoldSrc with some tweaking to the SMD. For some reason, when Blender SMD Tools exports a file, it puts the primary bone as the root with zero weight, meaning when compiling with GoldSrc, the root is all it sees. You'll need Notepad++. After exporting the SMD from Blender, open it in Notepad++, hit CTRL+F to open the find dialogue, click the replace tab, click the "Regular Expression" radio button down in the corner, and put this in Find:
0 (-*\d+\.\d+ -*\d+\.\d+ -*\d+\.\d+ -*\d+\.\d+ -*\d+\.\d+ -*\d+\.\d+ -*\d+\.\d+ -*\d+\.\d+) 1 (\d+) 1\.000000$
and put this in Replace:
\2 \1
After that, just Replace All and it should be ready to compile. This will only work for models designed specifically for GoldSrc, though. No bone weights or it won't work. replacing the $ with .*+$ might work, but then again, it might not work at all.
--SkyNinja 01:38, 4 June 2013 (PDT)
https://developer.valvesoftware.com/wiki/Talk:Blender_Source_Tools#GoldSource.3F
 

Slux

Well-known member
20.06.2006
5 922
38
  • Золотая медаль 311
  • Tux
  • Серебряная медаль 311
То есть компилятор не игнорирует развесовку, а тупо спотыкается об неё и ничего не делает? Кастую ДядьМишу в тред.
 

xDShot

Well-known member
20.12.2010
1 844
Еще один вариант как исправить:
http://www.isolated-design.de/tutorials/how-to-get-models-from-blender-to-goldsrc/

Подумав, добавил:

Суть похоже в том, что аддон то ли добавляет лишнюю root-кость и биндит весь меш на неё, в результате чего вся развесовка ломается, либо весь меш биндит на существующую root-кость. Надо бы достучаться до автора аддона, спросить.
 
Последнее редактирование:

Slux

Well-known member
20.06.2006
5 922
38
  • Золотая медаль 311
  • Tux
  • Серебряная медаль 311
А вот это вот 1.000000 в конце строки это, как я понял значение веса? Если так, тогда дела плохи, вес далеко не всегда равен еденице.
 

Raid

VIP
VIP
11.07.2006
8 319
33
  • Rocket медаль
2 xDShot:
Может тогда просто удалить эту строку, а компилятор проигнорирует лишние значения?

Подумав, добавил:

Ну да, конечно, влажные мечты. Было бы всё так просто:
Код:
Converting ...

grabbing gop.smd
grabbing gop.smd
grabbing walk.smd
BMP new_faceside.bmp [160 159] (100%)  25.59 Kb
BMP new_face.bmp [80 139] (100%)  11.61 Kb
BMP 1.bmp [512 512] (100%)  256.75 Kb
BMP new_ears.bmp [84 61] (100%)  5.75 Kb
unexpected errors, compilation aborted
Обязательно начинать с нуля, видимо, проигнорировать - никак.
 
Последнее редактирование:

Raid

VIP
VIP
11.07.2006
8 319
33
  • Rocket медаль
2 xDShot:
Н-ну-у... Уже прогресс, по крайней мере.

Подумав, добавил:

Прозреваю, что сражение с говном мамонта, будучи вооружённым микроскопом, будет выиграть не просто.
 
Последнее редактирование:

H-3D

New member
31.01.2013
9
0
0
Новые smd tools для блендера ставят лишние пробелы в файле. Сам недавно с этим столкнулся. Можно попробовать вот такую форумлу для notepad++
Код:
0  (-*\d+\.\d+ -*\d+\.\d+ -*\d+\.\d+  -*\d+\.\d+ -*\d+\.\d+ -*\d+\.\d+   -*\d+\.\d+ -*\d+\.\d+) 1 (\d+) 1\.000000$
Применить нужно будет к референсному gop.smd

Также, чтобы персонаж в игре ходил он должен в анимации протопать некоторое расстояние, а в qc файле к строчке с анимацией надо добавить LX.

Код:
$sequence "walk" "walk" LX fps 15 loop
 
Последнее редактирование:

Slux

Well-known member
20.06.2006
5 922
38
  • Золотая медаль 311
  • Tux
  • Серебряная медаль 311
Шкодерам сурсотулзов насрать на голдсорс, отсюда и проблемы. Я вообще не понимаю нафига вальвовцам надо было изобретать этот велосипед. Люди пользуются общепринятыми стандартизированными форматами и проблем не знают. Например, фрикции взяли и построили свои движки чуть менее, чем полностью на колладе - никаких проблем. А эти наворотили винегрет из убогих брашей и велосипедов. :facepalm:
 

Вложения

xDShot

Well-known member
20.12.2010
1 844
Покопался с моделькой MP5 из Half-Life SDK и сравнил различия между голдсорсовскими smd и сорсовскими.

В обоих файлах одинаково описана структура скелета:
Код:
version 1
nodes
0 "Bone01" -1
1 "Bone02" 0
...
31 "Bone25" 30
32 "HK_MP5_S01" 1
end
skeleton
time 0
0  -0.000001 23.234615 -3.538896  1.570796 -0.000000 1.570796
1  -0.000000 0.000000 0.000000  0.000000 -0.000000 0.000000
...
31  -0.676753 0.501155 -0.377168  -0.000001 0.000001 -0.000000
32  -25.905212 4.291047 0.080169  -1.570796 -1.570796 0.000000
end
А вот в секции triangles пошли различия. К примеру кусок оригинала:
Код:
triangles
glback.bmp
 14  -0.3254  -7.2814  -0.0000   0.0000   1.0000   0.0000   0.4740   0.5000
 14  -1.1822  -7.2814  -1.0744   0.0000   1.0000   0.0000   0.8019   0.0990
 14  -1.6996  -7.2814  -0.0000   0.0000   1.0000   0.0000   1.0000   0.5000
...
Сорсовский:
Код:
triangles
glback.bmp
0  -0.325399 -7.281400 0.000000  0.000000 1.000000 0.000000  0.474000 0.500000 1 14 1.000000
0  -1.182199 -7.281400 -1.074399  0.000000 1.000000 0.000000  0.801900 0.099000 1 14 1.000000
0  -1.699599 -7.281400 0.000001  0.000000 1.000000 0.000000  1.000000 0.500000 1 14 1.000000
...
Как видно, в голдсорсовских smd формат описания вершин таков: номер привязанной кости, координаты вершины в пространстве, координаты в uv-развертке(?). В сорсе по-другому: первый столбец всегда ноль, дальше координаты вершины, координаты в развертке, а дальше кол-во привязанных костей, номер кости и степень привязки. Из-за этого голдсорсовский studiomdl привязывает все вершины к рут-кости, остальные кости удаляются так как не используются. Именно поэтому моделька просто "подпрыгивает" - осталасть только корневая кость.

Короче можно написать какой-нибудь макрос, который бы переносил номер кости и вставлял бы вместо нуля. Или попробовать реэкспортировать smd через Milkshape3d.
 

Game Server

Доноры Красавчики

Пользователи онлайн