1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

boolean plugin

Тема в разделе "Моделирование", создана пользователем supkrovi, 7 ноя 2012.

Модераторы: He77ga, Артер
  1. supkrovi

    supkrovi Знаток

    С нами с:
    28.02.2006
    Сообщения:
    208
    Симпатии:
    1
    Баллы:
    23
    Есть какая-нибудь мега-крутая альтернатива встроенному булину и пауербулину? Всегда стараюсь избегать этих отвратительно реализованных функций, но иной раз - никак. А потом, сиди - полигоны правь((
     
  2. maiden666

    maiden666 Знаток

    С нами с:
    06.04.2010
    Сообщения:
    3.094
    Симпатии:
    87
    Баллы:
    74
    мозги. булин на то и булин, что режет сетку по реальной линии пересечения, не обращая внимания как там расположены полики, не его это собачье дело
     
  3. INCUS

    INCUS Знаток

    С нами с:
    03.08.2010
    Сообщения:
    857
    Симпатии:
    30
    Баллы:
    29
    Могу только посоветовать скрипт от Shiva, называется Vertex Cleaner. Чистит вершины после бульки.
    Бывает в суперлоуполи, тоже пользуюсь.
     
  4. supkrovi

    supkrovi Знаток

    С нами с:
    28.02.2006
    Сообщения:
    208
    Симпатии:
    1
    Баллы:
    23
    Ась?
    да, лишь в тех случаях, когда он действительно это делает. На практике же, в операциях со сложными объектами, он либо вобще ничего не делает, либо убивает оба объекта, либо объединяет, либолибо. В исключительных, не поддающихся прогнозированию, случаях, он делает всё правильно. И тогда остаётся чистить вертексы. Удивляет, что тридестудио уже лет 15 на рынке, и до сих пор нет удобной рабочей функции по теме.
    Спасибо. Интересный скрипт. Частично решил бы проблему, только он у меня почему-то не чистит(( "vertex cleaned 0". Пробовал разные размеры объектов и разные значения по вычищению в скрипте. max 2012. Есть какой-то нюанс?
     
  5. INCUS

    INCUS Знаток

    С нами с:
    03.08.2010
    Сообщения:
    857
    Симпатии:
    30
    Баллы:
    29
    2012 не ставил, потому не испытывал...
    у меня на 2010 работает, а на 2013 ещё не ставил.
     
  6. Селена

    Селена Знаток

    С нами с:
    01.11.2011
    Сообщения:
    823
    Симпатии:
    12
    Баллы:
    21
    maiden666 между прочим правильный совет дал, мозги задействовать надо
    и не будет никаких проблем. А как конкретно могу ответить:
    1 - сетку обоих объектов грамотно рассчитать, чтобы линии пересечения легли
    там, где надо, а не где придется
    2 - в очень большом количестве случаев этой операции можно вообще избежать,
    я в своей работе без него обхожусь в 80-90% случаев

    Есть конечно и третий вариант, вместо того, чтобы MAX изучать и различные приемы
    моделирования осваивать, можно сидеть и ждать, когда кто-то напишет очередной
    скрипт. Правда за упомянутые тобой 15 лет я еще не видел ни одного скрипта,
    который бы не требовал ручной работы после его применения.
     
  7. diwian diwian

    diwian diwian Мастер

    С нами с:
    05.06.2010
    Сообщения:
    4.742
    Симпатии:
    74
    Баллы:
    83
    А вот гипотетически :Ну нет в максе ни Boolean(а) ни ProBoolean(он же PowerBoolean только хуже адаптированный)кто как бы решал эту проблему? Есть идеи?
     
  8. supkrovi

    supkrovi Знаток

    С нами с:
    28.02.2006
    Сообщения:
    208
    Симпатии:
    1
    Баллы:
    23
    никогда не понимал, зачем такое писать( Вы понимаете, что единственный таргет подобных фраз - показать, что абонент - идиот? Не очень-то конструктивно, по-моему.
    1. Бывают ситуации, когда это условие ужасно сложно соблюсти. Собственно, потому и создал тему. Построил несколько очень сложных многополигональных объектов с мультиматириалами, а потом, по новой концепции, выяснилось, их надо порезать определёнными формами. Естественно, пришлось делать ручками, тк булин проявил себя как обычно в таких ситуациях. Но попутно, представил себе, как былобы здорово, если бы он всёже справился с поставленной задачей.
    2. Это обстоятельство указано в моём первом сообщении.

    Вопрос был не в том как обходить штатными средствами проблему, а в существовании альтернативной функции (плагина, скрипта, программы). Естественно, сперва был применён гугл и всё, что положено. Так что, это, скорее, крик души с маленькой надеждой на солюшн.

    Ээ.. што?
     
  9. supkrovi

    supkrovi Знаток

    С нами с:
    28.02.2006
    Сообщения:
    208
    Симпатии:
    1
    Баллы:
    23
    Резать полигоны вручную. Либо изначально делать форму с учётом вырезов. Кстати, по-сути, так и получаестя, что его какбы нет (применительно к сложным объектам), так что тут и фантазировать не надо))
     
  10. maiden666

    maiden666 Знаток

    С нами с:
    06.04.2010
    Сообщения:
    3.094
    Симпатии:
    87
    Баллы:
    74
    давным-давно я прочитал правила работы с Булином, чтоб не глючил (и автор той статьи тоже проехался насчёт мозгов, только пожёстче)
    1. Обьекты должны иметь обьём (то есть абсолютно все нормали должны смотреть наружу)
    2. сетка обоих обьектов должна иметь сопоставимые размеры
    3. ... что-то ещё, не помню, но это основное

    кстати, любимый многими RayFire использует ProCutter и ProBoolean, и довольно таки безглючно, хотя там на выходе бывают сотни обьектов сложной формы
     
  11. Селена

    Селена Знаток

    С нами с:
    01.11.2011
    Сообщения:
    823
    Симпатии:
    12
    Баллы:
    21
    supkrovi, во-первых это не я сказал, во-вторых не понятно, почему такая неадекватная
    реакция? Я никого не считаю идиотами, тем более здесь присутствующих.
    Твой вопрос, кстати, совсем не однозначен, если ты его в такой форме хотел задать:
    есть ли плагин/скрипт/... еще какая-то примочка к MAX-у, которая позволяет
    ПОЛНОСТЬЮ избежать ручной доводки после применения boolean-операций, то
    ответ - нет. Или я ее не знаю. Упомянутый maiden666-м ProBoolean вещь очень
    хорошая, я им пользуюсь с того времени, как он появился, но на сложных поверхностях
    тоже доводить вручную приходится.
    Дополнение к правилам в п.10:
    3 - сетка обоих объектов должна быть достаточно плотной, чтобы избежать искажения
    формы полученного объекта в любой фронтальной плоскости
    4 - перед выполнением boolean-операций объектам желательно сделать Reset X-form
     
  12. Селена

    Селена Знаток

    С нами с:
    01.11.2011
    Сообщения:
    823
    Симпатии:
    12
    Баллы:
    21
    diwian diwian, забыл тебе ответить, гипотетически и практически, я действительно
    почти не пользуюсь boolean-операциями и вполне бы них обошелся вообще.
    Во-первых не люблю свернутые стеки объектов, особенно когда делаешь много
    вариантов и похожих объектов, во-вторых очень люблю то, что я называю
    "управляемая геометрия объекта". В MAX-е достаточно инструментов и приемов
    моделирования, чтобы в принципе обойтись без boolean-операций.
     
  13. maiden666

    maiden666 Знаток

    С нами с:
    06.04.2010
    Сообщения:
    3.094
    Симпатии:
    87
    Баллы:
    74
    тогда могу добавить САМОЕ ГЛАВНОЕ ПРАВИЛО - никаких косяков сетки! любая вырожденная или копланарная плоскость, неслитые точки и пр. убьют Булин
     
  14. diwian diwian

    diwian diwian Мастер

    С нами с:
    05.06.2010
    Сообщения:
    4.742
    Симпатии:
    74
    Баллы:
    83
    Ух!Становиться жарковато.Мне тоже что ли чего нибудь "вставить".Короче правило №:

    Х)Все объекты задействованные в булевских операциях должны быть из одной группы (либо "поли" либо "мешь" и т.д. и т.п.)таким образом уменьшается вероятность возникновения ошибок.

    Y)Перед вычитанием (проёмов к примеру) заготовки под них должны быть приаттачены между собой.Что бы выполнить операцию за один заход.
     
  15. maiden666

    maiden666 Знаток

    С нами с:
    06.04.2010
    Сообщения:
    3.094
    Симпатии:
    87
    Баллы:
    74
    пораскинул мозгами насчёт альтернативы - можно например в случае вычитания детачить полики обьекта В, попавшие внутрь обьекта А, аттачить к этому самому обьекту, одновременно вырезая CUTом и удаляя часть поверхности, перекрываемую обьектом В, но это получается как у Артемия Лебедева -" Долго, Дорого, Х..во"
     
  16. supkrovi

    supkrovi Знаток

    С нами с:
    28.02.2006
    Сообщения:
    208
    Симпатии:
    1
    Баллы:
    23
    Й)Это не всегда. Иной раз, наоборот, приходится раздеталировать вычитаемые объекты и булинить каждым последовательно, чтобы операция была проще для вычисления, иначе - висяк, глюки. Для вырезания проёмов - да, проще объединить.
    Они дополняют друг друга. Я сперва им пытаюсь (он удобнее), если не получается, тогда - стандартным.
     
  17. diwian diwian

    diwian diwian Мастер

    С нами с:
    05.06.2010
    Сообщения:
    4.742
    Симпатии:
    74
    Баллы:
    83
    Вся суть приаттачивания в том,что бы "булевскую" операцию провести за один раз .Как только какой либо объект в цепочке не так "встал"ошибки появляются в геометрической прогрессии. На крайний случай(что я бы посоветовал делать крайне редко) переконвертировать объекты с последующей проверкой.
     
  18. supkrovi

    supkrovi Знаток

    С нами с:
    28.02.2006
    Сообщения:
    208
    Симпатии:
    1
    Баллы:
    23
    Ещё вспомнил, что есть такой плаг - scalpelmax от cebas. Он режет просто плоскостью. Но режет что угодно и офигительно аккуратно, при этом умеет, по желанию пользователя, закрывать геометрию. Это, наверно, говорит о том, что всё-таки, теоретически, написать нормальный булин возможно. Потому как обычными средствами сложную геометрию далеко не всегда удаётся порезать даже боксом.
     
  19. supkrovi

    supkrovi Знаток

    С нами с:
    28.02.2006
    Сообщения:
    208
    Симпатии:
    1
    Баллы:
    23
    Это - да. Поэтому, приходится искать баланс.. экспериментировать каждый раз. Если не удаётся за раз - остаётся вырезать последовательно, останавливаясь на этапе, пока объект ещё удобоварим. Дальше - руками.
     
  20. diwian diwian

    diwian diwian Мастер

    С нами с:
    05.06.2010
    Сообщения:
    4.742
    Симпатии:
    74
    Баллы:
    83
    А что мешает(это к посту18) Slice Plane+Delete а потом Border +Cap.Проблема заключается если оба объекта не однородны в 3 плоскостях.Я уж не говорю если необходимо "откусить" из внутренней части трубы(к примеру).
     
Модераторы: He77ga, Артер

Поделиться этой страницей