описание   |   поддержка   |   cкачать


  Описание инструмента Chain Selection

    Зачем нужно?
    Как это работает?
    Настройки


  Описание инструмента Selection Conversion

    Зачем нужно?
    Как это работает?
    Кнопки и галочки


  Пример совместного использования Chain Selection
  и Selection Conversion


  Инсталляция и запуск
  Замечания и пожелания
 


Advanced Poly v1.0 в текущей реализации содержит в себе два инструмента Chain Selection и Selection Converse взаимно дополняющие друг друга до большей гибкости при работе с различными типами выделений.
 

Описание инструмента Chain Selection

Зачем нужно?

Выделять ребра и полигоны цепочками и группами одним кликом.


А зачем?

Ребра очень удобны для работы над топологией модели. Часто, особенно в "культурно" сделанных моделях, ребра пролегают по основным линиям деления модели на смысловые части. И вот, когда модель почти готова, (но далеко еще не совсем), возникает ряд задач:

  • Поделить на разные части, чтобы назначить разные UVW координаты, материалы.
  • Сделать вдоль некоторых линий (цепочек ребер) фаски, например, чтобы после сглаживания переход здесь был «острее».
  • Сделать "экструзии" большого количества ребер.
  • Сделать щели.
  • Удалить, переделать ошибочные фаски.
  • Всякое разное…

Это что касается ребер, почти то же самое касается и полигонов (фейсов), плюс свои особенности.

Примеры:





Вот тут и нужно цепочечное(групповое) выделение ребер, когда 1 клик стоит сотни. Но, забегая вперед, - это далеко не все из возможностей инструмента Chain Selection.


Как это работает?

Смотрим на интерфейс инструмента Chain Selection:



Что в нем главное для работы? - Нажать кнопку PickEdge | Face.

В терминах самого инструмента это называется подсоединение(соnnection). Оно возможно к любому геометрическому объекту. А вот работать инструмент будет только если в текущий момент это объект типа Editable Poly (всегда такой, или только что преобразован к этому типу, или по текущему положению в стеке он таков... и т.п.).

При выделении другого объекта или снятии выделения с текущего инструмент отсоединяется автоматически.

Так же должен быть выбран режим Select Object на главной панели инструментов.



Далее выделяем ребра и фейсы (полигоны) в привычной нам манере, используя мышку и клавиши Control и Alt. С той лишь разницей, что выделятся и развыделятся они будут не по одному, а цепочками(группами).

Почему игнорируются режимы Select and Move, Select and Rotate, Select and Scale? - Потому что, это удобно и безопасно одновременно:
Переходя на режим отличный от Select Object удобно делать одиночные выделения, без "отжатия" кнопки Pick Edge|Face.
Кроме того, в AP на свой манер(об этом ниже) используется клавиша Shift, а при перемещении, ротации и маштабировании за ней закреплена функция клонировая.

Что главное для тех, кому лень разбираться с настройками? - Это кнопка Super. В этом случае мощь инструмента в попытке проложить выделение приобретает тотальный характер, однако в зависимости от того, выделяем ли мы ребра или фейсы, и самого алгоритма выделения - есть свои ньюансы, поэтому хотя бы бегло окинуть взглядом описание настроек - рекомендуется.

А если навыделяется всего лишнего? - Как обычно, размечаем ребро (или фейс) с клавишей Alt или без, развыделение, как и выделение будет происходить цепочками. Алгоритм распознает замкнутые контуры, сегменты, поперечный тип выделения (лесенкой).

Забегая вперед, отмечу, что клавиша Shift - изменяет (дополняет) характер любого действия, и снятие выделения с ребер - тому не исключение.

Имеем исходное выделение:



