Меню

Blender запекание нормалей ошибки

$begingroup$

does anyone know why this is happening to me ?
i tried normals outside, didnt help.

Edit: edited caps, and added photos, sorry new to these boards, thanks in advance 🙂enter image description here

  • normals
  • baking
  • error

asked Aug 3, 2018 at 17:06

Koocheng's user avatar

$endgroup$

1

  • $begingroup$
    Don’t use caps please, you can edit the question, also upload images inline here as the question totally depends on it. Yellow on normal map usually means intersecting geometry — rays from one surface get to near surface and vice versa
    $endgroup$

    Aug 3, 2018 at 17:10

1 Answer

$begingroup$

answered Aug 4, 2018 at 18:26

Koocheng's user avatar

$endgroup$

$begingroup$

does anyone know why this is happening to me ?
i tried normals outside, didnt help.

Edit: edited caps, and added photos, sorry new to these boards, thanks in advance 🙂enter image description here

  • normals
  • baking
  • error

asked Aug 3, 2018 at 17:06

Koocheng's user avatar

$endgroup$

1

  • $begingroup$
    Don’t use caps please, you can edit the question, also upload images inline here as the question totally depends on it. Yellow on normal map usually means intersecting geometry — rays from one surface get to near surface and vice versa
    $endgroup$

    Aug 3, 2018 at 17:10

1 Answer

$begingroup$

answered Aug 4, 2018 at 18:26

Koocheng's user avatar

$endgroup$


Если вы когда-либо пытались запечь нормали в Blender, используя движок рендеринга Cycles, вы, вероятно, замечали следующее поведение: процесс запекания использует только информацию о геометрии меша и игнорирует вариации нормалей, созданные вашим материалом. Это означает, что если вы используете карту нормалей и/или карту рельефа, то они не будут учитываются.

Если мы подумаем об этом, это не должно быть достаточно удивительно: поскольку Cycles основан на системе нодов, мы можем создавать материалы с бесконечным числом комбинаций, мы можем даже использовать одну карту нормалей для диффузного шейдера, а другую для глянцевого шейдера. Он обеспечивает полную свободу творчества… но это также означает, что Cycles не может определить, какая часть вашего материала связана с вычислением нормалей. Таким образом, инструмент запекания не имеет другого выбора, кроме как полностью игнорировать эффекты, созданные вашим материалом, когда вы выбираете тип запекания Normal.

Слишком большая свобода приводит к разочарованию! На самом деле, запекание нормалей, включая эффекты материала действительно полезны по крайней мере по двум причинам:

  • Если вы используете карту нормалей (normal map), чтобы получить детали из высокополигональной модели и карту рельефа (bump map), чтобы создать дополнительные детали, вы, вероятно, объедините их в своем материале (речь о Cycles). Но если вы хотите экспортировать свою модель в другой движок рендеринга, то некоторые из них (особенно рендеры реального времени) позволяют использовать либо карту нормалей, либо карту рельефа, но не обе одновременно. Вам не нужно выбирать одну карту или другую…
  • Если вы используете текстуры с высоким разрешением, может быть полезно объединить информацию с карты нормалей, карты рельефа и процедурных текстур в единую карту нормалей, чтобы уменьшить объем памяти и упростить ваш материал.

Нод Material Output имеет вход Displacement. Если вы используете данный слот в своем материале, то он деактивирует все другие слоты Normal для всех нодов. Но, поскольку это также явно указывает Cycles на то, как ваш материал влияет на геометрию объекта, тогда эффект смещения будет включен в процесс запекания.

Несмотря на то, что это не так просто, вы, все-таки, можете создать карту нормалей, включая эффекты от вашего материала в Cycles. Я нашел несколько способов позволяющих добиться этого. Все они, насколько я могу судить, являются математически правильными (иначе итоговая карта нормалей создавала бы немного иной эффект, нежели исходный материал). С моей точки зрения, наиболее эффективным способом было создание специальной группы нодов в Cycles. Я назвал ее normal to map. В этой статье я покажу, как работать с этой группой нодов и обосную ее математическую сторону.

