Как убрать прозрачность в 3ds max
Обновлено: 21.11.2024
Снятие отметки «Прозрачность» в параметрах материала не приводит к экспорту материала с режимом наложения OPAQUE. Экспортированные материалы, независимо от того, есть ли карта прозрачности, связанная с вводом материала, или установлен или снят флажок прозрачности, будут записываться как blendmode = "BLEND"
Текст был успешно обновлен, но возникли следующие ошибки:
noalak прокомментировал 22 августа 2018 г. •
Есть ли у вас репродукция сцены? Не удалось воспроизвести с помощью простых тестов.
За исключением ошибки, единственная причина, по которой материал находится в BLEND, заключается в том, что он каким-то образом содержит альфа-канал:
- имеет карту или значение веса непрозрачности/прозрачности
- имеет карту диффузного цвета/базового цвета с параметром "Источник альфа-канала", установленным на "Изображение альфа-канала"
(первый атрибут — стандартный материал, второй — физический материал)
deltakosh прокомментировал 23 августа 2018 г.
комментарий PatrickRyanMS от 23 августа 2018 г.
Отправил вам файл Max. Дайте мне знать, если у вас есть вопросы.
В настоящее время кто-то работает над этой проблемой
noalak прокомментировал 27 августа 2018 г. •
Я получил файлы. С версией 2019 года проблем быть не должно, так как это происходит и с версией 2018 года.
Основная цветовая карта материала линзы имеет источник альфа-канала, установленный на «Изображение альфа-канала».
В этом случае
- если вы предоставляете карту веса прозрачности, альфа-канал карты базовых цветов игнорируется и вместо него используется карта прозрачности.
- в противном случае напрямую используется альфа-канал основного цвета. Предполагается, что карты базового цвета и альфа-канала (непрозрачности) уже объединены.
Для вас это второй случай. Если вы хотите, чтобы материал был в режиме OPAQUE, установите источник альфа-канала на None.
- Экспортер 3ds max учитывает вес прозрачности, а не цвет прозрачности. В Maya такого различия нет.
- Физический материал 3ds max использует прозрачность, а материалы Maya Stingray PBS и AiStandardSurface используют прозрачность. Это означает, что вы не можете напрямую использовать карту непрозрачности из Maya. Вам нужно вручную преобразовать его в прозрачность.
Переход от Maya к 3ds Max никогда не изучался. Мы могли бы улучшить его наверняка!
Чтобы понять рабочий процесс и то, как вы получаете файлы, которые вы мне прислали:
- использовали ли вы процесс автоматического преобразования (например, функцию Maya «Отправить в 3ds Max»)?
- соответствовали ли ожидаемым результатам результаты в отношении материалов?
- Вы вручную сбрасывали/редактировали материалы?
Для зависимости веса прозрачности от цвета мы могли бы использовать альфа-канал цвета прозрачности, если вес прозрачности не установлен.
Дайте мне знать, что вы об этом думаете.
В настоящее время кто-то работает над этой проблемой
noalak прокомментировал 5 сентября 2018 г.
комментарий PatrickRyanMS от 6 сентября 2018 г.
@noalak Прошу прощения за задержку с возвращением к этому. Подключение базового цвета к цвету прозрачности было моей ошибкой. Я просто подключился к неправильному входу на этом, но даже исправление провода не решает того, что я вижу.
Вот мой путь к Максу:
- Ресурс был создан в Maya, но вместо использования функции «Отправить в Max» я воспользовался FBX для воссоздания объекта в Max.
- Импорт FBX
- Создайте и подключите материалы вручную.
- Снимите все флажки прозрачности для материалов, которые должны быть в очереди НЕПРОЗРАЧНЫХ
- Назначить сетку оптимизации в Babylon Options
- Экспорт с касательными в glTF
- Проверьте код glTF для режимов наложения материалов и отредактируйте значения вручную, если они неверны.
Ниже вы можете увидеть два материала в редакторе Slate. Выбранный материал показывает снятые флажки прозрачности и отсутствие подключения карты к входам прозрачности. Другой материал — это тот, который должен быть в очереди ПРОЗРАЧНЫЙ и имеет карту, связанную с входом прозрачности.
Под этим изображением показан скриншот вывода материала glTF со всеми отключенными параметрами прозрачности. Все мои материалы имеют режим alphaMode: BLEND вместо OPAQUE (или ничего) для других материалов и BLEND для того, к которому подключена прозрачность.
Я понимаю, что вы имеете в виду, говоря о прозрачности и непрозрачности в Max/Maya, но прежде чем мы перейдем к этому, я хотел бы понять, как настроить материалы, чтобы мне не нужно было редактировать их вручную. файл glTF, чтобы он отображался должным образом.
В настоящее время кто-то работает над этой проблемой
noalak прокомментировал 7 сентября 2018 г. •
Итак, я воспроизвел вашу ошибку @PatrickRyanMS. В предоставленном образце файла (FlightHelmet_Optimized_2018.max) все материалы экспортируются с alphaMode=BLEND в gltf.
Проблема заключается в том, что атрибуты альфа-источника текстур неправильно инициализируются в 3ds max.
При назначении текстуры материалу внутренним значением источника альфа-канала текстуры является значение по умолчанию (0), соответствующее «альфа-каналу изображения». После ввода настроек текстуры 3ds max инициализирует значение источника альфа-канала. Для jpg или png без альфа-канала «Альфа-изображение» затемняется, а для параметра «Источник альфа-канала» установлено значение «Нет (непрозрачный)». Для png с альфа-каналом источник альфа-канала остается «Альфа-изображение».
@PatrickRyanMS В настоящее время единственный способ правильно экспортировать сцену — открыть настройки текстур всех текстур базовых цветов, используемых в вашей сцене. Либо дважды щелкните текстуру в редакторе материалов Slate, либо дважды щелкните текстуру в редакторе компактных материалов. Вам не нужно ничего изменять, достаточно просто отобразить настройки. Вы заметите, что модель в окне просмотра будет обновляться каждый раз, когда вы вводите настройки текстуры.
Мы с моей командой никогда не сталкивались с такой проблемой, так как мы используем редактор материалов Compact и никогда не выполняем перетаскивание, а вместо этого входим в настройки текстуры (пусто), а затем назначаем оттуда текстуру с помощью Map Browser, в основном Bitmap.
Предложенное Патрику «решение» явно не идеально. Я вижу 2 способа это исправить:
- Из экспортера удалите функцию с учетом альфа-канала внутри основного цвета/рассеянного цвета. Если вы хотите альфу, установите текстуру в карте непрозрачности материала. По сути, это игнорирует свойство Alpha Source (всегда считается None).
- Обратитесь к разработчикам 3ds max, чтобы исправить это. Пользователи последней версии смогут без проблем назначать текстуры. Другие (хм) не будут.
Я не вижу других атрибутов текстуры, которые могли бы иметь подобную проблему, но и не уверен на 100 %.
Информация для Autodesk
Компактный редактор материалов: перетаскивание изображения в слот карты в материале приводит к тому, что источник альфа-канала не инициализируется, но инициализируется после редактирования настроек текстуры.
Редактор материалов Slate: та же проблема с назначением текстуры.
Прозрачные материалы позволяют нам видеть сквозь твердые объекты, редактируя видимость. Установив уникальные атрибуты для преломления и непрозрачности, мы можем добиться различных эффектов.
Типы прозрачности
Существует два типа прозрачности. Во-первых, это преломление. Карты преломления используются для объектов, которые искажают и смещают свет при прохождении через него. Примерами этого могут быть такие вещи, как стекло, вода и прозрачный пластик.
Стеклянные объекты, такие как эта модель пивной кружки, используют преломление.
Второй тип – непрозрачность. Когда материал использует карту непрозрачности, она действует как маска, скрывающая части объекта. Вы можете использовать карту непрозрачности для таких вещей, как вырезание фигур листвы, перфорированных поверхностей и сеток.
В таких объектах, как эта мусорная корзина, используются карты непрозрачности, чтобы вырезать отверстия в сетке.
Поскольку активы StemCell управляются непосредственно из очень определенного набора текстурных карт, существуют определенные ограничения, когда дело доходит до обработки материалов с прозрачностью. Чтобы сохранить качество между каждым приложением DCC и каждым игровым движком как можно ближе, существуют определенные функции и карты текстур, которые нельзя использовать для StemCell.
Процедурное стекло выше ценности
Цвет выхода используется в приложениях DCC для отображения цвета в областях, где лучи света больше не могут преломляться дальше. Установка значения цвета выхода или использование цветовой карты выхода не разрешены, поскольку игровые движки в настоящее время не содержат этот ввод.
Пример настройки цвета выхода, показанный в 3ds Max.
То же самое можно сказать о цвете тумана, смещении тумана и настройках множителя тумана. Они не должны использоваться для целей StemCell. Настройки тумана часто используются для изменения плотности цвета. Регулировка этих параметров приведет к таким вещам, как цветное или мутное стекло. Это плохо отражается на игровых движках и должно быть исключено из моделей StemCell.
Пример настроек тумана, показанный в 3ds Max.
Это также верно для подповерхностного рассеяния или SSS. Для достижения SSS в каждом приложении необходимо использовать специальные шейдеры, но с этими шейдерами поставляются уникальные настройки. Эти настройки не могут быть точно переданы игровым движкам, требуя специальных шейдеров и/или корректировок.
Пример настроек подповерхностного рассеяния, показанный в 3ds Max.
Геометрия стекла
При создании геометрии для 3D-объекта, содержащего стекло, важно помнить, что для правильного преломления стекла геометрия должна иметь толщину.
Стеклянная модель герметизирована внутренней и внешней стенками по толщине.
Геометрия стекла также должна быть водонепроницаемой для правильного преломления. Будьте осторожны, чтобы на краях геометрии стекла не возникали артефакты рендеринга из-за пересечения геометрии.
Пересекающаяся геометрия может вызвать артефакты рендеринга, если не соблюдать осторожность.
Этот раздел предназначен для помощи в создании прозрачных материалов с помощью 3ds Max: V-Ray. Важно иметь последовательный рабочий процесс. При создании материала вы уже должны знать, какую прозрачность нужно использовать. В зависимости от того, используете ли вы непрозрачность или преломление, некоторые настройки материала будут различаться.
Отдельные объекты
Все прозрачные материалы должны быть отдельными объектами модели. Это упрощает применение материалов, выбор объектов, проходы рендеринга и многое другое. Это также необходимо для преобразования материалов.
Все стекла этой модели Mercedes представляют собой отдельные объекты с применением отдельных прозрачных материалов.
Установка значений
При установке значений прозрачности убедитесь, что значение RGB находится в диапазоне от 2% до 98%. Это примерно от RGB (5,5,5) до RGB (250 250 250).
Диапазон значений должен находиться в диапазоне значений RGB от 5 до 250.
Значение IOR
Показатель преломления должен быть установлен на реалистичное значение. Списки для справки можно легко найти в Интернете. Обычно среднее значение IOR для преломляющих материалов находится в диапазоне от 1,2 до 1,8. Некоторые материалы могут превышать значение 2, например алмаз.
Этот водный материал имеет физически точный IOR для преломления.
Дополнительные настройки
Необходимо настроить преломляющие материалы, чтобы они влияли на альфа-канал. Эти материалы также должны воздействовать на тени. Обе эти настройки обеспечивают точную визуализацию.
Преломляющие материалы влияют на альфа-канал и влияют на тени.
Использование карт непрозрачности
Для карт непрозрачности чем темнее значение, тем прозрачнее. Чем ярче значение, тем более непрозрачно.
После завершения карта непрозрачности будет вставлена в слот карты непрозрачности ваших материалов. Эта карта перенесена в игровые движки и должна читаться правильно.
При подключении карты непрозрачности убедитесь, что она загружена в цветовом пространстве sRGB для вашего приложения, чтобы предотвратить гамма-осветление окрашенных значений непрозрачности.
Подключите используемую карту непрозрачности. Пример показан в 3ds Max.
Использование карт преломления
Для преломления чем темнее значение, тем более непрозрачно. Чем ярче значение, тем прозрачнее.
При создании модели со свойствами преломления мы разрешаем использовать карту преломления, которая помещается в слот цвета преломления вашего материала. Вы также можете использовать палитру цветов, чтобы выбрать значение, если вы не хотите использовать карту.
При подключении карты преломления убедитесь, что карта загружена в линейном цветовом пространстве. Это делается для того, чтобы нарисованные значения карты давали такие же результаты, как если бы вы использовали палитру цветов.
Можно использовать значение цвета или карту преломления. Пример показан в 3ds Max.
Для приложений DCC, таких как 3ds Max, Maya и C4D, обычно результаты совпадают в пределах 90 % друг от друга. Одно приложение может отображать немного темнее, чем другое, но в целом результаты должны быть одинаковыми.
При просмотре версии модели StemCell в реальном времени вы можете заметить некоторые заметные различия. Поскольку механизмам рендеринга в реальном времени необходимо поддерживать плавную частоту кадров, они не могут давать результаты, которые мы обычно видим при просмотре модели с прозрачностью в 3ds Max. Это серьезно ограничивает возможности создания реалистичных прозрачных материалов в игровых движках.
Имея это в виду, при создании карты непрозрачности для RT-ресурса вам нужно проявить творческое суждение, чтобы она максимально точно соответствовала рендерингу приложения DCC.
Здесь мы покажем, как включить прозрачность для стандартных, физических и совместимых с glTF материалов PBR в 3ds Max.
Смешанный и маскированный
Являясь 3D-движком реального времени, Verge3D предлагает два основных метода обработки прозрачных объектов: альфа-смешение и альфа-отсечение (обычно с маской изображения). Смешивание позволяет комбинировать полупрозрачный цвет переднего плана с цветом фона, используя альфа-канал цвета переднего плана в качестве коэффициента смешивания. Отсечение, с другой стороны, просто отбрасывает все пиксели с альфа-каналом меньше некоторого предопределенного порога (всегда равно 0,5 в Verge3D для 3ds Max).
Смешивание обеспечивает плавные переходы, обычно выглядит лучше, но требует больше вычислительных ресурсов, чем отсечение. Он также может создавать артефакты z-сортировки, когда полигоны отображаются в неправильном порядке. Отсечение лучше всего подходит для визуализации множества мелких объектов (например, травы или листьев деревьев). Он также создает резкие края без каких-либо переходов, которые могут быть сглажены.
Используйте раскрывающийся список Alpha Mode в настройках материала, чтобы выбрать между смешиванием и маскированием.
Аддитивное сочинение (также известное как запись без глубины)
Verge3D также предлагает специальный режим для отключения записи в буфер глубины во время рендеринга. Это приводит к тому, что полигоны исключаются из сравнения глубины пикселей. Такие полигоны компонуются аддитивным способом, что иногда помогает избавиться от артефактов смешивания.
Выберите «Добавить» или «Смешение» в раскрывающемся списке «Режим альфа-канала» и снимите флажок «Глубина записи» в настройках материала, чтобы включить этот режим. Кроме того, вам нужно будет увеличить значение порядка рендеринга в настройках объекта, чтобы сделать прозрачным объект, отображаемый в первую очередь.
Прозрачность для физических материалов
Прозрачность физических материалов можно настроить с помощью одноименного параметра материала.
- Прозрачность — степень прозрачности, цвет и шероховатость. Параметры цвета и шероховатости поддерживаются только для прозрачности на основе преломления (тонкостенные выключены).
- Тонкостенный — используйте общую прозрачность (тонкостенный включен) или прозрачность на основе рефракции (тонкостенный выключен).
- Альфа-режим — режим прозрачности материала.
- Глубина записи — отключите для создания аддитивной прозрачности (см. выше).
По умолчанию в 3ds Max параметр "Тонкостенный" не отмечен, что отключает наиболее типичную визуализацию прозрачности, которую вы ожидали увидеть в своем интерактивном приложении. Всегда следите за этим параметром, когда имеете дело с прозрачными физическими материалами.
Любая комбинация карт и изображений может использоваться для воздействия на прозрачность с помощью ввода карты прозрачности.
Прозрачность стандартных материалов
Прозрачность стандартных материалов можно настроить с помощью параметра "Непрозрачность" в настройках материала.
Ввод непрозрачности стандартных материалов можно использовать для создания интересных зависимостей для большей реалистичности.
В качестве входных данных можно использовать изображение с информацией о прозрачности в его альфа-канале. Вместо этого можно использовать отдельное альфа-изображение.
Используйте раскрывающийся список "Режим альфа-канала", чтобы выбрать один из режимов прозрачности.
Прозрачность материалов PBR, совместимых с glTF
Чтобы обеспечить прозрачность для таких материалов, следует использовать отдельную альфа-карту, связанную с вводом Карты прозрачности физического материала.
Используйте раскрывающийся список "Режим альфа-канала", чтобы выбрать один из режимов прозрачности.
С каждым новым годом и каждой версией 3Ds Max я снова пытаюсь понять, почему это никогда не исправлено, и как найти лучшее решение этой надоедливой проблемы. Это просто (или должно быть просто), если у вас есть изображение с информацией о прозрачности (альфа-канал), и вы хотите, чтобы оно хорошо отображалось независимо от фона. На изображении выше вы видите темный ореол на границах, который выглядит ужасно. То же самое происходит, если фон в рендере белый, а позже, когда вы накладываете его на черный фон, вы все еще видите белые границы.
Это также влияет на сглаживание, которое зависит от прозрачности. Таким образом, даже если вы не используете полупрозрачные материалы, у вашего объекта могут быть проблемы с границами, когда вы компонуете изображение в любой программе 2D-редактирования или игровом движке.
Следующее является правильным способом того, как вы хотите, чтобы PNG с прозрачностью вел себя:
Затем, когда я погуглил, оказалось, что лишь несколько человек разделяют эту озабоченность. В дискуссиях на форуме вы найдете много разных мнений, сложных решений и споров о том, виноват ли в этом 3Ds Max или Photoshop… или я сам виноват в том, что был настолько глуп, что так и не нашел ту секретную сверхскрытую конфигурацию, которая заставляет 3Ds Max спасать. PNG справа.
Простой тест позволяет выяснить, кто виноват. Откройте файл 3Ds Max .PNG в Gimp 2 или перетащите его в новое сообщение Gmail. Попробуйте где-нибудь еще, и вы увидите, что он будет отображаться неправильно с черными или белыми границами фона.
Почему это происходит?
Если у вашего изображения есть альфа-канал, то цветовой канал должен состоять из чистых цветов, НЕ смешанных с фоновым цветом. Они должны быть полностью независимыми. Но 3Ds Max думает по-другому: они всегда используют предварительно умноженные альфа-каналы и усложняют задачу тем, кто хочет скомпоновать изображения вне Max. (Проверено со всеми версиями до Max 2014. О более поздних версиях я пока не знаю, но могу поспорить, что они все еще есть.)
Решение 1 – EXR или TGA
Используйте другой формат файла, например OpenEXR или TGA. Да, это решает проблему, но я хочу использовать .PNG. он маленький, популярный и сексуальный.
Решение 2 — Photoshop
В Photoshop исправьте «Удалить белый | черный матовый». Он отлично работает, фиксируя смешанные каналы RGB.
Выберите «Слой» > «Подложка» > «Удалить белую | черную подложку»
Ну, какое-то время я был доволен, но теперь мне нужно было больше скорости, потому что Photoshop делает это слишком медленно, и вам нужно подождать, пока он обработает все изображения, чтобы снова использовать Photoshop.
Решение 3. Преобразование ImageMagic в PNG
ОБНОВЛЕНИЕ: это решение оказалось более надежным, когда я обнаружил случаи, когда мое окончательное решение 4 не удалось.
ImageMagick! Я уже некоторое время использовал инструменты ImageMagick и теперь хотел найти решение для моих грязных PNG.
– Установите инструменты командной строки.
– При выводе рендеринга в 3Ds Max в формате TGA.
– Отключить «предварительное умножение альфа-канала» в диалоговом окне настройки TGA.
– Установить черный фон (0,0,0)
– Затем преобразовать в PNG с помощью ImageMagic convert для отдельных файлов
конвертировать image1.tga image2.jpg
– или mogrify для нескольких файлов с сохранением имени файла
mogrify -формат png *.tga
Решение 4. Мое собственное удаление матовости
У меня есть собственный графический модуль, разработанный в течение многих лет после Delphi 7, который делает много небольших эффективных полезных вещей, напрямую играя с пикселями.
Теперь с Delphi XE3, который поддерживает загрузку/сохранение PNG, я создал этот консольный инструмент, который исправляет мои PNG в 10 раз быстрее, чем Photoshop, просто с помощью этой строки в командной строке Windows:
dpxtool fixalpha *.jpg черный
И это работает. 😀
Сообщите мне в комментариях, работает ли какое-либо из этих решений для вас или у вас есть решение получше! 😉
Исходные изображения (щелкните правой кнопкой мыши, чтобы загрузить PNG):
Изображение, созданное с помощью 3ds Max 2014. Посмотрите, как отображаются черные рамки в браузере:
Читайте также: