Как перевести объект в прокси

Прокси в 3D Max

Прокси в 3D Max. Большие проекты по визуализации архитектуры, сложных технических объектов, интерьеров и т. д. содержит несколько сотен тысяч полигонов. В отдельных случаях их количество превышает миллионы.

Прокси в 3D Max. Большие проекты по визуализации архитектуры, сложных технических объектов, интерьеров и т. д. содержит несколько сотен тысяч полигонов. В отдельных случаях их количество превышает миллионы.

И не всегда мощности компьютера хватает для того, чтобы можно было комфортно продолжить работу над сценой. Начинаются зависания, 3D Max тормозит или даже периодически вылетает. Это делает дальнейшее моделирование крайне затруднительным или даже невозможным. Знакомо? С этим можно бороться.

Один из наиболее эффективных инструментов — прокси в 3D Max. Визуализаторы, которые работают над сложными проектами на личном компьютере, считают его своим незаменимым помощником. Прокси в 3D Max позволяет в несколько кликов разгрузить сцену, не удаляя объектов, и продолжить моделирование.

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

Как правильно использовать прокси в 3D Max?

Прокси — особый компьютерный алгоритм. Он исключает из сцены большее количество полигонов сложной модели. При этом они не исчезают и не удаляются. Этот метод переносит их в специальный прокси-файл, где они хранятся вплоть до рендеринга сцены. Также их можно вернуть в любой момент, нажав несколько клавиш.

Чтобы активировать прокси, необходимо:

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

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

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

Альтернативы прокси

Мы описали наиболее эффективный способ разгрузить сцену. Однако есть и другие. Они проще в использовании, но и не дают такого заметного эффекта.

Чтобы снизить нагрузку на компьютер, вы можете:

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

Источник

Repetitor3d.ru

3d графика и дизайн

Как перевести объект в прокси

Как облегчить сцену: proxy в Corona и VRay

Большие, наполненные деталями интерьеры и экстерьеры, созданные в 3д макс, не редко включают в себя до половины миллиона полигонов. И далеко не каждому компьютеру хватит мощности вытянуть такое количество: сцена начинает вращаться скачками, проседает FPS, программа начинает виснуть, а иногда даже вылетает.

Бороться с этим можно несколькими способами, например:

Что такое прокси

Прокси — это специальный алгоритм, который выгружает информацию о модели в сторонний файл, оставляя в сцене лишь упрощенную его версию, снижая количество полигонов. Особенно его актуально использовать при большом количестве деревьев и травы в сцене, так как они «съедают» очень много памяти видеокарты.

Результат конвертации в прокси не влияет на рендер, модель подгружается из специального файла и мы видим ее в оригинале, не упрощенной. Экономия ресурсов при использовании этого полезного инструмента 3ds max просто огромная.

Как перевести объект в прокси

Как подготовить модель к переводу в proxy

Прежде чем переводить (конвертировать) объект в прокси, нужно 3d-модель подготовить. Конвертировать следует только конечный результат. Поэтому:

Как пользоваться прокси в Vray

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

Как перевести объект в прокси

Как пользоваться вирей прокси далее рассказываю в пошаговой инструкции:

Выбирайте такое количество faces, которое оставит вам хоть какое-то понимание об объеме модели.

Как перевести объект в прокси

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

Как перевести объект в прокси

Настройки

Теперь разберем некоторые настройки VRayProxy. Переходим в раздел Modify. Полезными будут параметры:

Как перевести объект в прокси

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

Кнопка Import as a Mesh позволяет импортировать исходный файл как Mesh. Текстуры при этом слетают, именно поэтому перед конвертацией в прокси, лучше отдельно сохранять итоговый вариант модели.

Как перевести объект в прокси

Как пользоваться прокси в Corona

Теперь расскажу, как пользоваться этой полезной функцией, если вы используете визуализатор Корона.

Как перевести объект в прокси

Как перевести объект в прокси

Настройки

Переходим в Modify. Тут все примерно также, как и в случае с VRay.

Как перевести объект в прокси

Кнопка Duplicate to Mesh импортирует в сцену оригинальный объект в меше.

Источник