Если вы просто хотите использовать normal to map, вы можете загрузить blend-файл. Файл содержит очень простой пример и саму группу нодов. Этот файл лицензируется под CC0 1.0 Universal, поэтому вы можете свободно использовать эту группу для своих собственных целей.

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

Как использовать группу normal to map

Группа normal to map предназначена для запекания информации о нормалях вашего материала в карту нормалей. Поэтому вы должны добавить ее непосредственно перед процессом запекания и затем удалить из своего материала.
bake-normal-1
Входной слот Normal соответсвует тому же входу, что и у стандартных BSDF-шейдеров, и он является нормалью, которую вы хотите запечь. Есть два выходных слота: цвет sRGB и Non-color. Вы должны использовать тот же выход, что и цветовое пространство текстуры, которую вы запекли. По умолчанию Blender создает текстуру в цветовом пространстве sRGB.

Я рекомендую вам использовать формат Non-Color: требуется меньше вычислений (не применяется гамма-коррекция), поэтому вы избежите некоторых проблем округления при расчетах. Вы можете изменить цветовое пространство вашей текстуры на панели свойств в редакторе UV/Image.
bake-normal-2

Для людей, использующих управление цветом Filmic Blender, sRGB помечен как sRGB EOTF, а Non-color как Non-Color Data.

Пошаговая инструкция использования группы normal to map:

  1. Добавьте группу «normal to map» к вашему материалу.
  2. Подключите вектор нормали который вы хотите запекать к входу Normal.
  3. Подключите выбранный выходной слот к шейдеру Emission.
  4. В редакторе UV/Image создайте новое изображение.
  5. На панели свойств в редакторе UV/Image выберите то же цветовое пространство, что и у выходного сокета.
  6. Добавьте нод Image Texture и укажите в нем только что созданное изображение (данный нод должен быть выделенным(активным)).
  7. В меню запекание выберите тип Emit.
  8. Нажмиет кнопку Bake.

bake-normal-3
Группа создает соответствующие цвета для представления информации о нормалях. Поэтому вы должны использовать шейдер Emission, как если бы объект излучал информацию о них. Поскольку чистый шейдер Emission не подвержен влиянию светлячков и отскокам света, вы можете использовать всего-лишь один сэмпл для рендеринга. Это означает, что процесс запекания экстримально быстрый!

Улучшение производительности

Создание одной карты нормалей для замены части материала может дать интересные улучшения. Рассмотрим изображения ниже. Для левой части в материале тела используется карта нормалей, карта рельефа и процедурная текстура для генерации дополнительных вариаций нормалей. Для правой части я запек все вышеперечисленный текстуры в одну карту нормалей с помощью группы Normal to map. Я сохранил результат в файл и создал гораздо более простой материал, используя запеченную карту нормалей.

bake-normal-4lbake-normal-4r

В таблице ниже приведены некоторые данные о визуализации:

Материал Время рендеринга Пик используемой памяти
Оригинальный материал 16:03 1371 Mб
Запеченная карта нормалей 13:55 350 Mб

Для данной модели использование более простого материала оказывает значительное влияние на производительность!

Известные проблемы

Из-за внутренних вычислений вы можете получить незначительные изменения между исходными нормалями, и вычисленными с помощью группы нодов Normal to map. Поскольку эти отличия минимальны, они совершенно незаметны.

Группа Normal to map сильно зависит от вращения и масштаба вашей модели. Не забудьте применить эти преобразования перед запеканием.

