Render.ru

Объединение объектов с одинаковыми именами в 1 объект. Помощь в скриптописании.

Евгений Шишмарев

Пользователь сайта
Рейтинг
2
#1
Всем привет!

Имеется модель из Navisworks (а точнее много таких моделей), которая состоит из большого количества отдельных объектов. Аналогичные объекты имеют одно и то же имя объекта. Например много одинаковых окон имеют имя "Окно". И таких элементов десятки тысяч. Есть ли скрипт объединить объекты с одинаковым именем в один меш? Если еще и назначится стандартный материал с таким же именем как и у объекта, то будет вообще замечательно. Но можно и без матов. Имена у объектов на кириллице.

Если есть те, кто разбирается в написании скриптов, прошу помощи, сам писать скрипты не умею.
 

ЛМА

Смотритель
Рейтинг
1 181
#2
Так это и без скриптов очень просто делается в максе.
Жмете кнопку Select by Name там находите в списке всех объектов первый объект с нужным именем, помечаете его, затем находите последний с таким же именем и с зажатым Shift помечаете и его, у вас помечаются сразу все объекты между первым и последним - OK - правая кнопка мыши - Hide Unselected - в сцене остаются только все объекты с одним именем, причем выделенные. Назначаете им всем сразу один материал и после этого выделяете любой один из них - Modify - Attach List , там выделяете все объекты - OK. Получаете один меш вместо кучи объектов. Все это меньше минуты.

Не знаю как в этом вашем Navisworks , но вот при экспорте из Архикада в макс можно выставить разные варианты параметров экспорта, один из которых выдает 3ds в котором сразу все объекты с одним материалом назначенным в Архикаде получается одним мешем. Например экспорт здания с кучей окон, можно экспортировать так, что все будет состоять из огромной кучи мешей в которой фиг разберешься, а можно экспортировать так, что все рамы в окнах будут одним мешем, все стекла тоже одним мешем, все бетонные стены одним, все кирпичные стены тоже одним и т.д. В итоге получается модель в которой все объекты с одним материалом представлены одним мешем, сколько материалов было назначено в Архикаде, столько мешей и получится. По идее и в этом вашем Navisworks может быть что то подобное, это, скорее всего, надо искать в диалоговом окне экспорта
 
Последнее редактирование:

Евгений Шишмарев

Пользователь сайта
Рейтинг
2
#3
Спасибо за ответ, но скрипт нужен для того, чтобы этим не заниматься. Уже пройденный этап. Таких наименований около сотни может быть.

Вопрос был про Navisworks, а там не как в архикаде. Такой возможности экспорта нет.
 

Евгений Шишмарев

Пользователь сайта
Рейтинг
2
#5
Спасибо! Идея да, такая. Но дело в том, что сейчас скрипт работает только с малым количеством объектов. Если бы он аттачил секвенциями, как Quick Attach, было бы круто. У меня большое количество объектов. Например всего их может быть 40 тысяч, и по 100 наименований. Каких-то наименований 10 по количеству, каких-то тысячи. Это 1 дом. А таких домов еще около 15 штук. Руками на 1 домик примерно 1,5 часа уходит, учитывая экспорты-импорты, аттачи, зависания (куда ж без них)

На сколько сложно доработать этот скрипт? Я готов задонатить.
 

ЛМА

Смотритель
Рейтинг
1 181
#7
Вот тут, как я понял, практически тоже самое решают через материалы. Простеньким скриптом все одинаковые материалы (т.е. материалы одинаковых объектов) но имеющие разные названия приводят к одному материалу, по которому потом, видимо, можно выделить все однотипные объекты и объединить их в один. Вообщем эту проблему не вы один, видимо, пытаетесь решить.

 

Евгений Шишмарев

Пользователь сайта
Рейтинг
2
#8
Только что нашел способ стандартными средствами. Оказывается если делать не через Import FBX, а через Link FBX, с последующим обрывом связей, все объекты с одинаковыми именами объединяются в 1 объект. При импорте ничего подобного нет, даже вариантов никаких в настройках. При Link'е он спрашивает каим образом сгруппировать. Минус только один-достаточно долго он это все объединяет и думает, но все равно намного быстрее чем руками. И материалы сохраняет. Так что спасибо за ответы, видео гляну, может что-то полезное почерпну там
 
Сверху