В первой части урока я расскажу, как использовать объект mr Proxy. Собственно в этом нет ничего сложного, но меня удивляет неоднозначное отношение к нему. В форумах некоторые сетуют, что прокси не дают экономии во времени рендеринга, а ожидают того, что чуть ли на 386 процессорах можно обсчитывать огромные сцены. А некоторые высказываются, что в проксях толку нет – только вред. В этом уроке мы на реальных цифрах посмотрим на целесообразность данного объекта. Во второй части мы рассмотрим один из частных случаев оптимизации сцены под быстрый обсчет. В уроке я не буду выкладывать файлы сцен, так как в первой части все элементарно, а во второй части я хочу, чтобы исполняющие сами сделали шейдерный материал, тем самым поняв гибкость шейдерной структуры. Урок исполняется в 3ds Max 2009. Рассчитан на пользователей кто знаком с интерфейсом Макса, ну и конечно желателен опыт работы в нем, чтобы понять целесообразность различных действий.

Часть первая – Proxy

Create – Geometry – mental ray – mr. Proxy

На сцену кладется пустой контейнер. Заходим в свойства созданного mr Proxy, верхняя графа – Source Object – жмем на кнопку с надписью None и мышкой щелкаем по объекту, который хотим сделать прокси-объектом.

Добавлять можно только один объект! Группы объектов и сборки также невозможно добавить в одну проксю. В сети существует скрипт, позволяющий автоматически объединить несколько объектов и сохранить их как прокси-объект, но при совмещение сложных объектов происходить сбой (у меня по крайней мере), поэтому следует помнить пословицу о бесплатном сыре, да и объединить несколько объектов в одну сетку (мэшь) руками не так уж и сложно.

При добавлении в сцену Proxy-объектов, сначала нужно создать пустой mr Proxy, затем в настройках нажать кнопку на поле «Proxy File» и указать путь к файлу объекта.

Важно: При указании имени и расположения файла прокси-объекта, Макс запоминает только линк объекта, открытие файла не происходит! Если проводиться работа группой из нескольких человек над одной сценой, то расположенные на сцене прокси-объекты могут меняться и усовершенствоваться. Открытие файла прокси происходит только при рендере сцены, соответственно и изменения исходного файла учитываются на этот момент. Если файл по указанному пути отсутствует, то рендер выдаст сообщение об этом.

Под окном просмотра раздел порта анимации: «Animation Support». Если при сохранении прокси-файл сохранялся в несколько кадров, то их можно все (или часть) включить а анимацию нашей сцены. Включив параметр «Ping-Pong Replay» можно зациклить анимацию прокси-объекта, на продолжительность всей сцены.

С созданием и добавлением прокси вроде разобрались, теперь про материалы:

В прокси-объект материал не сохраняется! Поэтому при создании возьмите пипеткой материал с создаваемого объекта (если он заранее не подготовлен) и сохраните его в библиотеку, для последующего использования. После добавления proxy-объекта на него можно просто добавить сохраненный материал (структура мэша на уровне элементов сохраняется, поэтому использование multi-sub материала возможна).

В Хелпе на mr Proxy упоминается использование материала «Xref». На мой взгляд использование этого материала актуально только в работе группой, тем не менее давайте его разберем.

Материал X-Ref это материал-ссылка на материал другой сцены.

В настройках путь к файлу сцены (донора) и имя объекта (донора) на указанной сцене:

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

Давайте закончим с теоретической частью и посмотрим эффект от применения прокси на практике.

Для примера я на плоскость состоящую из 2 полигонов добавил 10 одинаковых деревьев (пока без листьев) с усложненной, TurboSmooth’ем сеткой. Итого получилась сцена с четырьмя с половиной миллионами полигонов: (тестирование на машине с E4400 – 2х2Ghz и 2Гб ОЗУ)

Рендерим (GI с минимальными настройками качества)

Рендер 5 минут 30 секунд.

Макс с открытой сценой занимает 322 мегабайт ОЗУ, во время рендеринга используется 1348 мегабайт ОЗУ (в объем ОЗУ включена и ОС и все что у меня висело в трее, то есть это общий расход ОЗУ)

Теперь заменяем все деревья на прокси (для чистоты тестирования удобно полностью копировать параметры положения, наклона и масштаба объекта донора на те же параметры прокси)

Рендер 4 минуты 42 секунды. (Я не стал приводить картинку рендера, она один к одному – отличий нет совсем)

Макс с открытой сценой занимает 282 мегабайта ОЗУ, во время рендера используется 1170 мегабайт ОЗУ.

Время рендера отличается не сильно (на некоторых сценах, это вообще не заметно), а вот экономия ОЗУ очень сильная!

В общем-то последствия ожидаемые, так как рендерить объект из прокси все равно приходиться, учитывать в распространении фотонов тоже, пусть он и представлен в удобном для рендера формате. Отсюда и небольшая разница по времени. А вот из-за того что сам объект не сидит в ОЗУ, а грузиться с диска мы получаем существенную экономию используемой памяти.

Это особенно актуально на машинах с 32-битной системой. Простой пример:

ИТОГ: Proxy экономит оперативную память компьютера, за счет удаления информации об объекте со сцены на диск, что позволяет нам делать более масштабные сцены, и немного экономит время рендера, за счет оптимизированного представления информации о файле.

Часть вторая – экономим время

А как же «все и сразу и чтобы ничего за это не было!» как сэкономить и ОЗУ и время рендера? Вот об этом мы и поговорим во второй части. Для этого перенесемся на совсем слабую машину (с точки зрения 3d графики слабую) это будет :

Можно сказать просто продвинутый офисный компьютер.

Я изобразил не бог весть какой сложности зданьице с минимальном количеством полигонов:

И хочу его обсчитать с большим количеством фотонов и хорошими настройками FG, а еще я хочу обсадить его деревьями!

В результате одиночное здание обсчитывается за 6 минут, а в виде:

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

Спасет нас материал Ambient Occlusion!

Мы можем исключить деревья из непрямой иллюминации, оставив только получение FG (а если не использовать фотометрическую экспозицию и светящиеся материалы можно убрать и получение FG), а все эффекты освещения получим на материале сами.

Итак Ambient Occlusion

Теорию данного материала описывать не буду, кому интересно вот статься Игоря Сивакова:

Также описание настроек и действие упомянуто в моем уроке:

В двух словах Ambient Occlusion имитирует Глобальное освещение на материале путем учета окружающей геометрии, без учета источников света.

Остановлюсь только на 4 нужных нам сейчас параметрах шейдера Ambient/Reflective Occlusion (3dsmax)

Spread – качество размытия границ:

Теперь создадим материал на основе этого шейдера для самого сложного объекта – листьев моих деревьев.

1. Корневой материал «mental ray»

2. Слот Surface (а позже скопируем результат и в Shadow) карта «Mix»

3. То что отсекает маска – будет прозрачным (ставим шейдер Transmat), то что осталось – шейдер Ambient…..

4. В слот Bright я поставил DGS материал с растром листа дерева, а в слоте Dark можно оставить черный цвет, либо тот же материал, но с темной растровой картой.

Весь процесс я изобразил на схемке:

Для поверхностей, где не нужна карта прозрачности(ствол дерева), можно сразу в раздел Surface материала mental ray ставить шейдер Ambient/Reflective Occlusion (3dsmax)

Если мы имитируем эффект глобального освещения, то объекты к которым будет применяться такой материал (деревья) должны быть исключены из расчетов настоящего глобального освещения:

Выделяем все то что у нас не будет участвовать в расчетах(у меня это деревья), правый клик мышки и заходим в свойства объекта, закладка mental ray:

Устанавливаем переключатель для FG в положение Invisible to FG, для Глобальной иллюминации ставим галку на Exclude from GI. Есть еще один параметр – Receive Illumination from FG, это получение результата освещения объектом от расчета FG, на быстродействие он влияет не сильно, а вот при больших значениях экспозиции может сильно попортить яркость картинки, поэтому этот параметр я оставил.

Теперь тестовые рендеры (слева освещаем GI с обычными материалами, справа деревья исключены из GI и материал с АО)

Почему-то результат справа мне нравиться больше.

Результат виден невооруженным взглядом!

Думаю после просмотра результатов урока Вы задумаетесь перед тем как нажать кнопку RENDER – а стоит ли облегчить расчеты компьютеру и получить экономию во времени? А время как известно это деньги!

Источник

Обзор объектов Proxy | VRayProxy

Обзор VRayProxy.

Экспорт меша в файл.

Перед тем, как вы импортируете меш через объект VRayProxy, вам сначала необходимо создать файл с мешем. Вы можете это сделать одним из следующих способов:

Импорт меша из файла

Экспортированный меш, связанный с объектом VRayProxy, можно в любой момент импортировать обратно в меш. Импорт меша из объекта VRayProxy можно сделать двумя способами:

Функция возвращает массив, содержащий вновь созданные объекты типа EditableMesh, или undefined, если не было указано ни одного допустимого объекта VRayProxy.

Диалог Mesh Export

Как перевести объект в прокси

Диалог Mesh Export позволяет вам указать имя файла для экспорта, а также некоторые другие опции.

Как перевести объект в прокси

Preview type – это метод создания предварительного просмотра меша от исходной геометрии. Предыдущие версии V-Ray использовали «face skipping».

Vertex Clustering – использует равномерную сетку с более одной вершиной в каждой ячейке. Очень быстро и надежно, но не сохраняет мелкие детали.

Refined Clustering – этот алгоритм использует два этапа группирования вершин, делая половину работы. Затем более сложный, но более медленный алгоритм заканчивает упрощение меша. С этим методам качество меша увеличивается, чем просто с группировкой вершин, но процесс значительно замедляется.

Face skipping – выбирает случайные фейсы от исходного меше.Это самый быстрый алгоритм, но не работает на связанном меше.

Faces in voxel – максимальное количество фейсов в в вокселе после voxel subdivision.

One voxel per mesh – каждый объект меша будет занимать voxel.

Create Multi/Sub-Object Mtl – этот параметр доступен, когда экспортируется несколько объектов с разными вариантами. При включении, V-Ray назначит Multi/Sub-Object на создание прокси, а соответствующие материалы будут автоматически назначены на соответствующие фейсы.

Condense Multi Mtl – при включении, V-Ray гарантирует, что экспортируются только уникальные материалы.

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

Пример: Параметр Lowest Level Point Size

Этот пример демонстрирует работу параметра Lowest level point size. Более низкие значения означают, что для аппроксимации оригинальной геометрии на самом нижнем уровне (объект находится очень близко к камере) используется большое количество дисков малого радиуса облака точек. Увеличение этого размера будет давать более грубую аппроксимацию с меньшим количеством дисков большего радиуса. При визуализации невозможно достигнуть лучшей детальности, чем она есть на самом нижнем уровне.

Как перевести объект в прокси

Как перевести объект в прокси

Как перевести объект в прокси

Как перевести объект в прокси

Как перевести объект в прокси

Поддержка Alembic

Начиная с версии V-Ray 2.40, объект VRayProxy может загружать и визуализировать файлы в формате Alembic (.abc). В настоящее время распознаётся только геометрия типа меш (без сплайнов или частиц).

Сейчас UV-координаты в файле Alembic импортируются как канал преобразования (mapping channel) 0. Это означает, что в текстурах типа Bitmap, для материалов, присвоенных объектам Alembic-proxy, необходимо выбирать тип преобразования Vertex Color Channel:

Как перевести объект в прокси

Как перевести объект в прокси

V-Ray будет распознавать информацию о скорости (velocity) для эффекта смазывания при движении (motion blur), если она сохранена либо как стандартная скорость для Alembic, либо как свойство типа 3d vector array, именованное как arbGeom.v или arbGeom.velocities.

Дополнительные наборы цветов Alembic импортируются как каналы преобразования (mapping channels) с индексами, большими чем 0 (т.е. 1, 2 etc).

Создание прокси-объекта

Параметры Proxy.

Как перевести объект в прокси

Display

show whole mesh – предпросмотр всего меша целиком.

Animation

Import

Point cloud

Use if prsent – дает возможность использования данных облака точек, если они доступны.

Level multiplier –определяет способ загрузки уровней облака точек. Значение 1.0 означает, что уровень для загрузки точно определен расстоянием от камеры до объекта. Значение меньше 1.0 означают, что уровень будет с большей детальностью, чем требуется расстоянием. Значения больше 1.0 означают, что разрешение уровня будет меньше, чем определено расстоянием. Значение 0.0 означает, что ни одного уровня облака точек не будет загружено, а вместо него будет визуализироваться оригинальный меш.

First map channel – если включен Force first map channel, то это указатель map channel.

Particles

Render mode – определяет, каким образом частицы визуализируются.

Sphere – частицы визуализируются в виде сферы.
Point – частицы визуализируются в виде точек.

Пример: Level multiplier.

Zoom 2xLevel multiplier 0.0Как перевести объект в проксиКак перевести объект в проксиКак перевести объект в проксиLevel multiplier 1.0Как перевести объект в проксиКак перевести объект в проксиКак перевести объект в прокси

