Airbus A350-900
3d award

Простенький аналог HardMesh, Mesh Fusion или Flux (Houdini) в Blender - Страница 1

Online|Offline iluska 0.0 25.6 14 июля в 19:38 #2

Аватар iluska
Всем привет. Буду выкладывать прогресс разработки сюда.
Описание функций:

Show wire — Показывает и скрывает сетку
Change Boolean Operation — позволяет менять булевы операции (Union, Difference, Intersect и Slice)
Change subdivide — если объекты имеют Subsurf, то их можно изменять (для каждого по отдельности). Берется последний модификатор Subsurf
Simplify — упрощает место пересечения
Subdivide Patch — подразделяет место пересечения
Relax — сглаживает место пересечения
Cut radius — радиус Bevel';а
Sides of circle — количество граней у кривой (по разному режется объект)
Fix Curve Twist — должен исправлять перекручиване кривой (не всегда работает)
Mean Tilt — поворот кривой (по разному режется объект)
Twist Mode — режим поворота кривой.
Prewiew Curve — пред просмотр кривой, до разреза. (в бедующем для variable fillet). Сейчас можно проверять самопересечение кривой.
Path Operation — (по разному режется объект). Union лучше отрабатывает.
Fillet Profile — профиль Bevel';;;;;;;а (лучше изменять из модификатора)
Fillet Segments — кол-во сегментов Bevel';;;;;;;а (лучше изменять из модификатора)
Smooth — еще настройка для исправления перекручивания кривой.
Split Ngon — триангуляция NGon
Method — метод триангуляции.
Fix Bevel — удаляет мешающие ребра (исправляет bevel)
Sharp — Использовать, если есть острые грани на пересечении
Remove Vertex -Удаляет вершины на заданном растоянии друг от друга.
Interpolation — relax interpolation
Smooth Bevel — Сглаживает Bevel и ближайшие вершины.
Use material — автоматическое назначения разных материалов на исходный объект, bevel, и результат boolean';;а.
Stop calculation — останавливает выполнение скрипта, для более быстрых изменений настроек
Create bevel — Создавать модификатор Bevel или нет
Remove Objects — Удаляет все дополнительные объекты (curves и guides) созданные add-on';ом
Apply Modifiers — Применяет все модификаторы или созданные add';ом на выделенных объектах
Remove Modifiers — Удаляет все модификаторы или созданные add';ом на выделенных объектах
Custom Normals — Пользовательские нормали (дл хороших отражений)

Для Variable Radius:
  1. В Add-on';е нужно выбрать Preview Curve.
  2. Затем нужно зайти в режим редактирования кривой.
  3. Произвести нужные действия. Допустим выбрать точку и в пропорциональном редактировании и поменять её radius (Alt+S).
  4. Выйти из режима редактирования
  5. Нажать Custom Bevel и все.

Для Bevel';а на выделенных ребрах:
  1. Войти в режим редактирования
  2. Выделить нужные ребра (замкнутые)
  3. Нажать Custom Edge
  4. Выделить объект и нажать Bevel


Анализ кривизны:

Как использовать :
1. Использовать BoolTool или Boolean. Но не применять.
2. Использовать add-on.

Скачать boolean_bevel

Online|Offline Martiner 28.5 189.5 14 июля в 21:04 #0

Аватар Martiner
Ну наконец-то! Очень интересно, буду следить! Уже хочу попробовать!

Рекомендую запостить на blenderartist.org, там стопудов помогут, и советом, и с кодом (только на ENG).

Online|Offline iluska 0.0 25.6 14 июля в 23:06 #1

Аватар iluska
Martiner, к сожалению мой английский очень плох. Я пока не знаю, как поведет себя мой алгоритм на сложных объектах, потому что он очень примитивен. Все это можно повторить вручную, только времени больше займет. Если хочешь могу расписать последовательность действий, что бы сделать это вручную. Правда присутствуют вот такие искажения на отражении (на красном matcap';е видно).

Спойлер

Online|Offline Martiner 28.5 189.5 15 июля в 10:43 #0

Аватар Martiner
iluska, да, распиши последовательность действий, протестирую :)
к сожалению мой английский очень плох.
если изъясняться простыми фразами, то достаточно гугл переводчика.

Online|Offline iluska 0.0 25.6 15 июля в 22:20 #1

Аватар iluska
Martiner, извиняюсь что долго не писал.

Последовательность действий (для тех кто хочет попробывать)