Команда снятия выделения, по обыкновению (без Shift-а), работает сегментами (цепочки, которые начинаются и кончаются в вертексах, где встречается более 2-х ребер или только одно, т.е. хвост. Например, на рисунке вариант [3] - это хвост, а вариант [2] - сегмент между вертексами, где встречается более 2-х ребер. Если мы сперва щелкнем по [3], то хвост исчезнет, а сегмент [2] станет уже длиной в пять ребер вместо двух). Щелкаем мышкой по ребру из сегмента [2] и развыделяется весь сегмент. Если при этом мы держали клавишу Shift - развыделяется вся связанная цепочка (варианты [2] и [2] на картинке результатов).
Точно также распознается и развыделятся поперечный тип выделения (вариант [4] на исходной картинке). Но, если была нажата клавиша Shift, то будут развыделены все подобные ребра, т.е. в нашем случае все "хвосты"
(вариант [3]), делается это кликом именно по "кончику" одного из них. Таким же образом можно развыделить все одиночные ребра: кликом по одному из них с Shift-ом.

Результаты:



Не забывайте о чудесном и стандартном свойстве клавиши Shift, практически, в Chain Selection нет такого режима работы, на который бы она не оказывала дополнительного действия.

Итого: - сквозь весь инструмент, логика такова:
Кнопка Super - усиливает действие.
Клавиша Shift - изменяет его.

Плюс: хотя описание в основном каcается ребер, все сказанное распространяется и на фейсы, за исключением специально оговоренных случаев, как тут:
Алгоритм развыделения фейсов честно пытается сохранять логику развыделения, такую же как у ребер. Но меняет логику, когда получается определить "специфичный" для фейсов смысл.
Например:



Есть выделение [1]. Можно развыделить "линию" из фейсов одним кликом -[2]. Можно развыделить все "линии" ("хвосты"), если кликнуть по "концу" одной из них с Shift-ом - [3]. Можно развыделить всю группу, опять же с Shift-ом. Но, когда мы кликнем в центр выделения [3], результат будет - [4]. Т.е. такой, который, вероятно, полезен (чтобы развыделить целиком, уместно будет кликнуть по одному из крайних фейсов выделенной группы, а если кликнуть в центр - то алгоритм предположит, что мы хотим "дырку в бублике").
В остальном возможны не всегда ожидаемые результаты, так как для фейсов желание пользователя гораздо менее предсказуемая вешь, чем для ребер. Поэтому в отношении фейсов надо скорее помнить логику инструмента, чем уповать на его интуитивносить.


Настройки:

Очень полезно этот пункт читать до конца (или сразу с конца), там будет описание сверхполезной кнопки Step. Но главное, там есть описание режима Change action, который не только очень полезн в работе, но и на порядок облегчает понимание настроек AP.

Как уже было написано, оборотная сторона кнопки Super - тотальность. При тех или иных особенных требованиях (количество ребер или фейсов, направление, порог остановки выделения и т.д.) придется пользоваться настройками.

Итак, надо ли выделять ребра (эджи) или грани (фейсы, полигоны) - есть три метода (алгоритма) выделения - Diff | Simp | Siml, что в переводе с интерфейсно-укороченного звучит как:

Difference - Разностный алгоритм;

Simple - "Простой" алгоритм;

Similar - Алгоритм выделения подобных подобъектов (ребер, фейсов).

Сразу посмотрим на рисунки:


Рис.1                             Рис.2

Метод Simple по действию - более умный аналог команды Loop, он "ходит" через точки, где встречаются 4 ребра или 2. Очень удобен на аккуратных (из 4-х угольных граней), условно-низкополигональных (предназначенных для сглаживания) моделях. Но он, например, не способен пройти через полюс шара, как это делает метод Difference (рис.1 цепочка [4]). Метод Difference идет, выбирая ребра с наименьшим отклонением по направлению. Поэтому он, например, не способен (как бы, на самом деле… см. ниже) преодолеть 90-то градусный барьер на ребре куба (рис.2 цепочка [1]). А метод Simple легко это делает (рис.2 цепочка [2]), но тут же упирается в любое место, где топология сложнее, чем 4 ребра в точку.

Diff - это пороговое значени. При отклонении следующего ребра от предыдущего, меньше значения Diff, алгоритм Difference продолжает выбирать ребро за ребром. Логично думать, что если значение его будет более 0.5, то выделение пойдет и через 90-градусное ребро куба (см. опять рис.2 цепочка [1]). Но, на самом деле, при установке значения порога более 0.5 происходит кое-что еще.