Самая раздражающая проблема исходит не от самой группы, а от процесса запекания. Если вы внимательно посмотрите на два изображения выше, они покажутся вам идентичными… но это не так! Если вы откроете эти изображения на отдельных вкладках при 100%-ом разрешении и будете переключаться между ними, вы заметите странный эффект: некоторые детали, похоже, скользят по поверхности! Посмотрите на гифку ниже, чтобы увидеть этот эффект:
bake-normal-5
Мне потребовался день, чтобы убедиться в том, что этот эффект не был создан группой Normal to map! На самом деле проблема связана с трансформацией карты рельефа в карту нормалей. Если обобщить, карта рельефа хранит информацию о высоте, в то время как карта нормалей сохраняет изменение высоты. Это означает, что если текстура содержит три пикселя для отображения карты рельефа, каждый пиксель представляет собой разную высоту. Для достижения такого же результата с помощью карты нормалей текстура должна содержать не менее двух пикселей для кодирования изменения высоты. Из-за этого мы и получаем небольшой сдвиг между картой рельефа и картой нормалей.
bake-normal-6
Поэтому, когда мы хотим преобразовать информацию о карте рельефа в информацию о карте нормалей, мы получаем смещение информации на финальной текстуре. Один из способов избежать этого — использовать текстуру с более высоким разрешением для окончательного запекания. Но это не всегда желательно.

Поэтому, если вы планируете использовать группу Normal to map, держите в голове этот нюанс, особенно если вы создаете рендер модели крупным планом.

Как работает группа Normal to map

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

Очевидно, что карта номралей не имеет ничего общего с цветом! Текстура нормалей — это изображение, и мы можем открыть его в редакторе изображений. Но это не изображение, потому что каждый пиксель (или, точнее, каждый тексель) не является цветовой информацией: это информация о нормалях.

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

Текстура нормалей содержит направления нормалей, учитывая исходные их направления (0,0,1). Это означает, что координаты должны быть в касательном пространстве. И в этом суть: Cycles представляет информацию о нормалях в мировом пространстве. Чтобы запечь карту нормалей, нам нужно преобразовать вектора нормалей из мирового пространства в касательное пространство. Итак, мы должны выполнить следующую операцию:

Nts = MNws

Где Nws — вектор нормали в мировом пространстве (тот, который создается материалом), M — матрица преобразований из мирового пространства в касательное пространство, а Nts — вектор нормали в касательном пространстве (тот, который мы хотим получить). Матрица трансформации M представляет собой матрицу 3×3, составленную в линию касательным вектором, бикасательным вектором и исходным вектором нрмали грани:
fx1
Cycles обеспечивает нас касательным вектором и вектором нормали для текущей грани. Мы можем легко вычислить бикасательным вектор как перекрестное произведение вектора нормали и касательного вектора. Однако Cycles не поддерживает матричные операции, но мы можем легко разложить эти операции:
fx2
И создать набор нодов для выполнения вычислений:
bake-normal-7
Все это могло бы быть намного проще, если бы нод Vector Transform работал с касательным пространством… может быть интересным улучшением в будущем.

Затем мы должны закодировать векторные координаты в значения цвета, чтобы создать окончательную текстуру нормалей. Поскольку вектор нормали является единичным вектором x, y и z, координаты находятся в диапазоне от -1 до 1. Мы должны преобразовать эти координаты в значения цвета между 0 и 1. Нод Vector Curves может сделать эту математику для нас.
bake-normal-8
Наконец, цветовое пространство sRGB означает, что Blender будет применять гамма-коррекцию 1/2.2, поскольку форматы файлов с глубиной цвета 8 бит на канал (PNG, JPEG…) должны предварительно кодировать значения цвета, подобные этому. Но поскольку текстура нормалей не содержит значений цвета, а состоит из векторных координат, мы должны предотвратить это, применяя обратную гамма-коррекцию 2.2. Использование нецветного пространства (non color space) для запекания текстуры прямолинейно, потому что мы сообщаем Blender, что хотим использовать линейное цветовое пространство (гамма-коррекция не требуется).

источник урока

@akaSpy

Приветствую, коллеги по цеху!

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

В общем, проблема такая. Карту нормалей запёк в Substance Painter. В Substance всё выглядит отлично, в Marmoset тоже. Но в игре (Зов Припяти) имеет такие же ошибки сглаживания (3ds Max с Xoliul Shader):
2018-01-30_20-56-53