1. Применяем модификатор Boolean или Booltool.
2. Выделяем острые ребра и отделяем от объекта (separate).
3. Делаем relax (looptools делает лучше стандартного).
4. Конвертируем получившееся в кривую со следующими параметрами.

5. Ставим Mean Tilt на 45 и делаем небольшую фаску (без неё не всегда корректно проходит Boolean).
6. Делаем Union с параметром BMesh.
7. Выделяем выступающие ребра и создаем новую группу вершин.
8. Добавляем модификатор Shrinkwrap со следующими параметрами.
9. Применяем его и удаляем дубли вершин.
10. Добавляем модификатор Bevel (с Vertex Group) и CorrectiveSmooth
Ну и небольшой прогресс за сегодня.
Все выше перечисленные операции по нажатию одной кнопки.
Пока правда присутствует множество ошибок и недоработок.
Если кто-то думал, что будет что-то серьезнее, то извиняюсь, что разочаровал. Додумался, пока только до такой реализации.

Online|Offline Martiner 28.5 189.5 16 июля в 00:59 #0

Аватар Martiner
Martiner, извиняюсь что долго не писал.
каждый постит как может
попробовал, чтот ничего не получилось :) завтра еще попробую, утро вечера мудренее

Online|Offline iluska 0.0 25.6 16 июля в 11:30 #1

Аватар iluska
На данный момент автоматизировал последовательность действий. Но накосячил с выделением и ,при одинаковых настройках, скрипт выдает разный результат.

Результат выполнения скрипта


Online|Offline Martiner 28.5 189.5 16 июля в 13:42 #0

Аватар Martiner
Если я правильно понимаю, то скрипт в конце сглаживает всю модель, а не только фаски?
Можно ли применять такой метод (скрипт или вручную) для геометрии с меньшей плотностью сетки, чтоб сделать скругления только на нужных гранях?

Online|Offline iluska 0.0 25.6 16 июля в 15:06 #0

Аватар iluska
Martiner, Сглаживать можно все, фаску или небольшую область вокруг (Vertex Group). По поводу меньшей плотности сетки я пока не пробовал. Сейчас у меня не корректно отрабатывают некоторые этапы. Поэтому пока работает, только с объектами без острых граней. Уже есть идеи как исправить некоторые моменты. И еще больше идей, что попробовать реализовать. Сейчас у меня в коде каша, как и в голове. Сейчас пробую разгрести эту кашу и протестировать каждый этап по отдельности.

Online|Offline iluska 0.0 25.6 16 июля в 15:21 #1

Аватар iluska
для геометрии с меньшей плотностью сетки
Фаску он сделал, но она кривовата.

Спойлер


Online|Offline Martiner 28.5 189.5 16 июля в 18:53 #0

Аватар Martiner
Все выше перечисленные операции по нажатию одной кнопки.
Пока правда присутствует множество ошибок и недоработок.
В принципе, можно в работу скрипта вставить еще один параметр. На этапе создания кривой, добавить ей вершин W > Subdivide. Возможно это поможет справится с участками, где не достаточно вершин, для более плавной фаски (если такие проблемы есть).
Martiner, Сглаживать можно все, фаску или небольшую область вокруг (Vertex Group). По поводу меньшей плотности сетки я пока не пробовал. Сейчас у меня не корректно отрабатывают некоторые этапы. Поэтому пока работает, только с объектами без острых граней. Уже есть идеи как исправить некоторые моменты. И еще больше идей, что попробовать реализовать.
Однозначно продолжай!

Фаску он сделал, но она кривовата.
скорее всего там всеравно такой кривоватый результат будет, потому что у лоупольной геометрии не достаточно вершин, чтоб сделать фаску плавнее. А ширина разная потому, что угол между двумя геометриями разный.

Online|Offline iluska 0.0 25.6 16 июля в 19:19 #0

Аватар iluska
В принципе, можно в работу скрипта вставить еще один параметр. На этапе создания кривой, добавить ей вершин W > Subdivide. Возможно это поможет справится с участками, где не достаточно вершин, для более плавной фаски (если такие проблемы есть).
Хорошая идея. Попробую.

Online|Offline Martiner 28.5 189.5 18 июля в 12:50 #0

Аватар Martiner
Что-то я пытаюсь воспроизвести порядок действий и у меня ничего не получается, не получается сглаженный результат в конце

Online|Offline iluska 0.0 25.6 18 июля в 16:55 #1

Аватар iluska
Martiner,С острыми углами такой метод не работает. Добавь небольшой скос (на двух объектах).