Восклицательный знак заменивший в надписи Diff букву i сигнализирует, что при таком пороге произошла смена алгоритма, он перестал различать углы в модели, теперь он видит (производит выбор направления) только в плоскости сетки модели. И то и другое по своему удобно в зависимости от задачи выделения. Если вам нужно, чтобы выделение цепочки останавливалось на острых углах объекта, тогда пользуйтесь значениями меньше 0.5, иначе - значениями больше 0.5.

Всегда ли выделение будет точным? - да, кроме совершенно двойственных случаев, т.е. когда, например, из одного вертекса смотрят два ребра точно под одним и тем же углом, к ребру входящему в вертекс.

Для метода Difference в режиме Super параметр Diff недоступен для настойки (его значение в этом режиме внутри программы = 1), так как этот "Super-турбонаддув" - есть комбинация обоих методов, Difference и Simple, для повышенной проходимости. Но не стоит думать, что для обоих методов Super работает одинаково, нет, в одном случае как преимущественный алгоритм использует - Difference, в другом - Simple, и где-нибудь - это может сыграть свою роль.

Забегая вперед, оговорюсь, что при выбранном методе Similar, параметр Diff всегда доступен для настройки. Данный метод вообще стоит особняком и подробно будет описан ниже.

Обратим внимание на наличие кнопки (режима) ||= shift.



Видим, что работает этот режим (а в этой рамке у нас именно режимы) только для методов Diffence и Simple и еще раз отметим, что интерфейс сам закрывает неактуальные настройки для выбранных режимов (алгоритмов).

Так вот, режим ||= shift переключает цепочечный способ выделение ребер (в Max-е похожее - Loop), на поперечный способ (в Max-е - Ring).



Сочетание режима ||= shift и нажатой кнопки Super дает такой эффект:



Т.е. поперечное выделение с автоматическим его продлеванием. На густо-полигональной модели эта операция может затянуться на несколько секунд.

А что же фэйсы?, ведь в их случае невозможно автоматом определить необходимое выделение - вдоль, или поперек? Вот тут опять помогает режим ||= shift. И кстати, не зря он называется shift, нажатие клавиши Shift обладает тем же действием (в том числе меняет действие режима ||= shift - на обратное, т.е. бездействие).

И еще одна особенность: если кликнуть по фейсу с числом ребер отличным от четырех, то выделение из такого фейса пойдет не вдоль, и не поперек, а во все стороны.

Для сферы, например, у которой фейсы вокруг полюса треугольные (при клике по одному из них) - это будет выглядеть так:



faces diff - этот режим заставляет алгоритмы (Difference или Simple) при преодолении углов модели руководствоваться порогом Diff.



Что и наблюдаем, в режиме faces diff, при пороге Diff = 0.15 выделение не смогло преодолеть ребро куба. Опять же, это бывает удобно. Если режим faces diff не активирован, то метод Simple не использует настройку Diff, а метод Difference использует ее только в плоскости сетки объекта.

Режим convex control описан ниже, при разборе метода Similar, а затем - режим Change action.

Еще пример отличия Difference от Simple на примере выделения фейсов:



В отличии от Simple, Difference может и то, что на правой картинке. Т.е. та же логика, что и с ребрами: Difference предназначен для случаев, когда надо прокладывать выделение сквозь не только 4-х угольные фейсы.

И наконец, параметры, ждавшие своего описания - простые и часто необходимые в работе:



Across - активация этой галочки, ведет к тому, что, например, выделение в цепочках [2] и [4] пробирается сквозь уже выделенные ребра, в отличии от цепочек [1] и [3]. Т.е. Across - значит "ходить" сквозь уже существующие выделения.



дополнительная галочка EF звучит фактически как Across EF, и значит тоже самое, что и Across, только применительно к ребрам (E) относительно фейсов (F) и наоборот, т.е. если эта галочка стоит (а по умолчанию это так), то выделения ребер "ходят" через выделения фейсов, а выделения фейсов "ходят" через выделения ребер.



В общем случае эта галочка предназначенна для удобного ограничения области работы с выделениями на объекте (выделнием граней ограничиваем области для выделения ребрами и наоборот). А в частности, сброс галочки EF очень удобен при назначении различных материалов и маппингов различным частям объекта.



