На сайте c 18.09.2016
Сообщений: 2649
Украина, Запорожье
Дата выдачи: 06.08.2024 17:58:08
Пожизненный бан
Итак эксперименты с лампами продолжаются. Спасибо добрым людям я разобрался с тем как создать вот такую модель и лампы расположенные с геометрической точностью. Однако возникла другая проблема, все это единая геометрия. Теперь нужно убрать лишнее. Некоторые лампы тут не нужны, указать каким либо образом это во время скаттеринга - невозможно. Как видите каждый светильник состоит из лампы, патрона, спирали и кучи других мелких элементов, все это колласпнуто в единый меш. Меш состоит из элементов, сделать это просто одним куском геометрии - невозможно.
Задача:
Нужно выделить лишние лампы. При таком количестве ламп, выделать это лассо, поэлементно вручную, квадратиком, кругляшком, линией в форме зайчика или няшки - нереально долго и чревато ошибками.
Есть идея: А возможно ли сделать этим элементам GROW, чтобы выделялись элементы находящиеся рядом?
А возможно ли сделать этим элементам GROW, чтобы выделялись элементы находящиеся рядом?
Стандартными средствами вряд ли. Элемент это вообще условность, набор связанных фейсов. Если "находящиеся рядом" определять по минимальной дистанции между центрами каждого элемента, то ближайшим может оказаться вовсе не тот, который нужен.
____
Если бы у меня стояла такая задача, то наверное я бы начал с разбиения меша по ID, или вообще по элементам.
Я не следил за темой где эта люстра создавалась, но неужели нельзя было раскидать не готовые лампы, а (например) один треугольник? Потом по нормалям каждого треугольника можно было бы раскидать инстансы ламп. Как создавалась лампа в двух словах?
На сайте c 18.09.2016
Сообщений: 2649
Украина, Запорожье
Дата выдачи: 06.08.2024 17:58:08
Пожизненный бан
Цитата -NiK-:
Я не следил за темой где эта люстра создавалась, но неужели нельзя было раскидать не готовые лампы, а (например) один треугольник? Потом по нормалям каждого треугольника можно было бы раскидать инстансы ламп. Как создавалась лампа в двух словах?
можно и треугольники раскидать и кубы и все что угодно. Но в итоге это всеравно будет единым мешем. Я разбрасывал эти лампы обычным скаттером по вершинам, потом коллапсил в меш.
нужно получить вот это. Но просто скаттером по сфере разбрасывать геометрию нельзя. Есть 20 светильников, 19 стекляшек и одно место под цепь, в итоге имеем ровно 40 позиций для размещения ламп и стекляшек. Делал я это с помощью скаттера обычного максовского, разбрасывал светильники по вершинам фигуры, фигуру делал из Hedra
я получил нужное мне количество вершин. Но я не могу указать на какую вершину нужно ставить лампу а на какую нет, а после коллапса скаттера все это становится единым мешем.
Задача: удалить лишние лампы и заменить на стекляшки. Но выделением это не сделать нормально, очень гемморойно и это не выход если я хочу делать по 5-8 таких моделей в день.
Варианты: Либо каким то образом выделять пообъектно, либо найти скаттер который будет обладать гибким интерфейсом и возможностью ставить объекты на нужные вершины, либо как вы говорите вручную, размещать объекты по нормалям после скаттера.
Я так понимаю, следующим вопросом будет, а как теперь там расставить источники света в каждой лампе. Как уже сказали выше, сначала назначаешь нужный разным объектам id, потом отделяешь их всех от модели и удаляешь ненужные. Делов на одну минуту.
На сайте c 18.09.2016
Сообщений: 2649
Украина, Запорожье
Дата выдачи: 06.08.2024 17:58:08
Пожизненный бан
Цитата freezemaximus:
Как уже сказали выше, сначала назначаешь нужный разным объектам id, потом отделяешь их всех от модели и удаляешь ненужные.
Да ну? Серьезно? Это единый меш, ты как выделишь отсюда эти объекты чтобы назначить им ID? Их скаттер разбрасывает и после коллапса это один большой меш. Как ты в скаттере им назначишь разные ID? ДАвай покажи как за пару минут ты сделаешь это.
Цитата -NiK-:
В каком-то смысле maxscript является встроенным инструментом в максе :)https://pastebin.com/FYu3W5xf
Написан примитивно потому что мне лень. 1. Выделяем вертексы в полике. 2. Добавляем к выделению еще один объект, чтобы он был вторым выделенным. Запускаем код.
Вот это уже похоже на реальный выход из ситуации. А на что ориентируется скрипт когда модель на вертексы ставит? На пивот?
А на что ориентируется скрипт когда модель на вертексы ставит? На пивот?
Да. Но это не важно т.к. имея инстансы расставленные по точкам можно дальше уже делать что угодно в локальных координатах, вращать, заменять на другие инстансы и т.д.
На сайте c 18.09.2016
Сообщений: 2649
Украина, Запорожье
Дата выдачи: 06.08.2024 17:58:08
Пожизненный бан
Цитата -NiK-:
Да. Но это не важно т.к. имея инстансы расставленные по точкам можно дальше уже делать что угодно в локальных координатах, вращать, заменять на другие инстансы и т.д.
А как мне скажем одну модель, выровнять по пивоту другой модели?
А, точно) Что то забыл совсем. Спасибо Ник, совет отличный
Да ну? Серьезно? Это единый меш, ты как выделишь отсюда эти объекты чтобы назначить им ID? Их скаттер разбрасывает и после коллапса это один большой меш. Как ты в скаттере им назначишь разные ID? ДАвай покажи как за пару минут ты сделаешь это.
На сайте c 18.09.2016
Сообщений: 2649
Украина, Запорожье
Дата выдачи: 06.08.2024 17:58:08
Пожизненный бан
Цитата freezemaximus:
Или я неправильно понял вопрос?
Как ты думаешь зачем я заморачивался в создании сферы через Hedra? Зачем я указал точно количество элементов? Зачем я мучал вчера форум с этой сферой? Мне нужно точное, абсолютно точное, геометрически правильное расположение объектов на сфере, для этого я сделал сферу с нужным числом вершин, я как бы знаю что скаттером можно разбросать все что угодно, я первый раз скаттеры в 2012 году юзал и с того времени умею пользовать форестом, корона скаттеров, Sini и мультискаттером. Но мне не нужен рандом, нужно точное расположение.
В общем, как точно раскидать объекты, ты разобрался. Сложность в том, как потом удалить группу объектов в одном объекте, верно? На примере люстры, теперь тебе надо удалить в некоторых плафонах нить накаливания, ножки на которых она держится и может ещё какую-то мелочь рядом, и при этом не испортить соседние объекты..? Думаю, чтоб не изобретать велосипед, я бы изначально создавал те объекты, которые потом надо "почистить" единым мешем. Далее так же, как я предлагал выше, отделить их от общего объекта через id, и там либо хаотично повыбирал полигоны с последующим grow, либо через рандомный select из риббона, так же, с последующим grow. Думаю должно сработать, делов так же, на пару минут.