Не могу разобраться в чём дело, как только не пробовал запекать. Подскажите, пожалуйста, какие есть варианты? Такое ощущение, что, что-то не то с нормалями.

P.S. Модель сделана в Blender и экспортирована через текущий плагин.

@igelbox

Здравствуй, @akaSpy
По скриншоту сложно сказать в чём проблема.
Было бы полезно посмотреть на blend-файл, object-файл и получившуюся карту нормалей, чтобы хоть как-то понять в чём может быть проблема.
А экспорт же был сделан с использованием Format Version: CS/CoP?

@akaSpy

@igelbox, спасибо, что откликнулся. И извини, что ответил не сразу, был пока не у дел. Я сегодня проведу ещё пару тестов и постараюсь предоставить детальную информацию.

@akaSpy

@igelbox

Пока не могу нормально провести тесты, так как ломается модель.
Сделал тестовую модель, но не могу понять, что с ней происходит в Actor Editor:
2018-02-03_19-09-27-

Похоже на проблему с группами сглаживания, судя по возросшему vertex count. В игре (Зов Припяти) аналогично плохо всё:
2018-02-03_19-14-55

Это как-то решается?

P. S. Сам экспорт модели проходит нормально, при импорте обратно в Блендер модель выглядит корректно.

@akaSpy

@igelbox

Думаю проблема в не правильной Format Version:. У меня, при выставленной Format Version: CS/CoP — нормально в CoP SDK открывает:
image

@akaSpy

@igelbox
Действительно, спасибо! Как же я не догадался попробовать, ведь при импорте та же проблема была. В общем, у меня по какой-то причине эти кнопки перепутаны. Я когда импортировал модель Winchester 1300 из игры, то при выставленном CS/CoP ломались группы, а при SoC норм. При экспорте видимо та же ситуация. Версия плагина 0.4.0 Видимо есть какой-то баг, либо, что-то я неправильно установил.

@akaSpy

@igelbox
По поводу основной проблемы. Подскажи, пожалуйста, передаётся ли tangent space из Blender? Подобные проблемы сглаживания указывают, как раз на то, что не соответствуют tangent space Blender’a и Stalker’a. И как их синхронизировать не могу понять. Кучу разных способов перепробовал, но ошибки сглаживания как были, так и есть.

@igelbox

Я когда импортировал модель Winchester 1300 из игры, то при выставленном CS/CoP ломались группы, а при SoC норм. При экспорте видимо та же ситуация. Версия плагина 0.4.0 Видимо есть какой-то баг

Какая версия игры? Какой конкретно файл импортировался? Чем был сконвертирован из ogf в object?

Подскажи, пожалуйста, передаётся ли tangent space из Blender?

на сколько я знаю, формат object не предоставляет возможности передачи tangent map, т.е. SDK его каждый раз рассчитывает при экспорте в ogf.
Если всё таки есть примеры где он передаётся, напиши — мы реализуем в аддоне.

@akaSpy

Какая версия игры? Какой конкретно файл импортировался? Чем был сконвертирован из ogf в object?

  1. Версия игры — 1.6.02 (Steam-лицензия)
  2. Импортировал файл — wpn_winchester1300_hud.object (скачать). Это не оригинальный из игры, а мой, но он также нормально импортируется только при выборе SoC.
  3. Конвертер не помню от куда скачал, датируется 24-06-2015, конвертируется через converter.exe с помощью .bat-файла.

@igelbox

У меня, при открытии этого файла в CoP SDK, он загружается так же плохо, как и в Blender. Получается — это проблема с converter.exe (что он всегда конвертирует в SoC-овские группы сглаживания).
@PavelBlend, может ты знаешь, каким конвертером правильно преобразовывать модели ЗП.
Но, вообще, думаю можно смело импортировать сконверченные модели с Format Version: SoC, а сохранять для SDK с Format Version: CS/CoP.

@akaSpy