Как это делается?
Сперва объект "делится" выделениями ребер (см. рис. слева) на смысловые сегменты. Затем переходим к выделениям фейсов. Забегая вперед скажу, что при настройках (см. рис. по центру): метод выделения Siml, а значении порога Diff = 1 (так он вообще отключается) выделение фейсов происходит просто как поступательная закраска всех доступных. НО:
Если галочка Across сброшена, то такое выделение останавливается на границе других выделений.
Eсли галочка EF сброшена, то такое выделение останавливается на границе выделений другого уровня, т.е. на границе выделенных ребер, если выделяем фейсы (см. рис. справа), и на границе выделенных фейсов, если выделяем ребра. Все.

Forw | Back | FB - расстановка "колобка" определяет куда будет идти выделение от кликнутого ребра(фейса) - вперед(это, конечно, относительно), назад, в обе стороны.

Count (0..много) - количество выделяемых ребер, 0 - аналогичен бесконечности

Dots (0..много) - значение отличное от 0 делает цепочки выделения пунктирными, с расстоянием между выделенными элементами равным значению этого параметра. Например для значения 1, результат выделения будет такой (для фейсов и для ребер):



Про методы Difference и Simple - это все.

Итого: Метод Simple - проще и быстрее, в некоторых случаях более адекватный. Метод Difference - мощнее и гибче одновременно, ведет выделение, не взирая на число-угольность фейсов (граней, полигонов), но более медленный (хотя, на большинстве моделей, это вряд ли проявит себя явным образом). А кнопка Super - позволяет использовать достоинства обоих, без их недостатков (для фейсов рекомендую Super+Simple).



Итак, метод Similar:

Это метод выделения подобных подъобъектов (будь то фейсы или ребра).

А параметр Diff для него - задает "жесткость" отбора.

Как это выглядит на практике?
Есть, к примеру, вот такой объект:



И надо нам выделить у него все острые ребра (чтоб, например, сделать фаску) - действуем так:

Переключаемся на метод Similar:



И кликаем по одному из этих ребер:



Вот они все, те, которые сверху. Вниз выделение не перекинулось, потому, что нет ни одного "мостика" туда в виде острого ребра. Для того, чтобы выделить нижнюю часть, кликнем с Control-ом по одному из нижних.

Но, как часто бывает, есть еще один путь: можно выделить одним кликом сразу все острые ребра объекта. Путь этот лежит через клавишу Shift
При выбраном алгоритме Similar, Shift (клавиатурный, а не режим ||=shift) служит для выделения всех ребер(фейсов) объекта подобных тому, по которому мы кликнули мышкой.

Вернемся и посмотрим внимательно на наше выделение. Выделелись как выпуклые ребра, так и вогнутые. Это бывает удобно - выделять ребра сразу обоих типов.

А что, если нужно выделить только выпуклые(вогнутые)? - Вот для этого и служит режим convex control, алгоритм начинает "видеть" отличие между ними. Активируем convex control:



И выделяем, например, вогнутые ребра, кликом по одному из них:



Если кажутся лишними два маленьких хвостика (а они тоже вогнутые, поэтому и выделились):



вспомните опять про клавишу Shift, сколько бы их (в данном случает хвостиков) не было в объекте, все исчезнут, если по одному из них шелкнуть с Shift-ом.

А что будет если кликнуть по ребру "тупому"? - Так Similar-у все равно какое оно, он выделяет подобные, вот так:



Ума не приложу, зачем именно такое выделение ребер может понадобится... Но! Зато оно хорошо иллюстрирует - чем метод выделения Similar так кардинально отличается от методов Difference и Simple? - Тем, что он - для выделения группами, а они - для выделения цепочками.

Еще, в рамках алгоритма Similar, пришло время небольшого исключения для кнопки Super. Она не усиливает его действие, а тоже меняет, как и клавиша Shift. Активация Super приводит к тому, что попадание в рамки Diff считается не от первого выделенного ребра, а от каждого текущего, прошедшего отбор. Это значит, что если "хребет" плавно переходит в "долину", то выделение, начавшееся с ребра на "хребте", спустится в "долину", выделит ее всю, поднимется обратно по пологим склонам "хребта", не очерчивая только резкие "овраги" и "горки".



Переходим к фейсам, для них в рамках метода Similar есть свои и очень свои особенности.

