Sidebar

Развесовка на моделях (тестирование)

Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Всё дело в правильной трансформации мешей в их изначальные положения. Когда развесовки нет, то это легкое дело. С развесовкой уже посложнее. Ну, пока раздупляю.
 

KiQ

Member
12.07.2010
397
2
18
2 Дядя Миша:
Обратные коэфициенты не?
 
Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Вообщем с развесовкой такая ситуация. Я её сделал, она работает, но пришлось сохранить дополнительные матрицы в модель. Это не нарушает бинарной совместимости и вообще в целом непроблема. Проблемы есть несколько иного плана, хотя и не фатальные:
1. обратная совместимость похерена. Нет, движок корректно прочитает модель и даже хитбоксы останутся совместимыми. Но без внедрения поддержки развесовки модель будет выглядеть как НЁХ, если вы понимаете о чём я.
2. модели без развесовки тоже будут выглядеть как НЁХ, придется делать альтернативный патч в компиляторе, для компиляции моделей совместимых с GS.
Я вот думаю, может быть отключить развесовку по умолчанию, а включать её скажем специальной глобальной qc-командой, например $boneweights.
И заделать еще одну специальную глобальную команду, которая будет включать все фичи разом - тайлинг на моделях, развесовку, итд.
Чуть позже выложу демку, потестируете.
 
Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Собсно, обновлённый компилятор и обновлённый просмотровщик.
Только не вздумайте им компилировать все модели подряд, убьёте нафиг.
Тестируйте, обращайте внимание на недочёты, прикладывайте модели, которые неправильно компилятся. Потестируем.
 

Вложения

ZombieSource

Sehr geile Sprayers!
13.06.2010
701
47
28
LightenWoods
  • Золотая медаль 121
  • Серебряная медаль 131
  • Бронзовая медаль MM18
  • Серебряная медаль 103
Посмотрел пару туториалов как сделать развесовку в милке, нифига не выходит :(
 

nemyax

тндайпц тра
Команда форума
Модератор
30.07.2015
643
25
18
Дядя Миша сказал(а):
пришлось сохранить дополнительные матрицы в модель
Как так? Почему тебе не хватило матриц влияющих костей?
 

ElbeR

Wunderknabe
23.04.2009
856
32
2 ZombieSource:
Милка не годится для этого. Юзай 3dsMax.

Попробовал, работает отлично. В игре конечно еще не поддерживается и модель "расколбашивает".

Заметил только один дефект:
Если на тело задать веса, а в скрипте есть еще рефы мешей - на который не заданы веса, то у вторых появляются дефекты нормалей в виде темных пятен.
Лечится простым пересохранением смд проблемного меша.
 
Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
2 nemyax: в сорсе точно такие же дополнительные матрицы. Больше скажу - без них видимо вообще невозможно сделать. Но на самом деле это полезные матрицы. Например, если их инвертировать - получим совершенно плоскую модель, как спрайт. На первый взгляд это бесполезная штука, но она очень здорово помогает накладывать декали. К тому же кость не умноженная на эту матрицу может быть выровнена в экранном пространстве, еще они нужны для рагдолла и инверсной кинематики.
Пока что единственная сложность - это необходимость обеспечить оба варианта, с развесовкой и без нее. Отсюда иногда лезут баги, ну вон как Элбер описал, с нормалями. Да и не только.

[ADDED=Дядя Миша]1494668152[/ADDED]
В игре конечно еще не поддерживается и модель "расколбашивает".
Самое главное, что бинарная совместимость сохранена, т.е. движок не падает, от попытки загрузки такой модели. А расколбас... Ну от тайлинга в стандартном вьювере текстуру тоже плющит. Главное что не вылетает.
 
Последнее редактирование:

nemyax

тндайпц тра
Команда форума
Модератор
30.07.2015
643
25
18
Дядя Миша сказал(а):
необходимость обеспечить оба варианта, с развесовкой и без нее
Ну а если принять "без" как частный случай "с", тока со 100%?
 
Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Я еще раз говорю, что модель с развесовкой содержит положение костей в совсем другом пространстве и чтобы на выходе получить что-то вменяемое, необходимо домножать каждую матрицу вот на эту матрицу кости. А сколько там весов на кость уже не важно. Важно как были построены эти самые кости.
 

ElbeR

Wunderknabe
23.04.2009
856
32
2 xDShot:
Хаха, я точно на этой же модельке тестил тоже, из ксго)))
Совпадение?))
 

xDShot

Well-known member
20.12.2010
1 844
Дядя Миша сказал(а):
2 xDShot: а зачем видеоролики? Что-то неправильно у меня?
Сперва я заснял эти ролики, чтобы сравнить вдруг что не так. И только потом модель экспортировал.

А на взгляд - все вроде так же :)

[ADDED=xDShot]1494675110[/ADDED]
2 ElbeR:
Хаах :D

Вон тов. ILZM моделька тоже из КСГО.
 
Последнее редактирование:
Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Да не, есть небольшие огрехи. rom_skin ближе к концу анимации перекручивает правую руку на мгновение, но не факт что я смогу это исправить без нарушения бинарной совместимости. Это уже попёрли гимбалл-локи углов эйлера, а в хл2 анимации в кватернионах хранятся. Вот как раз для таких вот случаев. Ну и империалистическую гидру тоже перекручивает. Еще момент - когда моделька двигает плечами, слева один вертекс горкой вылазит - некрасиво.
Ну и нормали на верхней половине туловища похерены, но это уже заморочки просмотровщика, а не компилятора. В целом ничего критичного.
 

ncuxonaT

Well-known member
05.05.2013
1 192
46
48
Вот если сравнивать гнущийся цилиндр с 3дмаксом, то видна граница вершин с развесовкой и без. В 3дмаксе такой границы нет. Это из-за недостаточной точности весов?
 
Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
я веса сохраняю в байт, а не флоат, в целях экономии. Мне же их еще атрибутом вертекса передавать фпараное. Вообщем в компиляторе довольно много всяких загрублений точности в целях экономии места. А с анимациями вообще беда - одна анимация не может весить более 64 килобайт, т.к. у нее оффсеты 16-битные. И это уже никак не переделаешь. В хл2 там сразу кватернионы хранятся флоатные. Ну и вес модельки соответствующий.

[ADDED=Дядя Миша]1494679501[/ADDED]
Upd: исправление модельвьювера, исправляющее нормали, если мешей несколько.

2 xDShot: а ты мог бы записать видос rom_skin_front.mp4 выставив в модельвьювере хл2 минимальную скорость воспроизведения или вообще покадрово. Потому что по ощущениям там тоже руки перекручивает на мгновение, но длится это всего один кадр и нихрена не разобрать.
 

Вложения

  • 62.7 КБ Просмотров: 169
Последнее редактирование:

Новые сообщения

Донат - Хостинг

Итого
200.00 $
Цель
600.00 $

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

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

Нет пользователей онлайн.