Доброго времени суток, уважаемые форумчане. Прошу вашей помощи. Ситуация проста. Имеется модель здания, общей емкостью более полутора миллиона поликов, из скрина видно, что сетка мягко говоря нерациональна, хотелось бы ее упростить.. Пробовал Optimize и MultiRes, последний жмет до 5 %, но во-первых режет сетку там, где не надо, а во-вторых, корежит ее приводит в трудно-редактируемый вид.. Пришел к выводу, что ручками будет эффективнее и тут проблема. Пробовал и ребрами (cut) и вершинами (remove), в обоих случаях не могу понять закономерность: вроде бы выбираю группу соответствующих элементов, лежащих строго в одной плоскости, но при их удалении появляются непонятные стяжки. Объясните, у меня неверная логика геометрии, кривые руки или же кривая модель? Или же выбран неверный метод? Очень надеюсь на вашу помощь..
Судя по первому скрину, проблем вообще не должно возникнуть. А вот с последним совсем неясно, после удаления граней на поверхности образуются кирпичики или это текстура.
Выкладывай сцену, что бы подробно рассмотреть.
Есть 2 пути
1 - преобразуем в обж, закидываем в TOPOGUN, включаем привязку к вершинам референтного меша, тыкаем вершинами в углы и получаем сетку на сотню полигонов максимум
2 - если у вас макс 2011 - открываем инструменты Графит, переходим на закладку выделялка - выделяем LOOP рёбер и жмём кнопочку remove рёбер, не забывая удалить потом левые зависшие вершины
ГЫГЫ - а вообще сетка у вас и без того почти идеальная - ни одной снежинки ни затяжки, вообще - в чём там проблема???? а то я вам для сравнения настоящую кривую мерзкую пришлю 🙂 я б даже заморачиваться не стал с такой
Алексей1980, если можно, чуть подробнее, оригинальные названия на енглише, чтобы мог поискать потом..
Проблема в длительном времени рендеринга... и повышенной ресурсоемкости.
Север, я тебя расцелую!!!! честно не знал про Ctrl, блин сколько моделил, всегда сначала рёбра, потом вершины, даже скрипт написал простенький, а там всего лишь контрол+
читать и смотреть вам надо много, в яндекс видео забейте в поиск - там лучше покажут чем я объясню....
но реально такая сетка не должна тормозить - это у вас комп дохлый, сразу готовьтесь - для архитектурки надо чё то серьёзное, у меня коре квадра с 4 ядрами и 4 гигами - реально говорю - мало - тупит жутко, или учите композ, что ещё страшнее трёхмерки, по себе говорю 🙂))
Алексей1980честно не знал про Ctrl, блин сколько моделил, всегда сначала рёбра, потом вершины
Рад, что пригодилось ))
В хелпе (F1) очень подробно все расписано, в том числе про функции Editable Poly. Таких фишек там хватает - например, если создаешь полигон кнопкой Create, нажатие Backspace отменяет создание последней вершины, при этом процесс не прерывается. Хелп - очень полезное чтиво, усиленно рекомендую.
Держать контрол при ремуве, не слишком удобно. Нужно либо открывать квадроменю и там искать Ремув, либо и того хуже. Держа контрол, отрывать руку от мыши и жать Бакспейс.
Советую всем скачать скрипт «Remove components», установить его на удобную клавишу и нвслаждаться. http://www.scriptspot.com/3ds-max/scripts/remove-components
Хотя в квадроменю ремув есть смысл оставить, иногда нужно что бы после удаления ребер вертексы оставались.
Вот код скрипта:
macroScript remove category:"drFlashTools" tooltip:"Remove"
(
case (getSelectionLevel $) of
(
#Vertex: $.EditablePoly.Remove selLevel:#Vertex
#Edge:(
sel = #{}
edgesel = polyOp.getEdgeSelection $
vertsel = polyOp.getVertsUsingEdge $ edgesel
$.EditablePoly.Remove selLevel:#Edge
for i = 1 to vertsel.numberset do
if ($.GetVertexEdgeCount (vertsel as array)[i]) == 2 then sel = sel + #{(vertsel as array)[i]}
polyop.setVertSelection $ sel
$.EditablePoly.Remove selLevel:#Vertex
)
#Face:
(
sel = #{}
facesel = polyOp.getFaceSelection $
edgesel = polyOp.getEdgesUsingFace $ facesel
for i = 1 to edgesel.numberset do
if (((polyOp.getEdgeFaces $ (edgesel as array)[i]) as bitarray)*(facesel as bitarray)).numberset == 2 then sel= sel + #{(edgesel as array)[i]}
polyop.setEdgeSelection $ sel
$.EditablePoly.Remove selLevel:#Edge
)
)
)
Александр ЧернегаДержа контрол, отрывать руку от мыши и жать Бакспейс.
А это еще зачем? В максе вся работа завязана на режимах, бекспейс - это отмена последнего действия без выхода из режима. Remove - это просто команда, а не режим.
Второй скрипт использованный в видео выдран из сборки VGScripts
Сайт автора - http://www.vg2max.spb.ru/download.html
(Рекомендую скачать весь пак (много интересного))
macroScript SelectBadVerts
category:"[b]Какую захотите[/b]"
(
(
for obj in selection do (
varr=#()
for i in obj.verts do (
arr=(PolyOp.getEdgesUsingVert obj #(i.index)) as array
if arr.count==2 do append varr i.index
)
polyOp.setVertSelection obj varr
)
)
)
Ну круто!! Прямо по полочкам все) Даже скрипт получилось завести с первого раза, хотя ранее этого не делал даже) Благодарю - буду пробывать! Жаль, машина виснет жутко, поле кнопки "ремов", я так понял, для повышения быстродействия плохие вершины лучше убивать уже после упрощения геометрии?
Всем спасибо, на время затихаю! Добрые люди не перевелись)
У меня так же, машина не монстр. При попытки ремувнуть очень большое количество эджей то же задумывается.
Есть смысл удалять «Плохие вершины» поэтапно. Если вычистишь сразу все модель и поле этого автоматом удалишь вершины, можешь не заметить случайно удаленное (несущие) ребро (как в видео, на 5-й минуте (инцидент с окном))
"С помощью кнопки Retriangulate (Произвести разбивку заново) автоматически просчитываются все внутренние ребра для выделенных подчиненных объектов" - это ее единственное назначение?
И еще, окно, на которое перенес кнопки скриптов пропадают после перезагрузки приложения, никак не могу найти, откуда можно вызвать ее заново?
1 По поводу кнопки Retriangulate – назначение единственное, но ЧЕРТОВСКИ крутое! (сам относительно недавно о ней узнал, раньше нарезал ребра)
2 Убедись что в Костомайз - Префэрэнс - стоит галочка Сохранять конфигурацию Ui после выхода (см. Рис.)
Завтра более подробно объясню из-за чего это происходит и в чем фишка (если ты поудобней настраиваешь квадроменю, переназначаешь горячие клавиши, и насыщаешь макс скриптами, то фишка достаточно существенная. Проявляется при переходе на другой комп или после переустановки Виндовс).
Очень странно!!!
В 2009 Undo работает на ура, и только что проверил в 2011 (х32, Windows 7)
У меня иногда так бывает (не знаю почему) В основном во время работы с PolyBoost в 2009, когда сильно намудрил, обнуляется весь список возможных отмен.
Но я уверен что это не из-за скрипта Remove!
Доступ к резюме доступен только по пакетному доступу HR менеджерам зарегистрированных компаний. Узнать о вариантах корпоративных пакетов можно по ссылке.
Sergey Shutov
Вложения
Александр Чернега
Выкладывай сцену, что бы подробно рассмотреть.
Алексей1980
1 - преобразуем в обж, закидываем в TOPOGUN, включаем привязку к вершинам референтного меша, тыкаем вершинами в углы и получаем сетку на сотню полигонов максимум
2 - если у вас макс 2011 - открываем инструменты Графит, переходим на закладку выделялка - выделяем LOOP рёбер и жмём кнопочку remove рёбер, не забывая удалить потом левые зависшие вершины
ГЫГЫ - а вообще сетка у вас и без того почти идеальная - ни одной снежинки ни затяжки, вообще - в чём там проблема???? а то я вам для сравнения настоящую кривую мерзкую пришлю 🙂 я б даже заморачиваться не стал с такой
Север
Sergey Shutov
Алексей1980, если можно, чуть подробнее, оригинальные названия на енглише, чтобы мог поискать потом..
Проблема в длительном времени рендеринга... и повышенной ресурсоемкости.
Север, спасибо за уточнение, очень полезно
Sergey Shutov
Можно ли оставить сетку в таком виде, не вылезет ли позже подводных камней?
Вложения
Алексей1980
Сергей, а это для вас:
http://www.youtube.com/watch?v=P3VTE5Ydp4o
http://3dyuriki.com/2009/03/23/bolee-sta-novyh-instrumentov-modelirovaniya-v-3ds-max-2010/
читать и смотреть вам надо много, в яндекс видео забейте в поиск - там лучше покажут чем я объясню....
но реально такая сетка не должна тормозить - это у вас комп дохлый, сразу готовьтесь - для архитектурки надо чё то серьёзное, у меня коре квадра с 4 ядрами и 4 гигами - реально говорю - мало - тупит жутко, или учите композ, что ещё страшнее трёхмерки, по себе говорю 🙂))
Sergey Shutov
камешек E6550, 2 гига оперативы - видео дохлое, планирую переходить на i7 870 + Quadro + 8 гб оперативы
Алексей1980 спасибо за ссылки
Север
В хелпе (F1) очень подробно все расписано, в том числе про функции Editable Poly. Таких фишек там хватает - например, если создаешь полигон кнопкой Create, нажатие Backspace отменяет создание последней вершины, при этом процесс не прерывается. Хелп - очень полезное чтиво, усиленно рекомендую.
Александр Чернега
Держать контрол при ремуве, не слишком удобно. Нужно либо открывать квадроменю и там искать Ремув, либо и того хуже. Держа контрол, отрывать руку от мыши и жать Бакспейс.
Советую всем скачать скрипт «Remove components», установить его на удобную клавишу и нвслаждаться. http://www.scriptspot.com/3ds-max/scripts/remove-components
Хотя в квадроменю ремув есть смысл оставить, иногда нужно что бы после удаления ребер вертексы оставались.
Вот код скрипта:
macroScript remove category:"drFlashTools" tooltip:"Remove" ( case (getSelectionLevel $) of ( #Vertex: $.EditablePoly.Remove selLevel:#Vertex #Edge:( sel = #{} edgesel = polyOp.getEdgeSelection $ vertsel = polyOp.getVertsUsingEdge $ edgesel $.EditablePoly.Remove selLevel:#Edge for i = 1 to vertsel.numberset do if ($.GetVertexEdgeCount (vertsel as array)[i]) == 2 then sel = sel + #{(vertsel as array)[i]} polyop.setVertSelection $ sel $.EditablePoly.Remove selLevel:#Vertex ) #Face: ( sel = #{} facesel = polyOp.getFaceSelection $ edgesel = polyOp.getEdgesUsingFace $ facesel for i = 1 to edgesel.numberset do if (((polyOp.getEdgeFaces $ (edgesel as array)[i]) as bitarray)*(facesel as bitarray)).numberset == 2 then sel= sel + #{(edgesel as array)[i]} polyop.setEdgeSelection $ sel $.EditablePoly.Remove selLevel:#Edge ) ) )Север
Александр Чернега
Александр Чернега
Второй скрипт использованный в видео выдран из сборки VGScripts
Сайт автора - http://www.vg2max.spb.ru/download.html
(Рекомендую скачать весь пак (много интересного))
Sergey Shutov
Всем спасибо, на время затихаю! Добрые люди не перевелись)
Александр Чернега
Есть смысл удалять «Плохие вершины» поэтапно. Если вычистишь сразу все модель и поле этого автоматом удалишь вершины, можешь не заметить случайно удаленное (несущие) ребро (как в видео, на 5-й минуте (инцидент с окном))
Sergey Shutov
"С помощью кнопки Retriangulate (Произвести разбивку заново) автоматически просчитываются все внутренние ребра для выделенных подчиненных объектов" - это ее единственное назначение?
И еще, окно, на которое перенес кнопки скриптов пропадают после перезагрузки приложения, никак не могу найти, откуда можно вызвать ее заново?
Александр Чернега
2 Убедись что в Костомайз - Префэрэнс - стоит галочка Сохранять конфигурацию Ui после выхода (см. Рис.)
Завтра более подробно объясню из-за чего это происходит и в чем фишка (если ты поудобней настраиваешь квадроменю, переназначаешь горячие клавиши, и насыщаешь макс скриптами, то фишка достаточно существенная. Проявляется при переходе на другой комп или после переустановки Виндовс).
Вложения
Sergey Shutov
Александр Чернега
В 2009 Undo работает на ура, и только что проверил в 2011 (х32, Windows 7)
У меня иногда так бывает (не знаю почему) В основном во время работы с PolyBoost в 2009, когда сильно намудрил, обнуляется весь список возможных отмен.
Но я уверен что это не из-за скрипта Remove!
Sergey Shutov