Имеем, к примеру, такой объект:



Для него, результаты выделений могут быть такие:



Действие режима "convex control" (напоминаю, что он включает распознование выпуклости-вогнутости) для фейсов не так однозначно, как для ребер (однозначное определение выпуклости-вогнутости фейса - часто относительно и зависит от того к какой группе мы сами относим тот или иной фейс). Поэтому режим "convex control" для фейсов работает условно-правильно и условие это таково:
если клик мыши был по фейсу выпуклому (по оценке алгоритма), то расширяясь, выделение останавливается на вогнутых ребрах (или по порогу - Diff - конечно). Если же по фейсу вогнутому, то остановка происходит на выпуклых ребрах.

Например, клик по фейсу из вогнутой группы фейсов наверху сферы ведет к ожидаемому результату:



А вот клик ниже...



Визуально такой результат выглядит неправильно, - он правилен условно: клик был по выпуклому фейсу и последние ребра, через которые "перевалило" выделение были выпуклые.

Таким образом, при выделении фейсов, режим convex control для тех, кто запомнит особенность его работы и потому будет применять эффективно.

Почему для фейсов "convex control" не сделан работающим с "любой стороны" визуально правильно? - Потому, что, как мы уже знаем, однозначный алгорит тут невозможен. Но это мелочи, важнее то, что алгоритм, наиболее правильно отрабатывающий большинство таких ситуаций, будет слишком медлителен. На практике же, в большинстве случаев, для достижения нужного результат необходимо просто "покрутить" значение Diff, в нашем случае - уменьшить до 0.1 (и, конечно отключить convex control).
Результат:



Как и в случае с алгоритмами Difference и Simple, выделение при Similar тоже останавливается на границе уже сделанных выделений, к примеру таких:



И поэтому идеально подходит для "закраски" выделением уже обозначенных областей, например:



Если необходимо именно такого рода действие ("закраска" обозначенных пространств) - выставите значение Diff в 1. Работа алгоритма ускорится (и причиной остановки будут служить только границы существующих выделений).

Только не забывайте, что при активированном Across-е уже существующие выделения игнорируются, т.е. в данном случае выделение "закрасило" бы все фейсы.



Клавиша Shift для метода Similar распространяет действие команды выделения на весь объект в целом. Удобно рассмотреть это на объекте следущего типа:



Клик по внешнему фейсу любого из выступов приводит к выделению всех внешних фейсов всех выступов:



Но не затрагивает одиночный выступ и верхнюю и нижнюю "крышки" объекта. Потому, что в них нет ни одного фейса, аналогичного тому, по которому был совершен клик мышки. На густо-полигональной модели эта операция может занять весьма заметный отрезок времени.

Клик по любому из фейсов верхней "крышки" выделит и нижнюю "крышку" целиком, но не затронет больше ничего в объекте:



Не забывайте, что параметр Diff при любых раскладах оказывает влияние на работу метода Similar.



Кнопка Super для метода Similar при выделении фейсов работает совсем не так, как при выделении ребер. Если для ребер она расширяет правила отбора, то для Similar наоборот - ужесточает.

Кто-нибудь внимательный заметит, что, строго говоря, - не совсем подобные фейсы выделяет метод Similar. Так и есть: правила отбора фейсов намеренно расширены, чтобы получался вероятно наиболее полезный результат. Если же необходимо выделение строго идентичных фейсов (не строже, чем определено параметром Diff) - надо нажать кнопку Super.

Прямо скажем, понадобится это может только в каких-нибудь очень особенных случаях. Для рассматриваемого объекта это, например, выделение всех фейсов "зажатых" между выступами. Нажимаем в AP кнопку Super и удерживая клавишу Shift кликаем мышью по одному из таких фейсов:



А без кнопки Super, да и без Shift, будет вот так:



просто, понятно и полезно.



Режим Change action.
Активация этого режима приводит к тому, что результат последней операции (если это было выделение), "отзывается" на изменение любых настроек в AP.

Например, последним действием было выделение - горизонтальная цепочка из фейсов:



Активируем режим Change action:



Изменим значение Dots c 0 на 1 и активируем режим ||=shift, после каждого из этих действий последнее выделение поменяет свой вид на соответствующий измененному параметру и в итоге станет выглядеть так:



