Как стать автором
Обновить

Комментарии 24

Тесселяция очень уж вскольз упомянута, после разбиения полигона на части, что происходит с ним дальше, и по каким правилам это разбиение происходит?
В общем случае квадрата тесселяция — это разбиение противоположных отрезков пополам, как показано на рисунке. В результате из одного квадрата мы получаем четыре.
Дальше с полигонами может ничего и не происходить. Если внимательно посмотреть на третий рисунок сверху, там где «Сглаживание», то можно увидеть, что сверху грубая низко полигональная заготовка для ложки, какие иногда кладут в коробочки с сиропами. В первоначальном виде она мало чем напоминает ложку. После двух операций тесселяции и сглаживания получается то, что видно на рисунке внизу — модель уже напоминает ложечку. Смысл в том, что работать с большим кол-вом полигонов сложно и долго. В принципе, эту же ложечку можно получить и вручную, добавляя полигоны. Но работать с меньшем ко-вом полигонов легче и быстрее, это то же самое, что строить дом из блоков или кирпича — на второе уйдет намного больше времени. Тесселяция же делает рутинную работу за нас — увеличивает кол-во полигонов и, тем самым, приводит форму объекта ближе к оригиналу. Естественно, для этого низко полигональная модель должна обладать соответствующей формой.
НЛО прилетело и опубликовало эту надпись здесь
Думаю, стоит упомянуть, что это тесселяция с сглаживанием. Из острого угла 90 градусов мы после первой итерации получили угол приблизительно 135 градусов.
*из прямого угла
простите за занудство :)
Так точно! Очепятался. Спасибо.
Catmull-Clark Subdivision Surface, например
Не совсем понятно на кого ориентирована статья. Если честно, для хабра чуток слабовато(не в обиду) и весьма сумбурно.
Для профессионалов в ней ничего нет полезного, а для новичков она тоже не достаточно адаптирована, ибо сразу переключается все на полигоны, тесселяцию, а дальше — «галопом по европам»…
Если статья для людей кто вообще не понимает ничего в сабже, то введение в один абзац — это маловато, тем более лучше на какие-либо примеры опираться, пытаться аналогии проводить, а только потом уже плавно переходить на полигональную модель(к слову сказать, она тоже далеко не единственная), а лучше рассмотреть вообще принципы построения 3Д-моделей еще шире, затронув «по нарастающей» — модели на основе опорных сечений, параметрические, на основе NURBS-поверхностей, Triangle-Mesh как частный случай полигона, затронуть немного воксельную модель.
В общем, думаю, нужно определиться на кого рассчитана статья, исходя из этого уже решить с формой подачи информации и ступенями на которые это можно разбить, и только потом постить на хабр.
P.S. абсолютно не хочу кинуть камень в огород, просто попробуйте дать почитать статью в том виде как она сейчас человеку далекому от 3Д-графики, и потом спросить что он понял.
Спасибо за содержательный комментарий.
Да, я согласен, несколько сумбурно. Статья рассчитана на того, кто путает 3D графику и 3D телевизор, кто не имеет представление вообще о том, что такое 3D графика и почему именно 3D?
По поводу «галопом по европам» — не хотел перегружать статью терминами, способами, а лишь дать общее представление. Возможно, необходимо было более развернуто остановиться на способах моделирования. Думаю, это можно наверстать в будущем.
Тут не в терминах дело. Если статья вообще на начальный уровень — она тем более в них не нуждается.
Поверьте, при построении правильной цепи аналогий, можно ребенку объяснить общие принципы теории вероятности.

Году в 2001 была у меня толстенная книжка по 3ds max R3 серии «Библия пользователя», так вот 3Д начал интересоваться только благодаря действительно грамотной постепенной подаче информации(которая сопровождалась иллюстрациями о том что на каком этапе происходит). Может основную профессию я с 3Д в итоге и не связал, но это во многом помогло сформировать аналитический тип мышления и осталось на уровне хобби.

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

