Как облегчить высокополигональную 3d модель в 3ds max?
Есть множество решений как можно облегчить сцену и объекты в сцене. Можно работать слоями, кто-то использует прокси для тяжелых объектов, некоторые отключают текстуры во вьюпорте. Но у нас есть другое решение для этой проблемы.
Мы вам расскажем про модификатор ProOptimizer. Логика его работы не сложная, он берет и уменьшает количество полигонов на модели, чаще всего его использую если объекты находятся далеко от камеры, через которую мы рендерим и этот объект сложно рассмотреть детально. Но его так же можно использовать и на объектах, которые стоят на переднем плане. Но тут уже нужно использовать модификатор аккуратно. И так давайте начнем.
Давайте для примера возьмем ковёр, у которого 8 миллионов полигонов, что довольно много.
Для “экспериментов” возьмем и скопируем ковер, типом Copy.
Почему именно Copy? Потому что при копировании методом instance, когда мы будем изменять второй объект будет изменяться и первый.
И так, теперь начинается работа с модификатором, на наш второй ковер применяем модификатор ProOptimizer, затем нам нужно поставить галочку на Keep Textures, эта функция позволяет сохранить первоначальные координаты текстур, что бы при уменьшении полигонов у нас не растянулись или не потерялись текстуры.
После просчета модель может увеличиться в 2 раза и в ней будет в 2 раза больше полигонов (вместо 8 стало 16 миллионов). Сейчас же начинается самое интересное. Нам нужно выбрать нужное количество полигонов, чтобы не потерять саму форму и качество модели. Нам нужно начать экспериментировать с значение процента в графе Optimization Level, значение Vertex% отвечает за уменьшение точек в процентном соотношении.
И так давайте сравним результаты до и после.
Как мы видим результат поражает, практически не потеряв в качестве и визуальной составляющей ковра мы облегчили его в 2 раза, а представьте если использовать это не на одной тяжелой модели, а на всех. Но главное тут находить идеальный процент, что бы объект не терял вид. Если модель находиться на переднем плане, то главное не переусердствовать с данным модификатором.
Этот модификатор так же помогает довольно сильно и в экстерьере, когда у вас дом, деревья или же какой-то другой высокополигональный объект находится далеко, то его можно всегда оптимизировать и сделать сцену легче. Вот примеры учеников нашей школы, где данный модификатор использовался:
Как уменьшить вес файла 3D max: советы опытных CG художников
Как уменьшить вес файла 3D max, но вместе с тем не потерять качество изображения? Этот вопрос приобретает особую актуальность для CG артистов, которые хранят много работ или пересылают значительные объемы данных. Менторы курсов 3D визуализации CGI School расскажут о трех способах уменьшения веса файла: оптимизация сцены, оптимизация текстур и архивирование файла. Рассмотрим подробнее каждый из вариантов.
Как оптимизировать сцену, чтобы уменьшить вес файла 3D max?
Размер max-файла зависит от его наполнения. Сцена состоит из света, камер и дополнительных элементов. Львиную долю объема файла занимает геометрия (тела и линии). Чтобы уменьшить вес файла с помощью оптимизации сцены, необходимо:
- удалить лишние элементы. Часто в процессе работы мы ставим в сцене разные модели в 3D max, чтобы увидеть, какая из них лучше подходит. Но не всегда удаляем то, что осталось. Такой мусор может быть также скрыт в разных слоях. Кроме того, удаление хлама облегчит навигацию в вьюпорте, ускорит рендер, уменьшит время на хранение файла, снизит шансы на вылет сцены;
- удалить элементы, которых не видно в камере непосредственно или в отображениях, не создающих теней. К примеру, если вы строите сцену гостиной в 3D max, то строить и наполнять моделями санузел не нужно;
- удалить чертежи, чтобы уменьшить вес файла 3D max. Иногда при работе мы импортируем из других программ довольно большие чертежи. Сами линии не тяжелые, но их может быть слишком много или они размещены на десятках или сотнях слоев. Когда они больше не нужны, удаляйте их;
- удалить лишние слои, группы, свет, камеры. Группа в 3ds max такая же логическая единица, как и тело. У нее свои размеры и расположение. Слои легче, но их бывает очень много, они могут быть скрыты от отображения во вьюпорте или же в них скрыты другие элементы. Иногда используются скрытые камеры и свет. Большое количество камер замедляет навигацию и поиск необходимого;
- оптимизировать тяжелую геометрию, чтобы уменьшить вес файла 3D max. Это позволяет уменьшить количество полигонов модели иногда в десятки раз. Руководствуйтесь правилом: чем дальше второстепенная модель от камеры, чем больше она не в фокусе кадра, тем больше ее можно оптимизировать;
- обязательно делать повторяющиеся элементы (геометрия, свет) инстансными (instance) при копировании. Фактически вы полностью описываете один объект, а все дубликаты воспринимаются системой как ярлычки;
- тяжелые повторяющиеся элементы (трава, деревья и т.п.) следует превращать в proxy-элементы. Это упрощает навигацию в компьютере при настройке сцены в 3D max и уменьшает основной файл (хотя для proxy-объекта будет создан отдельный файл на диске).
Как оптимизировать текстуры для уменьшения размера всего проекта?
Чтобы уменьшить вес файла 3D max, используйте правило: оптимизируйте текстуры материалов до размеров, которых вам будет достаточно. К примеру, вы планируете получить картинку с финальным размером Full HD (1920×1080). На ней будет изображена комната со столом и стульями. Если текстура разложена на столе один раз (не повторяется и не обрезана), не нужно выбирать слишком подробный размер. Он не должен превышать параметры изображения. Достаточно 2k (2000 пикселей по горизонтали).
Есть много сервисов и библиотек, где доступны для скачивания текстуры материалов разного размера. Там можно выбрать качество детализации — 2k, 4k, 8k (2000, 4000, 8000 пикселей по горизонтали). Выбирая более подробную, вы увеличите объем архива с проектом, требования к объему оперативной памяти, необходимой для рендера картинки, и время самого рендера.
Если же модель в 3D max занимает небольшую часть картинки, то и требования к текстурам, использованным для нее, пропорционально уменьшаются. К примеру, та же группа, стол со стульями, но они стоят на фоне, в дальнем углу комнаты, занимая десятую часть длины изображения. Считаем: 1920 х 10 % = 192. В таком случае даже текстуры 500×500 точек будет достаточно, чтобы передать материал стола.
Также нужно смотреть на композицию. Второстепенным объектам в 3D max уделяйте меньше внимания. И наоборот: для акцентных (даже визуально небольших) вещей или предметов на переднем плане следует подробнее проработать материалы. Лучше проверить материалы на импортируемых моделях и при необходимости уменьшить текстуры до нужного уровня.
Как упростить работу в тяжелой сцене 3d max?
Приветствую! Вот какая проблема: работаю над 3d макетом улицы, на данный момент в сцене около 30 миллионов полигонов и это еще не предел, должно быть больше. Как не сложно догадаться, работать в сцене уже адски тяжело и с каждым новым объектом легче не становится, макс часто вылетает и по-долгу приходится ждать отклика. В связи с этим хотелось бы спросить у знающих о методах упрощения без потери качества. Дело в том, что мне предстоит создать еще и видео в этой сцене, и, при том что пк достаточно мощный,я боюсь, как бы это не стало невозможным при таких тенденциях. Из того что знаю и чем пользуюсь: готовые объекты в сцене при помощи object properties превращаю в боксы, по возможности работаю с отдельными частями сцены, остальное скрываю. Вот, пожалуй, все. Но уверена, что есть методы, о которых я просто не знаю, позволяющие создавать масштабные сцены. Заранее спасибо!
На сайте c 21.09.2009
Сообщений: 74
RU
Слои, XREF, Proxy, Adaptive Degradation
На сайте c 31.03.2011
Сообщений: 9798
Renderfarm
а рендерить вы ролик надеюсь не на своем рабочем компе собираетесь? ибо просчет может занять месяцы, если не годы на одной машине, для этого надо на рендер ферму
а по части оптимизации — обязательно использовать прокси и слои
На сайте c 14.06.2012
Сообщений: 14970
Москва
Ещё есть такой момент:
Если в сцене большое кол-во объектов, она может сильно тормозить вне зависимости от количества их полигонов или сплайнов.
Тысяча лёгких инстансов шевелится тяжелее, чем если их все зааттачить в один меш или сплайн, но расход памяти возрастёт.
Восстановление и оптимизация сцены в 3Ds Max.
В этом видео мы разберем наиболее частые проблемы при открытии сцен в 3Ds Max.
Исправляем ошибки возникающие при долгом открытии сцен и частом вылете программы.
Восстановление и оптимизация сцены в 3Ds Max.
В этом видео мы разберем наиболее частые проблемы при открытии сцен в 3Ds Max.
Исправляем ошибки возникающие при долгом открытии сцен и частом вылете программы.
ТАЙМ-КОД ВИДЕО ПО УРОКУ:
ТАЙМ-КОД ВИДЕО ПО УРОКУ:
- 00:00 — Вступление
- 00:10 — Долгое открытие сцены. Merge
- 01:55 — Поиск проблемной геометрии
- 02:50 — Объединение геометрии. QuickAttach
- 04:15 — Конвертация в CoronaProxy
- 06:23 — Чистим сцену. Prune Scene
- 07:30 — Вирусы. Scene Security Tools
- 08:14 — Копирование объектов. Copitor
Как открыть сцену с ошибкой Application Error. Сцена max* не открывается и вылетает.
Иногда бывает что при открытии сцены в 3Ds Max всплывает ошибка о немедленном закрытии программы, либо сам файл долго грузится и отказывается открываться. В таких ситуациях проще вставить элементы проекта по отдельности через команду Merge, способом исключения можно выделить те объекты которые долго открываются, либо с поломанной геометрией.
- Переходим во вкладку File — Import — Merge
- В открывшемся окне Merge в списке типов элементов (List Types) снимаем отметки Helpers, Space Warps, Bone Objects и наоборот отмечаем пункт с импортом настроек рендера и сцены Render Settings.
- Нажимаем All и пробуем вставить всю сцену целиком.
- В случае, если файл все таки не открылся, закрываем программу и пробуем снова, но уже выделяем геометрию частями. Способом исключения, по 20-30 штук, подмечая на каком элементе программа перестанет вставлять предметы. Таким образом, мы спасем хоть и не все детали проекта, но хотя бы большую его часть, а при хорошем исходе потеряем всего пару предметов.
APPLICATA + CONNECTER
MATERIALS LIBRARY
- 2048 различных материалов: стекла, металла, дерева, камня, кирпича, краски, пластика, бетона, плитки, штукатурки, тканей, кожи, земли и прочее.
- Вся база структурирована в менеджере материалов Connecter.
- Вес всей базы 36,2 ГБ
- Поддержка с установкой.
Проблема долгого открытия сцены в 3Ds Max.
Если 3Ds Max очень долго открывает ваши сцены, либо вовсе зависает и перестает работать в процессе, то явно необходимо принять меры. Всего можно выделить две проблемы.
- Первая это лишние скрипты-вирусы которые заразили сцену вместе с какой либо моделью стороннего производителя, о них вы сможете прочитать далее в статье.
- Второе, это тяжелая геометрия с большим количеством деталей. Дело в том, что 3Ds Max не любит большое количество отдельных элементов геометрии, а тем более когда они в группе, а эта группа еще в одной группе и так далее. Программе намного проще когда все предметы в одном единственном Mesh (Editable Poly) чем когда они отдельно и сгруппированы. По этой причине я бы советовал сводить детали воедино через команду Attach, а если предметов сильно много то использовать отдельный скрипт QuickAttach
Вредоносные скрипты
Крайне неясным остается вопрос откуда берутся изначально и каким образом попадают в вашу сцену max* вредоносные скрипты. Если ваша работа в программе становится невыносимой: постоянные принудительные закрытия 3Ds Max, долгие открытия проекта, не выходит сохранить сцену, вылеты при отмене действия, монструозно очень высокий вес файла там где этого не должно быть, то стоит проверить программу на заражение скриптами. Помимо ручных решений есть и автоматизированные.
- Бесплатное официальное приложение от Autodesk 3ds Max Scene Security Tools 2015-2022. После простой установки и перезагрузки 3Ds Max, при возможных вирусах будет всплывать сообщение о чистке сцены, как на скриншоте ниже.
- Жмем Clean corruption
по 3Ds Max + Corona Render
- Полный курс включает в себя 13 видео.
- Общей длительностью 9 часов 28 минуты.
- Бессрочный доступ к курсу.
- Без рекламы.
- Очень полезный скрипт Prune Scene — это комплексное решение по чистке всей сцены сразу. Он условно бесплатный, при старте будет всплывать окно с поддержкой проекта. Установка простым перетаскиванием файла скрипта в окно вьюпорта.
- Нажав на иконку скрипта (желтый треугольник) выбираем цифру указанную в описании.
- Жмем «Выбрать все», отмечаем все галочки с действиями. Советую быть особо аккуратным с пунктом Missing Bitmaps (потерянные текстуры) и Corona Assets (потерянные файлы Corona, к примеру LUT), так как потерянные ассеты лучше искать через скрипт Relink Bitmaps. А если вы создали ключи анимации (например у камер) то выключаем и Anim Keys.
- Жмем СТАРТ, после завершения сохраняем сцену. Советую сравнить размер файла до и после чистки.
- В скрипте есть также и решение по защите от вирусов, советую сразу включить Активную защиту и проверить открытую сцену на вредоносные скрипты.
MINIMAL INTERIOR
Онлайн-курс 3D визуализации интерьера
в 3Ds MAX и Corona Render
Использование Proxy
Вопреки расхожему мнению использование Proxy файлов не сделает ваш рендер качественнее и быстрее, по сути, если хватает оперативной памяти, рендер будет стартовать даже быстрее без Proxy. Другое дело, когда памяти видеокарты и оперативной памяти не хватает, что случается чаще всего. Cцена очень туго вращается, с малым количеством кадров в секунду (FPS, можно узнать нажав «7» на клавиатуре), а при нехватке оперативной памяти будет очень долго стартовать рендер на этапе Scene parsing и Geometry в Corona Render. В случае, если программе все же удалось выгрузить все данные сверх лимита оперативной памяти в файлы подкачки на жесткий диск C, то не факт что рендер будет идти с должной скоростью, так как могут быть не задействованы все ядра компьютера. Процессор может не рендерить на все 100%. Подробнее о конфигурации компьютера для 3Ds Max вы можете узнать из статьи.
Особо тяжелые модели можно упросить переведя в Proxy, во вьюпорте они будут отображаться в виде облака точек, либо упрощённого бокса, а из за сжатия будут потреблять меньше оперативной памяти.
Очень важно предварительно свести модель состоящую из множества отдельных элементов в один единый объект, вручную Attach, либо скриптом QuickAttach. Иначе каждый отдельный предмет будет отдельным Proxy файлом.
- Выделяем модель и ищем в Corona Toolbar клавишу с иконкой прозрачной ёлки Run Corona Proxy Eхporter.
- В Output options указываем путь в папку Модели вашего проекта, предварительно лучше создать в ней папку Proxy.
- Жмем Export selected objects.
- Предмет превратится в облако точек, что значительно сэкономит ресурсы видеокарты. Плотность точек изменяем в свойствах Proxy, параметр Point Cloud.
- Все одинаковые объекты лучше всего копировать Instance.