Старенький скрипт для весов.
В Sims 4 Studio существовала небольшая проблемка:
При конвертации своей модельки из исходников в модель игры, эта самая модель теряла в весе. Не в смысле, что размер модельки изменялся, просто при перекодировании иногда не очень точно рассчитывались весы зависимости точки полигональной сетки от костей скелета. Одна связь кости с точкой (вес вершины), как на нижеприведённых примерах (выделено красноватым), могла дать погрешность где-то до 0.004 (1/255); пять костей, если не повезёт иногда дают погрешность в 1-2%, что уже чревато некоторыми артефактами при анимации.
Вот для исправления этого был придуман этот скриптик-дополнение для Blender 2.79b и Sims4Studio(Wishes). (если что пользуйтесь web-archive'ом)
S4S_weights normalizator.ver.0.0.2.pyble17x.py19.42 KbDownload
Как он примерно исправляет, видно на картинке выше (выделено жёлтым). Он по определённому алгоритму доводит некоторые значения до нужного значения (обычно это самые большие связи в точке (малое изменение большого числа не сильно так выделяется, если бы увеличили что-то мелкое)), чтобы затем все эти значения весов вершин в сумме дали единицу, т.е. нормализовались.
Происходит такое непотребство из-за неверной конвертации float значения из Блендера в родной формат Симс 4 (там вроде весы костей вмещаются в октет, то есть одна кость на точку может действовать с силой от 1/255 до единицы (255/255)). А именно возьмёт, например значение 0.531 и урежет вам его до 0.529, 136/255=0.533333 до 135/256=0.529412, а потом гадай, что пошло не так.
(НЕ ЗАБЫВАЕМ ДЕЛАТЬ РЕЗЕРВНЫЕ КОПИИ ВСЕГО И ВСЯ до разновсяких действий!)
Настройки в дополнении (add-on) простые:
0. Выбираем нужный меш в режиме объекта.
1. Ставим крыжик, если изувеченную модель вытащили из симофского файла. Если это изначальная модель, то крыжик убираем.
2. Вводим путь для файла вывода с данными, что этот кусок кода натворил. А собственно куда эти данные посылать: в файл, консоль, или в null (т.е в нихиль, в никуда). (файл будет создаваться всё равно по пути по окончании операции).
3. Запускаем всю эту петрушку нажатием соответствующей клавиши. (Должны измениться неправильные веса и нормализоваться до 1, к названию меша прибавится слово pluh).
Потом можно отправить получившийся результат обратно в формат понятный Симс4. Для проверки, если не уверены что что-то изменилось снова вытащите обновлённый результат и сравните с изначальной моделью.
PS: Если у кого-то возникнет желание перевести этот скрипт на новый blender, милости просим... не забудьте указать прозвище разработчика, кто написал сей небольшой скриптик... а ещё лучше напишите своё грамотное произведение искусства созданное по всем лекалам и с правильными комментариями в нужных местах.
Надеюсь, что в S4S (Stars) всё же исправили вот такое недоразумение, и ничего никому писать для исправления подобного не придётся.