Render.ru

Экспорт точек веса, в простом текстовом файле, помогите

Рейтинг
25
#1
Здравствуйте, товарищи.
Прошу помощи, в решении следующего вопроса.

Есть модель (человека), с костями и модификатором skin, проблема в экспорте данных. Нужно получить текстовый файл, с индексом точки и его веса к кости. 100% аналог Weight Table в модификаторе skin только в тексте.

Если кто то знает как это сделать, прошу помочь, очень очень.

С уважением, Олег.
 

Вложения

Dark Lighter

Пользователь сайта
Рейтинг
2
#2
Здравствуйте, товарищи.
Прошу помощи, в решении следующего вопроса.

Есть модель (человека), с костями и модификатором 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
	)
 
Рейтинг
25
#4
Протестил, что то не получается....сохраняет вот такой документ (прикрепил) и всё...с коллапсом модели и без него...пыжился тужился и ничего больше одной строки не вышло...
Dark Lighter что делать?
 

igorznag

Мастер
Рейтинг
103
#6
На панели Modify выделяем модификатор Skin и запускаем скрипт.
P.S. Cлово "underfined" лучше заменить на слово "undefined".
 

Dark Lighter

Пользователь сайта
Рейтинг
2
#7
Хм, проверил, у меня работает.
Я сам только начал постигать азы MaxScript и не могу гарантировать 100% работоспособность. Скрипт писал для своих нужд и возможно не все условия соблюдены для работы скрипта. Сейчас посмотрю еще раз.
 

Dark Lighter

Пользователь сайта
Рейтинг
2
#8
На панели Modify выделяем модификатор Skin и запускаем скрипт.
P.S. Cлово "underfined" лучше заменить на слово "undefined".
Да, так и есть. И еще одно, в файл также пишется дополнительная информация, которую я использовал для дебага. Все что в кавычках после \n% можно убрать. Например: <- vertex count и <- vertex numer. Плюс в файл сохраняется позиция вершин, если она не нужна ее тоже можно убрать.
 
Рейтинг
25
#9
Вот высылаю мув скрины. сделал всё как написано. И опять одна строка только в текстовом документе.
*Удалял модель головы, оставляя только торс. результат тот же.

Может это зависеть от версии макса?
У меня вроде руки не кривые но с макс скриптом не дружу...Хелп
 

Вложения

igorznag

Мастер
Рейтинг
103
#10
Извиняюсь. Я не правильно написал. Правильно будет так:
1. Открываем панель Modify и выделяем модификатор Skin.
2. Не закрываем панель Modify. Панель Modify должна быть открыта.
(Вы закрыли панель Modify и открыли панель Utilities.)
3. Запускаем скрипт.
 
#11
Извиняюсь. Я не правильно написал. Правильно будет так:
1. Открываем панель Modify и выделяем модификатор Skin.
2. Не закрываем панель Modify. Панель Modify должна быть открыта.
(Вы закрыли панель Modify и открыли панель Utilities.)
3. Запускаем скрипт.
Спасибо больше, сработало как надо. Отдельная благодарность, Dark Lighter'у
 

Dark Lighter

Пользователь сайта
Рейтинг
2
#12
Был рад помочь. :)
Кстати советую понемногу осваивать MaxScript, штука не слишком сложная но очень помагает в работе.
 
Сверху