Как исправить геометрию в 3д макс

Обновлено: 02.07.2024

Техники моделирования универсальны для всех пакетов. Всегда нужно стремиться к основным сеткам, это важное правило. Второе важное правило гласит, пока есть возможность задать размеры объекта при помощи параметров, нужно это делать. Не масштабируйте инструментом Scale параметрические объекты в целях достижения нужных размеров, размеры будут неточными. Если вы хотите настроить точность значений: MAX -> Options -> General -> Spinners: Precision, этот параметр отвечает за количество знаков после запятой.

В процессе работы постоянно требуется создание симметричных объектов, в 3ds max для этого используется модификатор Symmetry, в Maya это зеркальная instance-копия, в других пакетах это модификатор mirror или нечто похожее. Обычно у модификаторов есть параметры. Для 3ds max у модификатора Mirror функция Slice Along Mirror позволяет образовывать срезы или ребра вдоль плоскости. Функция Threshold позволяет регулировать расстояние, с которого начинается объединение вершин. И функция Weld Seam автоматически сваривает две половинки объекта в один на его вершине.

По умолчанию модификаторы, примененные к нескольким объектам, действуют относительно pivot point, который находится в середине между выбранными объектами. В стеке модификаторов есть чекбокс Use Pivot Point, если его отключить, то модификаторы будут назначены с учетом pivot point каждого объекта.
К сожалению, стек модификаторов не работает с Crease Weight (OpenSubdiv). CreaseWeight помогает навешивать веса на модель при сглаживании.

По инструментарию полезно знать, что Insent позволяет получить равномерный отступ со всех сторон, в отличии от extrude + масштаб. Чертовски популярный в Maya кольцевой разрез присутствует во всех современных пакетах (swifl loop (3ds max)/ indert Edge loop (Maya)/ loop cut (blender)).


правильный способ моделирования

Для разрезания сетки используется Cut в 3ds max, Multi-cut в Maya и Knife в Blender. Позволяет очень удобно резать сетку. Допустим, нам нужно врезать в модель сложную форму, берем инструмент для резки и вырезаем нужный контур. Далее дублируем защитную полосу полигонов с одинаковым количеством точек, можно добавить один уровень сглаживания для добавления более мелких элементов. Если же у вас задача разрезать объект, используйте инструмент Slice Plane и Quick Slice с галкой Split., предварительно выделив нужные полигоны

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

Кстати, о ретопологии, в Maya есть инструменты modelling toolkit, они офигенны. Полигональное моделирование это баланс между формой и топологией, четырехугольные и иногда треугольные и пятиугольные полигоны. При ретопологии круглые объекты делаются восьмиугольный, они идеально встают в сетку. Для упрощения сетки и пришивания тех же ног персонажам полезны Target weld (3ds max) или Merge Vertex tool (Maya) для склеивания вершин.

996696969

Chamfer / Bevel принято делать 1/2 для дальнейшего сглаживания или для совсем простенького геймдева, либо вы накручиваете десятки сегментов. Фаски удерживают форму от сглаживания. Но нельзя забывать, что для красивого рендера рекомендуются достаточно острые края.

Иногда возникает необходимость перемещения вершины вдоль ребра на котором она находится. В этом случае можно воспользоваться функционалом Constraints (ограничения), на свитке Edit Geometry полигонального объекта.

Многие группируют объекты, это удобно. Если хотите добавить объект к готовой группе, выделите его нажмите Group -> Attach. Щелкните на нужную группу, объект будет добавлен. Также вы можете работать с объектами группы без разгруппировки, нажиите Open и группа откроется. Аналогично, для закрытия группы нужно нажать Close. Кнопка Detach позволит убрать из группы объект. И кнопка Explode рагруппирует и группу, и подгруппы.

Два сплайна можно объединить с помощью convert to spline, далее в настройках одного сплайна выбираем Geometry -> Attach, и выбираем второй сплайн. Далее выбираем «spline», и в разделе Geomentry выбираем boolean.

57

Для быстрого добавления в сцену геометрии используйте скрипт Copitor. Текстуры не копирует (текстуры через абсолютные пути надо делать), но это гораздо более быстрый способ, чем работа с merde. Если после импорта геометрия себя странно ведет, нажмите кнопку Retriangulate в edit poly. Утерянные текстуры можно добавить с помощью Bitmap/Photometric Path Editor Utility. Чтобы каждый раз по отдельности не добавлять папки, можно указать корневую папку с текстурами для моделей в меню Customize -> Configure User Patch и отметить чекбокс Add Subpaths в окне добавления пути.

