Мало кто из вас в жизни видел редактор, орудующий не полигонами, не NURBS-поверхностями, а
патчами Кунза.
Наиболее удачную, лаконичную и продуманную реализацию инструментария такой геометрии можно увидеть в 3D-пакете
Hash Animation:Master. А в данной теме мы погоняем клон этого инструментария — японскую энтузиастскую поделку hamaPatch:
http://www.lightning-generator.org/mirror/hamapatch.phpСплайны против полигоновДоктор Мартин Хэш, создатель Hash Animation:Master, любил сказать, что полигоны отстой и их надо всегда очень много, а будущее за сплайновыми патчами, которые зело экономичны. На возражения собеседников, защищавших полигоны, он неизменно отвечал, что мол вот я аж целый доктор, а вы спервадобейтесь. Между тем полигоны планомерно уступили место поверхностям подразделения, а на патчи Кунза всем всё так же насрать. Я не знаю, что нынче говорит на эту тему доктор, но вряд ли это кого-то интересует.
Сплайновое моделирование примечательно тем, что для создания поверхности нужно всего лишь склеивать точки на кривых. Решётка из сплайнов автоматически заливается патчами в тех местах, где получился замкнутый контур из трёх или четырёх сегментов. Вручную можно ещё при необходимости залить контур из пяти сегментов. Ну и есть способы управления плавностью патчей и сплайнов. Вот, собственно, и всё сплайновое моделирование.
То, что его можно объяснить в двух словах — несомненное его преимущество перед полигональным/субдивным. Только вот есть мнение, что оно же и единственное.
Подготовка к работеПервое, что может обескуражить — неадекватные хоткеи. Их надо перенастроить сразу же, чтобы больше об этом не вспоминать. Если хотите, вот вам мой файл хоткеёв: вставьте
вот это безобразие в нотепад и сохраните под именем
hama_shortcut.ini в папке с исполняемым файлом
hamapatch.exe. Можете брать не глядя — поверьте, это лучше, чем по дефолту.
Чтобы изучить или самостоятельно отредактировать хоткеи, зайдите в нетривиально расположенный пункт меню
Help | Edit Shortcut Key.
Ещё одно нетривиальное место доступа к настройкам — вкладка
etc. в правой панельке. Тамошние опции тоже могут оказаться вам нужными.
Построение моделиПрактикуемый в редакторе способ моделирования не изобилует инструментами. Более того, для наших задач не все из них и потребуются. Вот самые незаменимые (указаны хоткеи, настроенные у меня в инишнике):
Без названияЧтобы склеить точки, подтащите одну точку к другой и, не отпуская левую кнопку, кликните правой. Желательно следить за тем, как сплайны при склеивании разъезжаются на перекрёстках: дугами или крестиком. Патчи в этих случаях выглядят по-разному.
Add Point (A)Создаёт сплайн из двух точек. Первая остаётся в месте клика, вторую тащите мышкой. Можете приклеить её правой кнопкой к другой точке — обычно для этого данный инструмент и вызывают.
Knife (K)Разрезалка сплайнов с тремя режимами: не соединять новые точки; соединять только при наличии между ними патча; соединять с созданием патчей.
Translate (T)Двигает точки. Можно с манипулятором, можно без. Опять же постоянно используется в тандеме со склеивалкой «без названия». Этот же инструмент удобнее всего использовать в качестве универсального «режима выделения».
Delete Selected Points (Delete)Убирает со сплайнов выделенные точки. Сплайнов не разрывает.
Delete Selected Curve (Backspace)Удаляет выделенный сегмент, разрывая сплайн. Чтобы собственно выделить сегмент, выделите прилегающую вершину и перебирайте инструментом Select Curve (Tab), пока не дойдёте до нужного.
С этим набором инструментов уже вполне можно жить, остальные не составляют первой необходимости.
Имитация полигонального моделированияПо умолчанию геометрия в программе создаётся по правилам для патчей Кунза, что неудивительно. Однако в ней предусмотрен режим, при котором сплайновыми приёмами генерируется полигональная сетка, а при желании и привычная всем поверхность подразделения. Вот где находятся эти опции:

Удобство очевидно: мы не только можем делать обычные меши, но и имеем два разных способа интерполяции: патчами и старым добрым кэтмулл-кларком.
Вид по умолчанию:

Тупо полигоны:

Патчи, представленные полигонами:

Поверхность подразделения:

Да ещё и со сглаженными нормалями:
ЭкспортВ плане экспорта получите-ка щепоточку маразма. Экспорт вполне возможен, и он у нас будет в формат OBJ. Но в бета-версии 3.0 запись этого формата забагована, и для успешной конвертации придётся переоткрывать
.hmp-файл в более старой стабильной версии 2.9 и экспортировать. Рекомендую просто переименовать исполняемый файл старой версии в
hamaPatch-old.exe и подложить его в папку с версией 3.0 специально на этот случай (заодно избежите необходимости переносить настройки в папку старой версии). Чтобы получить просто полигоны, в диалоге экспорта выставьте
Subdivision в единицу.
Разумеется, можно и вовсе не пользоваться версией 3.0, однако только в ней есть описанное выше удобное представление модели в виде полигонов и пятиугольные патчи. Обе версии программы доступны на страничке по ссылке выше.
РезюмеБаловство, но весьма занятное. Может пригодиться тем, кто не переваривает бокс-моделирование. Наиболее применимо там, где требуются свободные формы, а точность не нужна (те же статуи для оригинальных воров).
Ну а у нас в Кунсткамере бесполезного говна и не выставляют, в общем-то. Только условно полезное.