Т.е. фактически это "передел" последнего действия, и выполняется он настолько быстро, насколько скоро соответствующее действие выполняется обычным образом (поэтому иногда надо терпеливо ждать результата после изменения какого-либо параметра).

Пользоваться режимом Change action надо "не отходя от кассы" (сразу после самого действия). Операции типа Undo, перемещения по стеку, выделение другого объекта и возврат к этому и т.п. - "стирают" последнее действие и менять его уже невозможно.



Напоследок: Если у вас выделяется все подряд, или не выделяется вообще, или как-то совсем не так..., куда бы вы не кликнули - и все равно "не то". Т.е. вам кажется, что инструмент ведет себя неадекватно...

Самые распространенные ошибки настройки таковы:

  • Выбран не соответствующий задаче алгоритм выделения.
  • Неверен выбор режима при правильном выборе алгоритма.
  • Слишком велико значение порога Diff (например, его значения более 0.15 для алгоритма Similar вообще будут полезны чрезвычайно редко).
  • Избыточно применение кнопки Super.
  • Неадекватное задаче наличие галочки Across.
  • Выбран режим выделения отличный от Select Object.
  • Объект в данный момент не Editable Poly (не преобразован к нему, или положение в стеке не то).


Теперь о кнопке Step.
Это самый элементарный способ прокладывать выделение - пошаговый:



После активации кнопки Step первый клик стартовый. Далее клики (обозначенные оранжевым цветом) по ребрам следуют так, чтобы алгоритму было вполне очевидно, как прокладывать выделение. Клавишу Control - как и полагается, при добавлении выделения, - надо удерживать. Если этого не делать - то выделенной будет всегда только последняя цепочка (от предыдущего клика до текущего).

Начать новую цепочку, можно "отжав-нажав" кнопку Step.
Другой способ, быстрый, - делать это с клавишей Shift (не отпуская Control, если цель добавить новую цепочку).

Очевидно, что с клавишей Shift удобно выделять одиночные ребра, не выходя из режима Step.

Что произойдет, если кликнуть по ребру до которого алгоритм заведомо не сможет проложить выделение? - Ничего, кроме того, что это ребро автоматически станет началом для новой цепочки пошагового выделения.

A если алгоритм не может проложить выделение до выбранного подъобъекта - ребра или фейса? - Очень изредка "ошибки" возможны, особенно для фейсов с неполностью выпуклой границей из ребер. В остальных случаях причина ошибки - "неочевидность" пути. Тогда просто увеличьте "очевидность" ваших действий для того, чтобы алгоритм мог их распознавать уверенее.

Почему алгоритму позволено ошибаться? - Это компромисс. Либо безошибочность, либо интерактивность (малая задержка при исполнении команды). Для ребер ошибки практически исключены, для фейсов, очень редко, возможны (это вообще проблемный подъобъект для пошагового выделения, так как допускает много больше трактовок данной операции чем для ребер).

Можно еще обратить внимание, что при активации пошагового алгоритма практически все настройки закрываются:



Остается лишь возможность выбрать преимущественный алгоритм - Difference или Simple. При этом кнопка Super ни на что не влияет, так как соответствующий ей режим работы задействуется принудительно.



Рядом с кнопкой Step есть маленькая кнопочка r, нажмем ее:



Таким образом включается режим четырехугольного выделения. Он тоже пошаговый, только шагов всегда 2. Выглядит это так:



Кликаем 1, кликаем 2, видим результат. Клавишу Control, при этом, надо удерживать (при втором клике, и при первом тоже, если цель добавить выделение).

Этот режим дает правильный результат на сетке практически произвольной сложности. Естественно, при очень своеобразных взаимных конфигурациях полигонов, их своеобразной число-угольности, возможны настолько же своеобразные результаты.



Режимы Step и rStep удобны, самодостаточны, часто используемы. Поэтому доступны для самостоятельного размещения на ToolBar-е или вызова через HotKey-и. Т.е., для их работы совсем не обязательно вызывать окно AP. Если вы назначили клавиши для вызова, все равно рекомендую "вытащить" на ToolBar кнопки Step и rStep. Они всегда показывают "активирован данный режим или нет". Как и Chain Selection (а конкретно кнопка Pick Edge|Face) режимы Step и rStep будучи вызваны самостоятельно автоматически отключаются при выборе другого объекта, и не включаются если ни один из геометрических объектов не выбран.