Online|Offline Martiner 28.5 189.5 18 июля в 17:39 #0

Аватар Martiner
С острыми углами такой метод не работает. Добавь небольшой скос (на двух объектах).
Блин, это наверное совсем наглость, но не мог бы ты запилить видео? :) просто видео, без звука и объяснений будет достаточно.
Мне кажется, что я упускаю какой-нибудь важный момент.

Online|Offline iluska 0.0 25.6 18 июля в 19:57 #0

Аватар iluska
Martiner, сейчас многое доработал, переделал полностью способ выделения нужных вершин. Теперь скрипт работает с плоскостями. Объект которым режут, может быть обычным plane'ом, модификатор bevel после применения остается, и можно менять параметры, правда в меньшую сторону. На каждую фаску, свой bevel. Но, если фаски должны пересекаться, то нужно применить bevel пересекающейся фаски до создание фаски, которая будет её пересекать.

Спойлер

Из ошибок, пока не понял, как бороться с треугольниками на пути bevel'а. Из-за них возникают такие артефакты.

Спойлер

Можно их убрать вручную или применить сглаживание на фаску.
По поводу видео. Я записал, как работает скрипт (но пока не знаю, куда выложить). В ближайшие дни, доделаю панель с настройками, в скрипте распределю всё по функциям и выложу тестовую версию.

P.S. Так и не понял, куда писать в blenderartists. Там есть ветка Released Scripts and Themes, где вроде выкладывают готовые скрипты и ветка Python Support, где вроде ищут помощи в написании.
P.P.S Записывать процесс немножко влом. Надеюсь не обидишься.

Спойлер

Online|Offline iluska 0.0 25.6 18 июля в 21:43 #0

Аватар iluska
Выложил небольшую демонстрацию.

Online|Offline Martiner 28.5 189.5 18 июля в 23:13 #0

Аватар Martiner
Из ошибок, пока не понял, как бороться с треугольниками на пути bevel';;;а. Из-за них возникают такие артефакты.
Подозреваю ,что с ними не получится бороться, так как бевел в блендере не доработан, даже на простой геометрии иногда творит "чудеса". Но попытаться стоит.

P.S. Так и не понял, куда писать в blenderartists. Там есть ветка Released Scripts and Themes, где вроде выкладывают готовые скрипты и ветка Python Support, где вроде ищут помощи в написании.
Скорее всего в Released Scripts and Themes, ты же планируешь опубликовать скрипт, и уже демонстрируешь результаты его работы, если ошибся веткой, то тему просто перенесут в нужную, просто предупреди в теме, что планируешь там опубликовать скрипт и тд.
На видео работа скрипта выглядит интересно :) Побыстрей бы потестить :)
п.с. на видео, последний булеан, там получилась маленькая фаска. Я так понимаю, чтобы сделать ее больше, нужно делать большее значение выдавливания кривой, тогда и бевелу будет место куда увеличиваться?
P.P.S Записывать процесс немножко влом. Надеюсь не обидишься.
Спасибо за картинки, процесс стал более понятен, буду пробовать :)

п.п.с кстати, а почему релакс, а не space? релакс немного деформирует кривую, а спейс не деформируе, только распределяет вершины на одинаковое расстояние.

Online|Offline Sarko83 0.0 0.0 19 июля в 08:43 #0

Аватар Sarko83
создай тут тему. Есть русскоязычные ребята, которые по инглишу шпрехают хорошо. Если помогут общаться им зачтется )) https://blenderartists.org/forum/forumdisplay.php?48-Released-Scripts-and-Themes

Online|Offline iluska 0.0 25.6 19 июля в 13:29 #0

Аватар iluska
Martiner,
п.с. на видео, последний булеан, там получилась маленькая фаска. Я так понимаю, чтобы сделать ее больше, нужно делать большее значение выдавливания кривой, тогда и бевелу будет место куда увеличиваться?
Там пересекаются эти грани и стоит Clamp Overlap.

Спойлер

Без него выглядит так.

Спойлер


п.п.с кстати, а почему релакс, а не space? релакс немного деформирует кривую, а спейс не деформируе, только распределяет вершины на одинаковое расстояние.
Не знаю почему. Но при использовании Space. Результаты всегда разные.
Что бы оставить сообщение вам необходимо войти или зарегистрироваться!

Форумещё

Блогиещё

Популярные урокиещё

Реклама

3dmir.ru - Вся компьютерная графика
      www.megastock.ru