Как вариант последовательности статей:
1. Что такое вообще 3Д и чем оно отличается от «того 3Д» о котором пишут в кинотеатрах(только общие принципы, с парой изображений «стереоэффекта» против какой-либо пары изображений типа «вьюпорт-рендер»)
2. Принцип построения 3Д-моделей вообще(без использования слова «полигон», начать с системы координат, можно карандашные рисунки и построение перспективы на бумаге «до компьютеров», как люди ощущают реалистичность картинки, за счет чего получалось передавать объем, потом в провести аналогию с тем как какие-то объемные объекты люди склеивают из плоской бумаги)
3. Что такое текстура в общем смысле(показать фотографию реального объекта, например игрушечного солдатика из какого-либо варгейма, который пока не раскрашен, и после раскраски; виниловую наклейку на машине рассмотреть, нарисованный цветочек маркеорм на картонной коробке)

Ну и так далее. Теорию материалов можно на апельсиновой кожуре расписать, принцип 3Д-скульптинга на лепку из реальной глины или пластилина похож, и много чего еще, это пока что быстро в голову пришло.

Вот такой цикл статей хотелось бы видеть. Чтобы дать почитать, например, своему младшему брату или сестре, и сказать — «ну вот что такое 3Д, давай тебе 3ds max установим?»
Спасибо! Я суть уловил. Аналогии приводить я старался, но, наверно, вы правы, надо более углубленно подойти к введению в 3D графику с большим кол-вом примеров «на пальцах». Постараюсь поработать в этом направлении.
Вообще, больше напоминает текст копирайтера, который в попыхах собирал информацию из разных уголков интернета.

Сам увлекаюсь 3D, работаю в blender, поэтому хотелось бы видеть что-то другое. Либо совсем азы, либо что-то углубленное.
копипастера вы хотели сказать?
В самом начале я упомянул, что статья для тех, кто в глаза 3D редактор не видел, поэтому и попытался обобщить сведения в таком виде, чтобы человеку несведущему дать общее представление.
Хороший почин, но кое-где не хватает информации. Например, фраза «поверхности представляются в виде простых геометрических двумерных примитивов» дает весьма смутное представление о том, что же происходит на самом деле. Возможно, стоило бы упомянуть о такой вещи, как аппроксимация, и все стало бы понятнее. Также стоит, наверное, добавить иллюстрации, а местами и видео, поскольку многие вещи вы объяснили чисто на словах, и им не помешала бы наглядность.
Да, вы правы, видео не помешало бы. Как-то провтыкал. Спасибо!
Да хорошая статья :)

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

Количество плюсов и добавлений статьи в закладки тому подтверждение :)
Спасибо! Я таки действительно хотел как-то структурировать обобщенные знания, т.к. мне подобного в свое время не хватало.
Мне понравилось, жду от вас еще подобных статей.
Спасибо! Уже работаю над второй частью про 3D в играх. Постараюсь учесть замечания к данной статье.
Почему опять треугольники в полигонах и не слова про нормали — я сколько шишек об это набил, вот минимальный полигон 3 точки (такой стереотип у меня был) — но ведь еще есть и вектор нормали, это стоит раскрыть.
Даже как-то про нормали и не подумал. По умолчанию с нормалями все хорошо :) Наверно в следующих частях стоит упомянуть. Спасибо.
Про тесселяцию у вас написано только с точки зрения компьютерных игр.

Но если взять кино/мульфильмы, то там немного не так.
Там во всю используются сабдивы (не путать с описанным в статье меш смузом). Это как перевод из растровой графики в векторную — вокруг полигонов строятся кривые поверхности.

При этом если MentalRay все равно перед рендером должен конвертить сабдивы в полигоны, то тот же Renderman считает их напрямую, у него рендер не тесселирующий. То есть там достаточно повесить на полигональный объект аттрибут, что это объект «mtor subdiv» — и он на рендере будет гладенький, как бы близко мы не приближали к камере. Абсолютный аналог векторной графики.

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

Ну и в кинопроизводстве никто напрямую не использует модели, полученные из ZBrush там миллионы полигонов. И если на недеформируемой поверхности это только увеличит время просчета, то если это что-то типа кожи тролля, то его невозможно будет анимировать, да и как его привязать к скелету? Поэтому с модели ZBrush снимают карту дисплейсмента и накладывают на низкополигоналку во время рендера.
Спасибо за развернутый комментарий! В статье не ставилось цели описать все и вся, а лишь дать представление о наиболее распространенном полигональном моделировании.
А по поводу карт дисплейсмента, нормали и т.п. я собираюсь написать в следующей части посвященной 3D в играх.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории