Здравствуйте, товарищи.
Прошу помощи, в решении следующего вопроса.
Есть модель (человека), с костями и модификатором skin, проблема в экспорте данных. Нужно получить текстовый файл, с индексом точки и его веса к кости. 100% аналог Weight Table в модификаторе skin только в тексте.
Если кто то знает как это сделать, прошу помочь, очень очень.
ОАЗдравствуйте, товарищи.
Прошу помощи, в решении следующего вопроса.
Есть модель (человека), с костями и модификатором skin, проблема в экспорте данных. Нужно получить текстовый файл, с индексом точки и его веса к кости. 100% аналог Weight Table в модификаторе skin только в тексте.
Если кто то знает как это сделать, прошу помочь, очень очень.
С уважением, Олег.
MaxScript тебе в помощь.
Вот пример скрипта который построчно пишет в текстовый файл индекс точки и его вес к кости.
Модель должна быть Editable Poly.
filename = getSaveFileName caption:"Save file" filename:($.name) --types: "Text files (*.txt) | (*.txt) | All (*.*) | (*.*)"
if filename != underfined then
(
saveWeights = createFile filename
format "% <- vertex count" (polyop.getNumVerts $) to:saveWeights
for i = 1 to polyop.getNumVerts $ do
(
bone_count = skinops.getVertexWeightCount $.modifiers[#Skin] i
format "\n% <- vertex numer" i to:saveWeights
format "\n% <- vertex position" (polyop.getVert $ i) to:saveWeights
format "\n% <- vertex bone count" bone_count to:saveWeights
for b = 1 to bone_count do
(
bone_ID = skinops.getVertexWeightBoneID $.modifiers[#Skin] i b
bone_Name = skinops.getBoneName $.modifiers[#Skin] bone_ID 1
bone_Weight = skinops.getVertexWeight $.modifiers[#Skin] i b
format "\n% <- bone ID" bone_ID to:saveWeights
format "\n% <- bone name" bone_Name to:saveWeights
format "\n% <- vertex bone weight" bone_Weight to:saveWeights
)
)
close saveWeights
)
Протестил, что то не получается....сохраняет вот такой документ (прикрепил) и всё...с коллапсом модели и без него...пыжился тужился и ничего больше одной строки не вышло...
Dark Lighter что делать?
Хм, проверил, у меня работает.
Я сам только начал постигать азы MaxScript и не могу гарантировать 100% работоспособность. Скрипт писал для своих нужд и возможно не все условия соблюдены для работы скрипта. Сейчас посмотрю еще раз.
igorznagНа панели Modify выделяем модификатор Skin и запускаем скрипт.
P.S. Cлово "underfined" лучше заменить на слово "undefined".
Да, так и есть. И еще одно, в файл также пишется дополнительная информация, которую я использовал для дебага. Все что в кавычках после \n% можно убрать. Например: <- vertex count и <- vertex numer. Плюс в файл сохраняется позиция вершин, если она не нужна ее тоже можно убрать.
Вот высылаю мув скрины. сделал всё как написано. И опять одна строка только в текстовом документе.
*Удалял модель головы, оставляя только торс. результат тот же.
Может это зависеть от версии макса?
У меня вроде руки не кривые но с макс скриптом не дружу...Хелп
Извиняюсь. Я не правильно написал. Правильно будет так:
1. Открываем панель Modify и выделяем модификатор Skin.
2. Не закрываем панель Modify. Панель Modify должна быть открыта.
(Вы закрыли панель Modify и открыли панель Utilities.)
3. Запускаем скрипт.
igorznagИзвиняюсь. Я не правильно написал. Правильно будет так:
1. Открываем панель Modify и выделяем модификатор Skin.
2. Не закрываем панель Modify. Панель Modify должна быть открыта.
(Вы закрыли панель Modify и открыли панель Utilities.)
3. Запускаем скрипт.
Спасибо больше, сработало как надо. Отдельная благодарность, Dark Lighter'у
Доступ к резюме доступен только по пакетному доступу HR менеджерам зарегистрированных компаний. Узнать о вариантах корпоративных пакетов можно по ссылке.
Олег Суптеля (sugunwar)
Прошу помощи, в решении следующего вопроса.
Есть модель (человека), с костями и модификатором skin, проблема в экспорте данных. Нужно получить текстовый файл, с индексом точки и его веса к кости. 100% аналог Weight Table в модификаторе skin только в тексте.
Если кто то знает как это сделать, прошу помочь, очень очень.
С уважением, Олег.
Вложения
Dark Lighter
Вот пример скрипта который построчно пишет в текстовый файл индекс точки и его вес к кости.
Модель должна быть Editable Poly.
Олег Суптеля (sugunwar)
Огромнейшее спасибо, протестю скрипт, отпишусь обязательно
Олег Суптеля (sugunwar)
Dark Lighter что делать?
Олег Суптеля (sugunwar)
и всё
igorznag
P.S. Cлово "underfined" лучше заменить на слово "undefined".
Dark Lighter
Я сам только начал постигать азы MaxScript и не могу гарантировать 100% работоспособность. Скрипт писал для своих нужд и возможно не все условия соблюдены для работы скрипта. Сейчас посмотрю еще раз.
Dark Lighter
Олег Суптеля (sugunwar)
*Удалял модель головы, оставляя только торс. результат тот же.
Может это зависеть от версии макса?
У меня вроде руки не кривые но с макс скриптом не дружу...Хелп
Вложения
igorznag
1. Открываем панель Modify и выделяем модификатор Skin.
2. Не закрываем панель Modify. Панель Modify должна быть открыта.
(Вы закрыли панель Modify и открыли панель Utilities.)
3. Запускаем скрипт.
Олег Суптеля (sugunwar)
Dark Lighter
Кстати советую понемногу осваивать MaxScript, штука не слишком сложная но очень помагает в работе.