Но, вообще, думаю можно смело импортировать сконверченные модели с Format Version: SoC, а сохранять для SDK с Format Version: CS/CoP.

В том то и дело, что если сохраняешь с Format Version: CS/CoP, то бьются группы сглаживания, а если в SoC, то всё ок 🙂 Магия! Может у меня, что-то локально не так.

Может при импорте куда-то фиксируется в blend-файл? Тот файл, который я выше скидывал, удалось сохранить как CS/CoP, но без битых групп?

@igelbox

Может при импорте куда-то фиксируется в blend-файл?

Навряд ли. Такого в аддоне не было.

Тот файл, который я выше скидывал, удалось сохранить как CS/CoP, но без битых групп?

Да. Импортировал в Blender как SoC и сразу же экспортировал как CS/CoP. Потом открыл получившийся object-файл в SDK и там со сглаживанием всё хорошо.
Версии ПО:
SDK — 0.7
blender-xray — 0.5.0

@PavelBlend

Конвертер бардака всегда сохраняет группы сглаживания в формате SoC, независимо откуда был взят ogf файл (из ТЧ или из ЧН/ЗП).

@akaSpy я скачал твой файл wpn_winchester1300_hud.object, импортировал в blender, потом экспортировал в object в формате CS/CoP, потом сохранил в ogf с помощью SDK 0.7. В итоге в игре модель выглядит так же как в blender:
sg_cop_test

Чтобы не было таких чёрных затенений на модели, нужно править группы сглаживания, так как сейчас они не совсем правильно настроены. Вот я исправил:
fix_sg

И вот blend сцена с исправленным сглаживанием:
fix_sg.zip

@akaSpy

Да. Импортировал в Blender как SoC и сразу же экспортировал как CS/CoP. Потом открыл получившийся object-файл в SDK 0.7 и там со сглаживанием всё хорошо.
@akaSpy я скачал твой файл wpn_winchester1300_hud.object, импортировал в blender, потом экспортировал в object в формате CS/CoP, потом сохранил в ogf с помощью SDK 0.7. В итоге в игре модель выглядит так же как в blender:

Попробую поставить свежую версию плагина, очень странно.

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

@PavelBlend
Дело не в группах сглаживания, они сделаны такими специально для тестирования карты нормалей. В игре карта нормалей по какой-то причине не компенсирует подобное сглаживание, хотя должно. Я предполагаю это из-за не соответствия tangent space. Но как синхронизировать не могу найти решение. Толи вектора из Blender имеют не то направление, то ли ещё чего. Пока нет мыслей.

@akaSpy

@PavelBlend

@akaSpy можешь показать как выглядит карта нормалей?

@akaSpy

@PavelBlend да, я в течении получаса подготовлю модель и карту нормалей, и скину сюда.

@akaSpy

@PavelBlend

@akaSpy я менял группы сглаживания и косяков стало меньше. Может в сталкере карта нормалей не компенсирует сглаживание, а дополняет его. Сквозь карту нормалей проглядываются затенения от групп сглаживания. В оригинальных моделях ЗП на острых углах нет сглаживания. Может так нужно делать и со своими моделями?

@akaSpy

@s30-zip

Так же не забывайте удалять двойные вершины и выворачивать нормали наружу.

@akaSpy

@igelbox
Хочу уточнить, а при экспорте необходимо накидывать модификатор Edge Split, чтобы сохранить группы сглаживания?

Только недавно обратил внимание, что появляется ошибка (про неё я уже прочитал):
Maya-SG incompatible: sharp edge adjacents has same smoothing group
Так вот Edge Split фиксит её.

И вообще как сохранить группы сглаживания?

@akaSpy

@PavelBlend
Подскажи, а как ты экспортишь группы сглаживания? У меня почему-то бьются в AE и в игре соответственно ломается нормалка.

В редакторах:
2018-02-07_20-47-11

В игре:
2018-02-07_20-51-33

Edited: похоже опять проблема с форматом. Не знаю почему, но у меня экспортируется только в SoC нормально.