подробно об организации способов вызова AP, Step, rStep можно прочитать в разделе инсталляция и запуск.



Что еще?

Статусная строка, в ней дается отчет об успешности операций, о причинах бездействия, количестве выделенных или развыделенных подобъектов.



Память на 3 пресета: - presets. Кликом на m - осуществляется запоминание всех текущих установок в данную ячейку. Кликом на s - установка настроек из этой ячейки. Последняя заполненная настройками ячейка подсвечивается.

Значения пресетов запоминаются вместе со сценой, т.е. если после открытия Max-а, но до начала работы с AP открыть файл сцены, то значения пресетов будут теже, что и при последнем сохранении данной сцены.

Каждый пресет можно активировать как режим выделения без открытия окна AP, так же как режимы Step Mode и RectStep Mode. См. выше и в разделе инсталляция и запуск.



Особенности работы с командами Undo и Redo

Команды Undo и Redo поддерживаются полностью во всех режимах, кроме Step и rStep. В них поддержка однократная (один уровень откатки).

Но есть общая особенность:
Если после нажатия Undo или Redo результат не проявляется "мгновенно" - просто подождите. При этом в статусной строке могут быть сообщения вроде Selection Process или DeSelection Process - это не важно. В итоге сообщения Undo Performed или Redo Performed сигнализируют о том, что операция завершена. (может для будущих версий Max-а ситуация изменится, пока же имеющиеся ограничения не позволяют совсем чистую обработку команд Undo и Redo)

Что касается режима Step, то после выполнения команд Undo или Redo более одного раза, цепочку надо продолжать начиная, т.е. с Shift-ом или перещелкнув кнопку Step.


 

Описание Selection Conversion


Зачем нужно?

Для преобразования одного типа выделения подъобьекта в другой тип, например точки в ребра.


А зачем? (в Max-е это и так есть…)

Стандартные конверсии выделения в 3DMax-e часто имеют результат мало пригодный для использования, в том числе из-за отсутствия возможности настройки, ведь часто преобразовать выделение одного подобъекта в другой можно двумя и более способами.


Как это работает?

Смотрим на интерфейс Selection Conversion



Жмем нужные кнопки и ставим нужные галочки.
Например, преобразование выделения вертексов в ребра:



Кнопки:

Названия их полностью соответствуют функциональности.


Галочки:

Reset Past – если она стоит, то предыдущее выделение элементов в подъобектном уровне, в который мы преобразовываем будет сброшено. Т.е. если, например, преобразовываем ребра в вертексы, то после нажатия кнопки Edge To Vertexes выделенными окажутся только те вертексы, которые мы и ожидали увидеть выделенными. Если же галочка сброшена, то мы увидим и другие, выделенные ранее, вертексы, если таковые были.

Edges To Face – левая галочка - выделять фейсы слева (это относительно) от выделенных ребер, правая галочка - выделять фейсы справа от выделенных ребер. Если обе галочки сброшены - это тоже самое, что обе поставлены.

Face To Edges – левая галочка – выделять продольные ребра фейсов, правая галочка – выделять поперечные ребра фейсов. Если обе галочки стоят – будут выделены все ребра выделенных фейсов. Если обе галочки сброшены – будет выделен периметр (бордюр) из ребер, выделенной области фейсов (см. последний рисунок, из следующих 4-х).

Например, преобразование выделения фейсов в продольное выделение ребер, возможно 4-мя способами (на картинках 3-и, какой 4-й, догадайтесь сами):




Часто это нужно, чтобы уничтожить ошибочные фаски, сократить количество фейсов вдоль какого-то направления и т.д. Все это достигается за счет коллапса определенных ребер (естественно, не стоит предполагать, что действие этой команды будет столь же интеллектуально при работе с фейсами, число вершин которых отличается от 4-х. Она их будет переводить в ребра целиком).

И пример преобразования к выделению фейсов(галочка справа) из ребер последней картинки:




 