Level multiplier 10.0

Как перевести объект в прокси

Как перевести объект в прокси

Как перевести объект в прокси

Proxy Mesh Visibility.

Как перевести объект в прокси

Эти параметры позволяют управлять видимостью компонент прокси в том случае, когда было экспортировано более одного меша. Видимость может управляться либо посредством имён объектов, либо посредством ID’ов объектов.

Lists type – определяет, как понимаются списки.

Alembic Mesh.

Как перевести объект в прокси

Эта секция содержит элементы управления прокси-объекта V-Ray, когда загружен файл Alembic (.abc).

Общие:

Mesh.

Hair

Width multiplier – это множитель позволяет контролировать толщину волос во время рендеринга.

Particles

Preview count – позволяет указать, какое количество частиц отображать во вьюпортах.

Width multiplier – определяет размер частиц при визуализации.

Примечения:

Источник

Proxy- как можно оптимизировать работу

Как перевести объект в прокси

Здрасте всем 3d любителям! Хотел уточнить, насколько правильно будет использование этого способа. Может я ошибаюсь.

Этот способ был для меня неочевиден. Все знают, что если сцену собирать с использованием proxy моделей, то ресурсы памяти очень экономятся. Собирал недавно большую сцену. Памяти не хватало и приходилось проксить. Процент таких моделей был большой. При сохранении save оказался очень быстрый. В чем дело? Дело все в том, что файл то очень маленький! Если так, то можно применять proxy чаще. А может вообще создать в библиотеках готовые дубликаты моделей уже в proxy?!

Насколько я знаю в vray есть такая возможность, что каждую модель из прокси можно перевести обратно в геометрию. То же можно и в corone. Так это же то что надо!

И я потратил время проведя такие действия: создал папку с проксями. При создании новой proxy, геометрию удалил (она не нужна, ведь ее можно вытащить снова). Сохранил max файл. В итоге- при marge в сцену получаем модель с уже присвоенной библиотекой материалов (не надо ее сохранять отдельно). Сцены всегда легкие. Если же мне нужна редактируемая геометрия, можно оставить резерную копию со всеми модификаторами. Хотя для множества сцен к примеру в экстерьере, это не нужно. Вот и собственно все

Как перевести объект в прокси

Только если у вас эти модели все на SSD. Да и то, оперативка быстрее. Иначе вместо оперативки будет постоянно использоватья медленный жёсткий.

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

Как перевести объект в прокси

Я не увидел ни способа, ни вопроса, в вашем сумбурном изложении

Как перевести объект в прокси

Как перевести объект в прокси

можно, у меня сборник эверовский с деревьями весь в проксях. Да файл со сценой легкий, вьюпорт летает, но с количеством уникальных хайпольных моделей даже в прокси нужно быть поаккуратнее, иначе рендер потом может не стартовать длительное время, а иногда никогда)) И не забывать про инстансы, даже с проксями, а то будет бобо.

Как перевести объект в прокси

можно, у меня сборник эверовский с деревьями весь в проксях. Да файл со сценой легкий, вьюпорт летает, но с количеством уникальных хайпольных моделей даже в прокси нужно быть поаккуратнее, иначе рендер потом может не стартовать длительное время, а иногда никогда)) И не забывать про инстансы, даже с проксями, а то будет бобо.

Я так и расцитываю, что применяется конечно instanse.

А что значит мультиреюз? Не слушал раньше.

Может так онои будет. Не знаю, думаю деревья, растения и машины (я в основном экстерьер рендерю), врядли буду менять, если только материал. а их в сцене большинство.

Как перевести объект в прокси

Здрасте всем 3d любителям! Хотел уточнить, насколько правильно будет использование этого способа. Может я ошибаюсь.

И я потратил время проведя такие действия: создал папку с проксями. При создании новой proxy, геометрию удалил (она не нужна, ведь ее можно вытащить снова). Сохранил max файл. В итоге- при marge в сцену получаем модель с уже присвоенной библиотекой материалов (не надо ее сохранять отдельно). Сцены всегда легкие. Если же мне нужна редактируемая геометрия, можно оставить резерную копию со всеми модификаторами. Хотя для множества сцен к примеру в экстерьере, это не нужно. Вот и собственно все

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *