Sidebar

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

  • Автор теми Raid
  • Дата створення

Slux

Well-known member
20.06.06
5 922
38
  • Золотая медаль 311
  • Tux
  • Серебряная медаль 311
А зачем макрос? Не лучше ли попросить человека, знающего питон, форкнуть сорсотулзы и внести исправления для голдсорса?

А милка... Как уже прозвучало в чате:

20:32:59 - Raid: ага, @#$%^& *!@$%#
20:33:17 - Raid: иметь роллс-ройс а ездить на деревянном велосипеде
20:33:24 - Raid: круто же, а главное - целесообоазно
Хотя если через неё надо просто пересохранять смд, то для примитивных моделек в небольших количествах это с горем пополам подойдёт. А когда модельки для мода клепаются как на конвейере, да ещё к каждой 10-20 анимаций надо сделать, а каждую анимацию ещё протестировать и экспортировать раз 50... Нафиг такое счастье! Такое только фиксить надо.

Post automatically merged:

Почитал чуток вики вальвы, разобрался. Вот примерно такой выходит СМД у сорса:
___________________________
версия 1
nodes
// Идентификаторы являются внутренними для каждого файла, компилятор учитывает кости по именам.
//-1 значит отсутствует.

ID кости, имя рут-кости, ID родительской кости (-1)
ID кости, имя кости, ID родительской кости.
ID кости, имя кости, ID родительской кости.
конец блока

skeleton
// Начало нового кадра
time 0
// Положение кости относительно родителя (для рута значения абсолютные)
ID кости, позиция XYZ, поворот XYZ
time 1
ID кости, позиция XYZ, поворот XYZ
конец блока

triangles
материал полигона
// кость-парент - кость, к которой привязаны вершины
// Последние 3 значения необязательны, они переназначают кость-парент. Есди не указать вес равным единице, то остальные значения будут привязаны к кости-паренту

ID кости-парента, позиция XYZ, нормали полигонов XYZ, UV-координаты, указатель, ID кости, вес
ID кости-парента, позиция XYZ, нормали полигонов XYZ, UV-координаты, указатель, ID кости, вес
ID кости-парента, позиция XYZ, нормали полигонов XYZ, UV-координаты, указатель, ID кости, вес
конец блока
________________

Я только пока не понял как работает указатель. В их примерах всё указано абстрактно как 0 или 1, а в моих смд-файлах вообще никаких значений значений на этих местах не вижу (как было сказано, необязательные значения).

Как мне кажется, я нашёл нужное место в коде экспортера. Ничего не обещаю, но попробую перелопатить, если что-то пойму.

Post automatically merged:

Нашёл. Для начала надо всего лишь в одной строке поменять местами значения. Но этого недостаточно, надо ещё откуда-то брать номер кости и ставить его в начало.
Код:
# Finally, write it all to file
self.smd_file.write("0" + pos_norm + uv + weight_string + "\n")
 
Останнє редагування:

Raid

VIP
VIP
11.07.06
8 319
33
  • Rocket медаль
2 slux:
Человек, знающий питон, зовётся GNU/Hurt, можно попросить его. А потом, если он конечно согласится, и у него получится, выложить во всеобщий доступ: тулза будет широко полезная. Однако, если он не согласится, есть альтернативное решение проблемы:
1. Узнать, чем пользовалась сама вальва в своё время.
2. Порыть плагины на 3д макс (по сути мне без разницы в чём делать, просто блендер гораздо удобнее и быстрее)

Кроме того, если импортить, скажем, декомпилированную анимацию барника (idle) то скелет выглядит совсем иначе. Возможно это как раз какая-то более примитивная анимация, которую распознаёт блендер, и которая как раз нужна голдсорсу:
 

Вкладення

  • 263.2 КБ Перегляди: 397
Останнє редагування:

OLAF

Member
13.04.10
247
39
Извиняюсь, но я не удеражался:



[VIDEO]https://youtu.be/_MdqeJzG8I4[/VIDEO]

Модель примитивненькая, но от того и прикольная.
Гопник еще тот! Полчаса делов и модель готова.

СКАЧАТЬ!!!
 

Raid

VIP
VIP
11.07.06
8 319
33
  • Rocket медаль
2 OLAF:
Та е**ть, ты хоть бы скелет нормально натянул, или полигонов добавил, что я наверное всё-таки и сделаю в конечном счёте. А может и нет.
 

nemyax

тндайпц тра
Команда форуму
Модератор
30.07.15
643
25
18
slux
Из чятика:
в блендере есть возможность как-то через консольку очищать кэш питона? а то приходится блендере перезапускать после каждого изменения в плагине
Насчёт консольки вряд ли, но можно обойтись без перезапуска. В списке аддонов отключи Blender Source Tools, рукой удали папку %appdata%\Blender Foundation\Blender\<версия>\scripts\addons\io_scene_valvesource\__pycache__, а потом снова включи тулзы.
 

OLAF

Member
13.04.10
247
39
Raid сказав(ла):
2 OLAF:
Та е**ть, ты хоть бы скелет нормально натянул, или полигонов добавил, что я наверное всё-таки и сделаю в конечном счёте. А может и нет.
Натянут то он нормально, (кстати натягивают меш а не скелет, скелет вообще не трогают) действительно из-за того что лоупои - вот кривенько выглядит, я же не на выставку, так для прикола. А вот как раз да, усовершенствование модели я оставлю за автором.
 

Raid

VIP
VIP
11.07.06
8 319
33
  • Rocket медаль
2 OLAF:
Можно и на выставку, но пока рановато. Если я наконец разберусь с экспортом анимаций в рабочем состоянии, ассортимент гопоты будет чуть шире, что можно использовать для комманд.

Post automatically merged:

Так, есть некоторый прогресс, если делать как по тутору. Однако почему-то теперь скелет привязывается, но не двигается, хотя в той же милке анимация играется. Почему-то оказывается ноль кадров. При этом если выбрать sequence при экспорте, то поза оказывается той же застывшей, но модель двигается вверх-вниз.
 

Вкладення

Останнє редагування:

OLAF

Member
13.04.10
247
39
Raid сказав(ла):
2 OLAF:
Можно и на выставку, но пока рановато. Если я наконец разберусь с экспортом анимаций в рабочем состоянии, ассортимент гопоты будет чуть шире, что можно использовать для комманд.

Post automatically merged:

Так, есть некоторый прогресс, если делать как по тутору. Однако почему-то теперь скелет привязывается, но не двигается, хотя в той же милке анимация играется. Почему-то оказывается ноль кадров. При этом если выбрать sequence при экспорте, то поза оказывается той же застывшей, но модель двигается вверх-вниз.
Хм, не уверен то или нет но помниться мне что когда делаеш экспорт в милке с включенной анимацией то это и приводит к такому косяку он еще должен ругаться когда пытаешся экспортировать анимацию, попробуй при выключенной анимации экспортировать файл. И да сначала подтяни референс модели(ну меш) а потом подтяни анимацию(откажись от добавления кадров, что бы анимация встала полностью новая твоя), после проверь туже анимацию включив ее кнопкой анимация, все ли нормально и так как ты хочеш, потом отключай анимацию и экспортируй как sequence.
 

Raid

VIP
VIP
11.07.06
8 319
33
  • Rocket медаль
2 OLAF:
Странная херня: при импорте модель и скелет как-то далеко отдельно (скрин 1), описанный способ не помог, хотя и если подвинуть вертексы, то во вьюпорте получается нормально (скрин 2). Оффтоп
 

Вкладення

  • 439.4 КБ Перегляди: 320
  • 454.5 КБ Перегляди: 348
Останнє редагування:

H-3D

New member
31.01.13
9
0
0
По-моему с анимациями которые экспортирует блендер всё должно быть в порядке, сорсовский формат в них ничего не добавляет и компилятор должен прекрасно их есть.
Проблема тут, насколько понимаю, исключительно в привязке вершин к скелету, в файле gop.smd
Что если попробовать пересохранить только его его через милку сняв галочку rename bones при импорте или через notepad++ с автозаменой по той формуле.
 

Raid

VIP
VIP
11.07.06
8 319
33
  • Rocket медаль
2 H-3D:
Не работает автозамена по формуле. Нечего заменять.
 

H-3D

New member
31.01.13
9
0
0
2 Raid:
Хм, странно… недавно таким способом собирал модельку под ГС. А можешь залить куда-нибудь этот самый gop.smd экспортированный блендером?
 

Raid

VIP
VIP
11.07.06
8 319
33
  • Rocket медаль
2 H-3D:
Я обнаружил кость, к которой ничего не привязано. Это может быть причиной проблем?
 

Вкладення

  • 432.3 КБ Перегляди: 342
  • 323.6 КБ Перегляди: 215

OLAF

Member
13.04.10
247
39
Нет в моделях полно костей к которым ничего не привязано.
Короче не знаю: я не стал изобретать велосипед, взял строки walk и idle из моделей для контры для qc файла, и скомпилировал твою модель нормально. Ах ну да единственное что конечно подправил меш относительно скелета, опустил его вниз.

Гопник
 

H-3D

New member
31.01.13
9
0
0
Я бы обратил внимание на то, что кость sheya и крепящиеся к ней rot_verx и rot_niz не соединяются с остальным скелетом, это может вызвать проблемы в некоторых анимациях.

Формула для notepad++ будет вот такой:

Код:
0  (-*\d+\.\d+ -*\d+\.\d+ -*\d+\.\d+  -*\d+\.\d+ -*\d+\.\d+ -*\d+\.\d+  -*\d+\.\d+ -*\d+\.\d+) 1 (\d+) 1\.000000$
Но так как сетка почему-то смещена относительно модели это не сильно поможет т.к анимации будут растянутыми, тут пожалуй действительно имеет смысл через милку перегонять.

Чтобы сетка не смещалась можно попробовать перед экспортом в смд из блендера в object mode применить к ней и скелету apply->location и apply->rotation and scale.
 
Останнє редагування:

Raid

VIP
VIP
11.07.06
8 319
33
  • Rocket медаль
Таки если напрямую экспортить, то остаётся одна кость:
 

Вкладення

  • 91.2 КБ Перегляди: 434

Game Server

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

Користувачі онлайн