Сфера с правильной топологией: создаем куб, применяем модификатор TurboSmooth с нужным количеством уровней сглаживания, и докидываем модификатор Spherify. Вуаля, у нас идеальная сфера. А вот сделать идеальную кардиоиду труднее.

Если нажать на объекте правой кнопкой мыши и выбрать Select Similar, то будут выбраны все идентичные объекты в сцене. Short cut для этой функции Crtl+Q, либо Edit -> Select Similar. Это бывает очень полезно, когда вы забыли распределить на одном слое всякие однотипные заборчики в Manage Layers. При выборе учитываются материалы, если объектам с одинаковой геометрией назначены разные материалы, то эти объекты не будут учтены функцией Select Similar.

Есть такая дополнительная панелька как PolyBoost в старых версиях 3ds max, в новых версиях она встроена и называется Graphite Modeling Tools (Genome). Идем в Graphite Modeling tools -> Modeling -> Modify Selection -> Similar. Работает только на уровне подъобъектов, выбирает полигоны, точки и ребра по общим признакам.

Выделить только те полигоны, которые видны в камере: Graphite Modelling Tools. Selection->by view.

При создании интерьеров многие мучаются со стенами, отчаянно крутят камеру. Оптимальное решение проблемы: выделить внешние полигоны стенок и скрыть их (Hide Selected в Edit Geometry). Удалять полигоны нельзя, появятся баги при рендере. Соответственно, перед рендером необходимо сделать visible спрятанные полигоны. Еще нюанс по работе с камерой: для рендера камеру желательно ставить на 1650-1750 mm от пола, как на уровне глаз человека.

Все сталкиваются с проблемой лагов из за огромного количества геометрии в сцене. Вы можете ругать за это 3ds Max, или доделать работу, оптимизировав сцену. Про необходимость перегона моделей в Proxy (меньше кушается оперативки, больше нагрузка на видеокарту) знают все, но есть и другие способы оптимизировать скорость отрисовки сцены во вьюпорте. Очень важно сначала перевести объект в прокси, а лишь потом копировать. Еще полезно аттачить объекты друг к другу. Окна, заборы, однотипные элементы должны быть единой геометрией, и располагаться поближе к центру координат. Используйте Isolate Selection (Alt+Q), хотя прирост производительности будет небольшой, но это позволит изолировать маленький объект в большой сценеи комфортно с ним работать. Для того, чтобы скрыть всю геометрию используйте Shift+G, может помочь в совсем тяжелых случаях. Если у вас используются очень тяжеловесные модели с кучей полигонов, то выставьте галочку в свойствах «display as box». Достаточно редко вам нужны одновременно все четыре окна проекции, и разумно будет отключить неиспользуемые. Для этого служит кнопка «D» в активном окне проекции. И самое важное, X-Ref объекты память почти не грузят, не надо игнорировать эту замечательную возможность.

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

Чтобы поместить один объект на другой, используйте Select and Place.

Материалы:

Для создания студии: нажмите Alt+B в 3dmax (Viewport configuration -> Background) и выберите текстуру для референса. Она будет отображаться даже в режиме Clay.

HDRI карта для бликов очень важна, все осветить очень удобно с помощью dom light. Во вкладке texture создаем HDRI карту, и продолжаем работу в HDRI studio connectted через 3Dmax. Иногда приходилось делать отдельные HDRI на освещение,на рефшекшн,на глоси + скайдом на подсветку.

Для художественных рендеров требуется «состарить» предметы, в V-Ray этого легко добиться с помощью процедурной карты VrayDirt. Просто назначьте ее в диффуз. Интенсивность грязи/маски можно регулировать, если свопнуть цвета ocluded и unocluded. Также VrayDirt принято использовать для получения пасса Ambient Occlusion. При этом AO должен быть идеально белым в местах максимального освещения.


При запекании normal map лучше заменить turbosmooth на bevel всех границ, а для хорошего Hard-Surface всяких винтиков хорошей практикой является чуть сжать верхнюю часть выпуклой детали, как на картинке ниже.


