Делюсь бесплатным скриптом для запекания (baking) текстур с высокополигональной модели на низкополигональную через Render To Texture в 3ds Max. Написал для себя, но решил выложить в общий доступ — может пригодиться тем, кто ищет альтернативу платным решениям.Скрипт полностью бесплатный. Без ограничений. Без таймеров. Без регистрации!
Возможности Запекание карт: Diffuse/Albedo, Normal Map, Ambient Occlusion, Roughness, Metallic, Emissive. Каждую карту можно включить отдельным чекбоксом, есть кнопки All/None для быстрого выбора.Настройки бейка: UV Channel (1–99), Padding (0–128 px), Ray Dist (если оставить маленьким — скрипт сам рассчитает оптимальную дистанцию как 15% от большей диагонали bbox источника и цели), AA Samples, Map Size (512/1024/2048/4096/8192), Format (TGA/PNG/JPG/BMP/TIF/EXR).
Работа с источником: Авто-выравнивание Target по Source. Если пивоты далеко друг от друга — Target временно смещается на место Source, делается бейк, Target возвращается на исходную позицию. Руками ничего двигать не нужно.Авто-коррекция фильтрации битмапов источника (Blur 0.01 + Summed Area) — убирает «мыло» и артефакты на стыках UV. После бейка оригинальные значения восстанавливаются, сцена не портится.Проверка отсутствующих текстур — если у Source не хватает битмапов, в конце будет предупреждение.
Работа с рендером: Авто-переключение на Scanline. Если стоит Arnold/V-Ray/Corona — скрипт временно переключит движок на Scanline (Arnold, например, вешает Max на rendertype:#bakeSelected), а после бейка вернёт ваш родной рендер обратно.Progress Bar и живой статус-бар.
Проекция: Projection modifier настраивается автоматически.projectionMethod = NormalBased вместо Closest — чистые швы без чёрных артефактов на органике (мороженое, персонажи, скульпт).rayOffset считается от bbox-диагонали источника и цели — лучи не промахиваются мимо low-poly, даже если Source и Target сильно различаются по размеру.useCage = false — нормаль-ориентированная проекция, стабильнее.
Результат: Автосборка PhysicalMaterial после бейка: Diffuse → Base Color, Normal → Normal_Bump, Roughness → Roughness Map (с авто-инверсией, если бейкался глосс), Metallic → Metalness Map, Emissive → Emission Color с интенсивностью 1.0.Авто-назначение материала на Target (опционально).Авто-удаление Projection modifier после бейка (опционально).Авто-открытие папки с результатом (опционально).Файлы сохраняются как <TargetName>_<MapName>.<ext>.
Демонстрация сделана «на скорую руку» — без нормальной UV-развёртки и без подготовки Source-материала. Пустые Roughness/Metallic — следствие отсутствия этих карт у исходника, а не ошибка скрипта. Если сделать всё правильно — корректную развёртку на Target, подложить все нужные карты в Source-материал (Diffuse, Normal, Roughness, Metallic, AO, Emissive) — то результат будет соответствующий: чистые карты без артефактов, корректный бейк и готовый PBR-материал на выходе
Про платный аналог У пользователя sofiakholina есть похожий скрипт TexBake — платный. Он тоже запекает карты High→Low, но за него нужно платить. Моя версия делает то же самое и отдаётся бесплатно. Не претендую на оригинальность идеи — bake в 3ds Max существует давно — но конкретный набор удобств, который я собрал здесь (авто-выравнивание, авто-фильтрация битмапов, авто-возврат рендера, авто-сборка материала, NormalBased-проекция без чёрных швов), считаю полезным и хочу, чтобы это было доступно всем бесплатно.
Про платный аналог У пользователя sofiakholina есть похожий скрипт TexBake — платный. Он тоже запекает карты High→Low, но за него нужно платить.
а к чему констатация факта?
может он и платный, но стоит копейки. Чего уж там, запилите 3dsMax он ведь тоже платный
И скрин с мороженным сделал похожий. У вас нет идей своих?
Сравнение уровня детского сада. 3ds Max — продукт Autodesk с бюджетом в миллиарды. Мой скрипт — мой личный проект, который я написал сам и отдаю даром. Ставить их в один ряд — либо глупость, либо попытка уколоть. Не получилось
Про платный аналог У пользователя sofiakholina есть похожий скрипт TexBake — платный. Он тоже запекает карты High→Low, но за него нужно платить.
а к чему констатация факта?
может он и платный, но стоит копейки. Чего уж там, запилите 3dsMax он ведь тоже платный
И скрин с мороженным сделал похожий. У вас нет идей своих?
Мороженое — стандартный тестовый объект для демонстрации baking. Он есть в любом туториале по Substance, Marmoset, RizomUV, Unwrella. Я взял его потому, что он показывает работу нормалей и AO лучше куба. У тебя плохо с логикой. Идей у меня хватает))
считаю полезным и хочу, чтобы это было доступно всем бесплатно.
Правильно, а то в последнее время как-то мало грузят ИИ-моделей на 3ddd.) Теперь вообще красота — даже соседская бабушка или первоклассница сможет сделать модель, запечь карты и занять место на сервере. Благо терабайты там бесплатные 😄
считаю полезным и хочу, чтобы это было доступно всем бесплатно.
Правильно, а то в последнее время как-то мало грузят ИИ-моделей на 3ddd.) Теперь вообще красота — даже соседская бабушка или первоклассница сможет сделать модель, запечь карты и занять место на сервере. Благо терабайты там бесплатные 😄
На сайте c 26.05.2019
Сообщений: 629
Млечный Путь, Солнечная система, Земля
Да что вы на него накинулись?
Ну "написал" скрипт и написал. Может при положительной реакции навайбкодит вам нормальный Floor Generator, изначальный скрипт в 3DsMax потрясающе ужасен :)
*специально для зануды - всё, я идею сказал, больше никому нельзя :)))
Цитата Manax:
ИИ-моделей на 3ddd
Согласись, что по факту претензии к накруткам и временами странной модерации. Не знаю, как на 3ddd, а статистика того же CGTrader показывает, что нейрослоп массово грузят, но не покупают
zeroid, а сейчас мне кажется, что это не так важно, если скрипт работает без косяков, главное то результат, а не процесс, что то годное навайбкодить, оттестировать во всех возможных вариантах тоже надо уметь, тут примитивный запрос выдаст только мусор
vooltex, А ты навайбкодил скрипт или самописный? Вопрос ради праздного интереса по сути.
А так респектую, влюбом случае.
больше половины написал сам — логику, структуру, сборку. Остальное — когда застревал, а на форумах и в офф-доках ответа не было, спрашивал у ии про синтаксис -ошибки, баги, и тд))
albatr0s, Это да, если понимаешь логику и шаришь в принципе, то не имеет особой разницы. Если в этом дуб, как я, то я и навайбкодю и не пойму где норм, а где овно.