Render.ru

uvw модификатор для большого числа элементов

Рейтинг
638
#1
Возник вопрос. Есть модель из большого количества сфер. Для каждой сферы делаю uv в сферической проекции.
Приходится выделять каждую сферу и накладывать по отдельности uvw модификатор. Если целиком на несколько сфер наложить Uvw или на весь объект в целом, то проекция тогда накладывается не по отдельным элементам, а тоже в целом на весь объект, что не то, что нужно. Как можно сделать у каждой сферы сферические uv координаты быстрее?
:)
 

thebogdan

Активный участник
Рейтинг
11
#2
Можно так:
1) Select All (или только необходимые из списка)
2) Навесить на все UVW Modifier
3) В секции Channel вместо Map Channel выбрать Vertex Color Channel
3) Затем Collapse All (в выпадающем меню от правой кнопки мыши). Результат -- меш с собственными координатами.
Это на скорую руку, не знаю, насколько поможет тебе. Сообщи о результатах. :)
 

abominog

Активный участник
Рейтинг
5
#3
если одинаковый тип UVW, то:

запускаешь max script listener (F11)

включаешь MacroRecorder - enable

делаешь что надо над выделенным елементом меша

а теперь, то что записалось в max script listener - это маленький скриптик для последующих твоих сфер, для других элементов. Выделяешь следующую сферу в стеке как элемент, и играешь записанный скрипт.

так можно оптимизировать ацкий труд и заинтересоваться, что пишут в группе "MAX-MAXScript" :)
 
Рейтинг
638
#4
thebogdan, потестил, не совсем то.
Abominog, мне тоже такое же решение пришло через запись скрипта. Я сделал 4 кнопки, хотя можно было и одной обойтись, - наложить Uvw, сжать стек, перейти на уровень выбора елементов, спрятать выбранное. После чего выбираю следующий элемент. В итоге так всю модель и сделал. Есть недостаток - надо элемент самому выделять, на что-то большее - автоматом, чтобы брались элементы скриптом, меня не хватило. Поинтересуюсь про автоматический выбор элементов.
Спасибо всем.
 

GoodMan

Мастер
Рейтинг
260
#5
Вот вариант скрипта который будет назначать всем подобъектам в полимеше сферические координаты:

obj = $
p_face = 1

convertToPoly obj

while p_face <= polyOp.getNumFaces obj do
(
elemArr = (polyOp.getElementsUsingFace obj p_face)
polyOp.setFaceSelection obj elemArr
subObjectLevel = 5

modPanel.addModToSelection (Uvwmap maptype:2)
convertToPoly obj

p_face = (elemArr as array)[(elemArr as array).count] + 1
)

update obj

--------------
Выделить объект -> запустить скрипт..
 
Сверху