В игровых движках normal map обычно 8 бит, что недостаточно для хорошего качества. Поэтому можно запечь в 32 бита и уменьшить битность с добавлением шума. Это позволяет избежать градиентых переходов, но подход годится только для больших текстур. Но если вы планируете вывод огромной секвенции кадров, и вы фрилансер с обычным компьютером, то 16 bit half-float скорее всего хватит. 8 бит точно не хватит. Если перед вами встанет выбор сохранения между 16-bit integer и 16-bit half-float, то у обоих будет 65536 значений выше нуля. У integer значеия распределены равномерно, а half-float чем ближе к нулю, тем точнее, благодаря чему в тенях у вас будет больше информации. Что правильнее. На текстурах не должно быть света или темных мест.


При настройке материала выбираем VrayColor для диффуза (без антиалиасинга, он создает странные цвета на границах), либо ColorCorrect. Это текстурные плагины для 3ds max, меняющие цвет текстуры или процедурной карты. ColorCorrect лучше чем VRayColor, не говоря уже о стандартной карте 3ds Max — Output. Основное преимущество проявляется в работе с цветовыми моделями HSV, HSL и наличие параметров Brightness, Contrast, Saturation. Качаем отсюда. Во всех импортированных материалах Reflect Interpolation желательно приводить к -1, иначе рендер затянется в разы. И вообще Use interpolation лучше не использовать. Также, параметр Blur у растровой текстуры должен быть не ниже 0.2. Во первых, более низкие значения очень плохо сказываются на скорости рендера, во вторых появится шум. Но если вы видите, что текстуры на заднем плане слишком размыты, этот параметр можно опускать до 0.2. Если у вас есть ограничения на размеры текстуры, то старайтесь не добавлять много детализации, каши и шума. Чистые текстуры лучше будут смотреться, особенно с хорошей normal map.

VRayBlendMtl позволяет добиваться очень красивых и сложных материалов. В слот Base material добавляете основной материал (допустим, это дерево с бампом). Остальные девять слотов Coat materials нужны для создания «слоев» над базовым материалом. Если вложить в первый слот Coat materials тоже самое дерево с увеличенным Refl. glossiness и без бампа, то мы получим матовое дерево, покрытое лаком.

На VRayLight часто вешают градиент от черного к белому, чтобы добиться затухания. Чтобы не было артефактов на границах затухающего света, достаточно изменить параметр Offset в настройках градиента. Значения -0,01 для U-координаты обычно достаточно.

Визуализация:

В новых версиях Vray, начиная с 3.2 появился режим Progressive, по аналогии с Corona. Вы можете сами остановить процесс рендера в тот момент, когда качество вас устроит. Можно не только установить лимит времени на рендер, но и снять лимит совсем. Тогда вы должны будете сами остановить рендер. Но для Batch render лимит обязателен.

Для рендера интерьеров в окна рекомендуется поместить VRayLight в режиме Skylight portal. Галочку с Affect reflections нужно убрать, иначе ваш VRayLight будет отражаться на объектах в сцене. Но важно отметить чекбокс Affect specular, этот параметр отвечает за наличие или отсутствие бликов от источника света. Стекла в окнах нужно исключать из просчета освещения. Для ускорения просчета допустимо ставить 1 для refraction IOR.

4748

Если отрендеренные картинки планируется использовать для deep composing с фото, то нужно учесть информацию о камере, которой была сделана фотография. Открываем Photoshop, File->File info, смотрим параметры во вкладке Camera Data, особенно Exposure, Focal Lenght, Camera maker, Model. Скопировав название модели фотоаппарата, вставляем его в поисковик и смотрим в спецификациях image resolution. Это нужно для того, чтобы учесть разницу между вашей фоткой-референсом и full-quality возможностями камеры. Очень помогут Vanishing Point в Photoshop: настраиваете перспективную сетку не в красном диапазоне, импортируете в макс, камера будет создана автоматически с учетом заданной перспективы.

В 3ds Max обязательно проверяем pixel aspect ratio. Некоторые вводят в этот параметр 0.9! Смотрим в настройках на размер картинки «720»: если нажать правой кнопкой мыши на заготовке разрешения в окне render setup, то появится Configure Preset, где можно указать корректный pixel aspect ratio.

Если вы хотите, чтобы прозрачные материалы воспринимались не как solid-объект для Z-карты, в настройках прозрачного материала установите атрибут All channel для Affect channels.