@PavelBlend

@akaSpy просто нажимаю File>Export>XRay Object и ставлю тип формата (SoC или CS/CoP) и всё.
И никаких модификаторов Edge Split не нужно ставить.

А при экспорте этой модели есть предупреждения Maya-SG incompatible? Может острое ребро преобразовалось в сглаженное. Хотя если это ЗП, то не должно быть такого предупреждения. Только для ТЧ есть определённые ограничения в этом плане.

@akaSpy

@PavelBlend
Понятно, спасибо!

В SoC формате группы сохраняет. Но склеивает вершины и из-за этого бьет группы :(((( Флаг HQ Geometry не помогает. Существуют какие-то лекарства?

2018-02-07_21-06-02

@igelbox

@akaSpy

Хочу уточнить, а при экспорте необходимо накидывать модификатор Edge Split, чтобы сохранить группы сглаживания?
И вообще как сохранить группы сглаживания?

Обычно и без него работает. Но, думаю, он может помогать в сложных случаях (разделяя треугольники, дублируя рёбра), когда текущий меш не представим в формате SoC/Maya. Тут, кстати, есть ишью по этому поводу (если уж очень нужен SoC формат) — #57, но у меня пока мощи не хватает, сделать нормальный алгоритм расчёта.
А в CoP-формате — нет таких ограничений, любые группы сглаживания должны поддерживаться аддоном, безо всяких дополнительных модификаторов.

@akaSpy

@igelbox
Спасибо за ответ! Я честно говоря так и не понял, почему у меня нормально не экспортируется в CoP-формате. Плагин поставил свежий. Может ещё СДК на всякий случай переустановить, странно это всё.

@igelbox

Попробовал открыть модель из Test/raw/sdk/editors/rawdata/meshes/dynamics/weapons/wpn_winchester1300/ из ранее приложенного «Каталог с файлами» в SDK 0.7 — сглаживание сломано, в SDK — 0.4 — склаживание — норм.

Попробовал экспортировать модель из Test/raw/GameTest.blend используя формат CS/CoP — в SDK 0.7 — сглаживание норм, в SDK — 0.4 — склаживание сломано.

Может всё-таки версия SDK — не правильная. У меня, кстати, были похожие проблемы при использовании SDK 0.4: при компиляции OGF ломались нормали и в игре это выглядело как на половине с «original»:
akim
Из-за этого в аддоне и появилась сырая поддержка экспорта в ogf (см. половину с «my (fixed)»).
Сейчас, я тестирую в (откуда я их взял — уже не помню):

  • xray-cop-sdk-setup.exe (версия 0.7) — 467937392 байт — MD5=b4dbf14d8a0731daa80ef9b9ea973f49
  • xray-sdk-setup-v0.4.exe — 328910736 байт — MD5=4b79e90bc978493d0e1e3b3e88dca3bf

Вообщем, попробуй тоже экспортировать с CS/CoP и открыть в SDK для ЗП. Если не получается, то пиши, какой SDK используешь (не думаю, что сюда надо ссылку на пиратские ресурсы постить, может просто описание, как его найти на просторах интернета).

@akaSpy

@igelbox
Ты прав. Я установил чистый официальный SDK 0.7. Что-то было внутри SDK, что ломало весь процесс, либо какие-то файлы от 0.4 версии. С экспортом CS/CoP сглаживание заработало как надо. Правда не сразу. Модификатор Edge Split ломает группы в модели, по крайней мере в промежуточном использовании в *.fbx для запекания карты нормали, развёртки. И меня это сильно путало. Когда отказался от него, всё пошло как надо. Большое тебе спасибо! Наконец-то мои мучения закончились 🙂

Пока единственной проблемой осталось склеивание вершин, с HQ Geometry, в редакторе вроде по лучше выглядит, чем в игре. То есть как будто в игре игнорируется этот флаг. Ну хоть группы не ломает, уже хорошо. Но тут как вариант ещё есть оптимизировать модельку.

Накинул тестовую текстурку:
2018-02-08_12-17-14

@s30-zip

@igelbox

Похоже на то, что вопрос решён. Если что, можно будет переоткрыть эту ишью.

Blender это замечательный бесплатный 3d пакет, который делает возможным и доступным осуществление гигантского количества проектов, и, как человек, прошедший путь от абсолютного новичка в 3d до преподавателя данной программы в учебном центре «Специалист» в Москве, я могу поделиться несколькими типами, которые помогут преодолеть несколько несложных, но каверзных моментов, которые хоть и очень просты, но далеко не очевидны, и могут заставить просидеть несколько часов в поиске решения проблемы.

Перевод программы и подсказок

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

  • Для того чтобы активировать подсказки, если они не работают, нужно зайти в меню Edit-Preferences-Interface. Поставить галочку напротив Tooltips.

  • Для активизации перевода подсказок в том же разделе открываем выпадающее меню Translation, ставим русский язык, и галочку напротив Affect Tooltips.

Забагивание области просмотра

Следующая проблема с которой я постоянно сталкивался это забагивание области просмотра — при попытке панорамировать видприблизитьсяотдалиться от объекта, blender упорно отказывается это делать, точнее делает это очень медленно . Тут помогает функция Frame, которая перезахватывает выбранный объект во вьюпорте и данная проблема устраняется.

  • Находится эта функция в меню View-Frame selected.

Clipping

Некст проблема это clipping — при попытке работать с объектом на близком расстоянии область обрезает часть нашего объекта, и мешает нам работать.

  • устраняется заходом в боковое меню нажатием кнопки N, и во вкладке view в выпадающем меню view, уменьшаем значение Clip Start (Например 0,001)

Нормали

Следующая проблема это нормали — будь то незнание того — что это? или незнание того — как их привести в правильное положение. Проблемы с нормалями возникают например при попытке запечь карты деформации, во время скульптинга, при попытке нажать Shade smooth и тд.

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

  • Как мы можем видеть на данном изображении — все нормали объекта, кроме трех выделенных, повернуты наружу, а три выделенные — внутрь. При обычном режиме затенения Shade flat — этого не видно, но если я включу режим затенения shade smooth, то результат будет совсем иным.

  • Проверить направление нормалей своего объекта я могу перейдя в edit mode, и в выпадающем меню overlays поставить галочку напротив Face orientation . Тогда все нормали повернутые наружу будут отображаться синим цветом, а направленные внутрь — красным. В этом же меню Overlays я могу включить отображение нормалей как векторов.

  • Развернуть нормали нам помогут функции Mesh-Normals-Flip (или recalculate outside)

  • Flip — развернет выделенные полигоны.

  • Также мы можем выделить все полигоны объекта (шорткат А) и нажать Recalculate outside чтобы blender автоматически пересчитал все наши полигоны наружу.

  • За направлением нормалей лучше следить.

Двойные вертексы

Двойные вертексы — часто в процессе моделирования и оперирования командой Extrude могут создаться вертексы, которые стоят друг в друге и будут портить нашу топологию, это может нам аукнуться на этапах UV развертки, создания рига и тд. Чтобы избежать этого, на промежуточных этапах работы можно выделять всю свою модель в режиме работы с вершинами и нажимать Mesh-clean up-merge by distance. Двойные вертексы будут объединяться.

Карты нормалей

Карты нормалей запеченные в других программах (substance painter, Zbrush) дают странный результат в Blender .

  • Проблема в том что карты нормалей, в вышеперечисленных, и не только, программах, запекаются c использованием DirectX, а blender работает с OpenGL. Если говорить простым языком то нам нужно развернуть зеленый канал на карте нормалей. Делается это следующим образом:

Надеюсь, что данный пост поможет людям, осваивающим блендер, проскочить несколько часов поиска решения проблем!

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Blade soul blade and soul ошибка 1073
  • Blade and soul ошибка файла клиента