Пример совместного использования Chain Selection
и Selection Conversion:




A) Хотим слить две эти цепочки ребер (коллапсировать фейсы между ними).
И хотя все можно все сделать 2-мя операциями (выделение поперечных ребер и их коллапс), мы намеренно, для обзора возможностей на простом примере, пойдем несколько другим путем :)

B) С помощью инструмента Chain Selection достаточно выделить одну из цепочек.

C) В инструменте Selection Converse жмем кнопку Edges To Faces с галочкой справа (а выделение произошло для фейсов слева – это потому, что «лево» и «право» - относительные параметры, смотря откуда смотреть, смотря как номера вершин в ребрах легли и т.д., но факт: галочки задают противоположные, относительно ребра, фейсы для выделения).

D) Там же жмем кнопку Faces To Edges с галочкой "="(выделять поперечные ребра).

E) Осталось нажать Collapse из стандартной панели Editable Poly (выделенной цепочки, как показано на последнем рисунке, конечно, не будет - это сделано тут, для наглядности: было - две, стало - одна).

Не забывайте, что есть возможность добавлять выделения, сбросив галочку Reset Past. Например: из поперечных ребер сделать цепочки по 2 и более ребра, чтобы за раз "скалапсировать", как в примере выше. Сделать такое выделения из более толстой (2 и более фейса в ширину) полоски выделенных фейсов не получится, так как алгоритму не очевидно где там продольные ребра, а где поперечные (они все становятся и такие и такие).
 

Инсталляция и запуск:


Инсталляция:

Со страницы закачки качаем AP. Версию для автоматической или ручной установки.

Если это автоматическая инсталляция, то просто запустите скачанный файл apoly.exe и введите путь к корневой директории 3DMax-а. В меню программ будет создана группа Advanced Poly v1.0 с ссылками на все дополнения к AP (файлы: Help, Faq, Online_Support, Uninstall).

Если это ручная инсталляция то распакуйте содержимое скачанного файла apoly.zip в корневую директорию 3DMax-а.



Запуск:

Вызвать (организовать удобный вызов) Advanced Poly можно многими способами. Для частого запуска наиболее удобны варианты 3 и 4. Итак:

1. В окошке команд (левый, нижний угол) или MAXScript Listener-ре набрать IgoTM_APoly(), ввод.
(ранее эта функция называлась короче и удобней - APoly(), но слишком "малая уникальность" такого имени могла привести к багам из-за конфликтов с другими скриптовыми инструментами).

2. В Utilites->MaxScript->, перевыбрать в выкидушке «Advanced Poly v1.0» - появится кнопка «Run», нажать.

3. В Customize User Interface -> Keyboard, в категории IgoTM выбрать Advanced Poly и назначить ему удобные клавиши для вызова.

4. В Customize User Interface -> Toolbars, в категории IgoTM выбрать Advanced Poly и перетащить его на удобное место, в удобный по смыслу ToolBar.



При вызове появляется плавающее окошко «Advanced Poly v1.0», закрывать его можно безбоязненно, при повторном вызове - настройки будут те же, что и до закрытия.

Аналогично пунктам 3. и 4. можно организовать вызовы режимов:
Step иначе "AP - Step Mode", rStep иначе "AP - RectStep Mode" и
Preset1,2,3 Action
Они будут функционировать без вызова (и ним тоже) окна AP. Подробнее о самих режимах и причинах возможности их отдельного вызова можно прочитать здесь.



Как удалить?

Если это была автоматическая инсталляция. То из меню меню программ выберите группу Advanced Poly v1.0 и в ней пункт AP_Uninstall. Все.

Если это была ручная инсталляция. То удалите вручную следующие файлы:

..MaxRoot..\plugins\APoly.ms

..MaxRoot..\Ui\Macroscripts\IgoTM-AP.mcr

..MaxRoot..\Ui\Icons\igotmAP_xxx.bmp - т.е. все файлы, что начинаются на igotmAP, их 6-ть.



Зачем вообще нужна ручная установка?

Если у Вас в системе несколько версий 3DMax-а и вы хотите установить AP в каждую из них, то гораздо удобнее и корректнее воспользоваться ручной установкой.
 

Замечания и пожелания:


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