Паразитную «выжженную лестницу» легко лечить с помощью Clamp Output, который убирает на рендере цвета ярче заданного уровня. Есть почти во всех рендерах.

Создавая анимацию, важно учесть движение камеры. Хорошее движение получается с помощью Helpers -> Point (в настройках нужно будет поставить галочку Box и отрегулировать размер). Выравниваем Point относительно камеры, прилинковываем и камере. Создаем второй Point для объекта, вокруг которого камера будет облетать. В итоге, камеру линкуем на Point камеры, и Point камеры линкуем на Point объекта. Теперь можно вращать Point объекта, камера будет вращаться вслед за ним.

Обработка:

Для создания бьюти-картинки надо выгнать минимум следующий набор пассов: diffuse lighting + global illumination + reflections + specular lighting. Или по рендерам:
V-Ray: GI + Lighting + Specular + Reflection + Refraction + SelfIllum + SSS.
Arnold: direct_diffuse + indirect_diffuse + direct_specular + indirect_specular + refraction + deep_scatter + mid_scatter + shallow_scatter + primary_specular + secondary_specular.
Mental Ray: Diffuse + Indirect + Specular + Reflection + Refraction + Incandescent + Scatter.

Ambient Occasion это костыль для компенсации нормального глобального освещения на старых машинах, в современном производстве необходимость в AO отпала, разве что для настройки жесткости теней. Остальные пассы выгоняются под задачу, и часто могут быть сделаны из перечисленных выше пассов: diiffuse lighting = diffuse filter * diffuse lighting raw, global illumination = diffuse filter * global illumination raw, reflections = reflections filter * reflections raw.

Закинуть все пассы на отдельные слои Photoshop довольно просто: сохраняем все пассы в формат EXR, и идем в Photoshop. Выбираем File -> Script -> Load Files into Stack, выбираем все сохраненные .exr файлы. У нас получится каждый файл на отдельном слое в одном документе. По обработке пассов: на Specular хорошо ложится фильтр Exposure со значением 0,80. Благодаря EXR вы сможете убрать пересветы с помощью Camera Raw. При сохранении в EXR гамма будет Linear, color mpping=1,1,1, VFB можно редактировать, очень годно для AfterEffects, Fusion и Combustion. Или используем плагин.

При работе с exr возникает проблема хранения секвенции. Утилита позволяет взять exr и преобразовать в более легковесные форматы.

Для экспорта камеры из 3D Max в AfterEffects все еще прекрасно работает этот скрипт. Если есть денюжка, то можно посмотреть в сторону этого скрипта. Либо использовать встроенный инструмент State Set.

Лесенки в некоторых пассах знакомы всем, эта проблема решается просто: в канале ObjectID ставьте режим Color (With AA). Моделям в Object propherties нужно назначать ID вручную.

Для RawLight и Specular рекомендуемый режим наложения Linear dodge (Add). Для стекла и прочих отражающих объектов очень важны пассы reflection и refraction в режиме Linear Dodge (Add). RawShadow нужно инвентировать и уменьшить прозрачность до 20%, режим насложения Multiply. Ambient Occlusion в Multiply и 10%. MtlID нужен для выделения объектов., но если вы забыли отрендерить данный пас, то плагин Quick Passes очень поможет в обработке. Допустим, нам нужна маска для какой то определенной детали. Выделяем деталь во вьюпорте, выбираем нужный тип пасса и нажимаем render. Так, Mattle отвечает за сплошные локальные области цвета.

44

123

Стандартный workflow подразумевает linear + gamma 2.2. При сохранении результата рендера должна стоять галочка Use system default gamma. Если вы все же как то накосячили при сохранении, и вам теперь нужно из гаммы 2.2 сделать 1.0, то корректируйте к значению 0.454. Для этого проследуйте в Image>Adjustments>Exposure, и установите гамму 0,454.

Если модель для игр, то перед выгрузкой всегда триангулируем модель. Это важно для normal map.

Если вы только начинаете работать в 3ds Max, то наверно уже заметили, что всё построение осуществляется без четких размеров и координат.

Особенно тяжело привыкнуть тем, кто долгое время работал в AutoCAD. И одна из проблем, с которой сталкиваются новички, заключается в выравнивании объектов. В данной статье мы рассмотрим данный процесс.


Для начала выделяем объект, который мы хотим переместить. Затем на панели инструментов выбираем функцию «Align» (Выравнивание).


Если у вас на панели инструментов нет данной функции, тогда нажимаем «Tools» / «Align» / «Align» или сочетание клавиш «Alt+A».


Указатель мыши изменит свой вид и затем нажимаем на тот объект, относительно которого будет осуществляться выравнивание.

В результате этих действий у вас откроется диалоговое окно «Align Selection».


В разделе «Align Position» (Выравнивание положения) необходимо указать, по каким осям будут выравниваться объекты.

Затем выбираем точки перемещаемого (Current) и опорного (Target) объектов, относительно которых будет осуществляться выравнивание.

Чтобы правильно задать ось выравнивания, рекомендую обратить внимание на координатные оси самого объекта. Так как в нашем случае у нас стоит задача поставить телевизор на тумбу, значит мы будем выравнивать объект по оси Y.

После установки всех параметров нажимаем «Apply» / «OK».


Таким образом происходит выравнивание объекта в 3ds Max.

Для перемещения объекта зажимаем координатную ось «Х» и смещаем в нужную сторону курсор мыши.



В данной статье вы рассмотрели выравнивание объектов в 3ds Max. Довольно простыми манипуляциями мы добились четкого расположения объектов относительно друг друга.

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

Столкнулся с неожиданным эффектом: при экспорте модели из 3D Max-a в формат 3DS количество вершин увеличивается на некоторое значение. Например, у куба вместо 8 вершин получается 26. Однако это ещё не очень большая проблема. Гораздо серьёзней то, что при экспорте более чем одного объекта возникают искажения в геометрии последующих объектов. У меня это выглядит, например, как размазывание граней второго объекта по первому полностью или частично. Один же объект загружается и отображается превосходно. Я пытался отследить что у меня загружается в массивы вертексов, это совпадало с данными, полученными при экспорте этихже моделей, только с помощью мах-скрипта. Сама же 3D MAX всё импортит обратно нормально. :(

Jiharka
фига себе. чтото нереальное. Какая версия макса?

Версии 5 и 8. Ну, с увеличением количества вершин я разобрался - это действительно необходимо. А вот насчет искажений - пока нет. Завтра попытаюсь выложить скриншоты, для наглядности.

Jiharka
>>> Ну, с увеличением количества вершин я разобрался - это действительно необходимо.
Разобрался - расскажи, если не трудно.

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

Jiharka, вроде это так и задумано. Ты наверное что-то не учитываешь во время загрузки.

Для Demon80: увеличение количества вершин происходит при текстурировании объекта, например для куба, состоящего из 12 граней по 3 вершины каждая, явно не хватит 8 вершин, которых вполне достаточно при описании только пространственных координат. Поскольку у каждой грани (треугольника) должен быть свой набор текстурных координат МАКС увеличивает их до необходимого количества.

Для Cyclone: Баг ищу у себя, но в обозначенном тобою месте его не находил (хотя попробую поискать его там ещё раз).

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

Лажа №1 | Искажения геометрии объектов при экспорте из 3D Max
Лажа №1 - меш | Искажения геометрии объектов при экспорте из 3D Max

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

Лажа №2 - меш | Искажения геометрии объектов при экспорте из 3D Max
Лажа №2 - wire | Искажения геометрии объектов при экспорте из 3D Max

Урра. Нашёл где БАГ прятался (сколько попотеть пришлось - словами не передать).
Есть такая функция в D3D - DrawPrimitive
У меня в строке кода:

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

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

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

Согласен, графика игры оставляет желать лучшего, но эта игра на Android, поэтому надо делать объекты попроще, чтобы приложение поменьше весило и не зависало. Для того, чтобы выровнять оси объекта в 3D MAX так, как нам нужно, нам необходимо выделить редактируемый объект и нажать на кнопку Hierarchy в правом верхнем углу экрана.

Далее, в открывшемся меню, в разделе Adjust Pivot, нажимаем на кнопку Affect Pivot Only.


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


Это и есть центр оси. Теперь мы можем двигать и вращать ее, как хотим. Под кнопкой Affect Pivot Only есть кнопка Affect Object Only. Если кликнуть по ней, то центр оси будет оставаться на месте, а мы будем двигать сам объект.

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

Читайте также: