Как перевести в прокси в 3д макс

Обновлено: 06.07.2024

VRayProxy позволяет вам импортировать геометрию из внешнего меша в процессе визуализации. Эта геометрия не присутствует в сцене 3dsmax и не требует никаких ресурсов. Это позволяет визуализировать сцены со многоими миллионами треугольников - больше, чем поддерживает сам 3ds Max.

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

    Посредством всплывающего меню (quad-menu): выделите объекты, которые вы хотите экспортировать, щелкните правой кнопкой мыши и выберите опцию V-Ray mesh export . После этого появится диалог V-Ray Mesh Export.

doVRayMeshExport()

в окне MaxScript Listener. После этого появится диалог V-Ray Mesh Export.

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

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

  • С помощью кнопки Import as mesh в пользовательском интерфейсе;

    Прямой импорт через MaxScript: выберите объект VRayProxy , из которого вы хотите импортировать меш и используйте функцию vrayMeshImport() .

где <объект(ы) VRayProxy> . - одиночный объект VRayProxy , массив объектов VRayProxy или ObjectSet (например $geometry). Если эта опция не указана, все выделенные объекты типа VRayProxy импортируются как меши (EditableMesh).

explicitNormals - в случаях, когда оригинальный меш имеет точную информацию о нормалях вертексов, при экспорте эта информация также сохраняется в файле .vrmesh . Когда эта опция установлена в true , она гарантирует, что точная информация о нормалях, содержащаяся в прокси-объекте, принята в расчет при импорте.

weldVertices - при экспорте объекта в файл .vrmesh V-Ray может разбить оригинальный меш на более мелкие цепочки, которые могут загружаться независимо друг от друга. При этом некоторые вертексы будут дублироваться в нескольких цепочках. Когда эта опция установлена в true , после того, как меш будет импортирован, V-Ray будет выполнять операцию сваривания (weld) для вертексов, что бы разделенные вертексы были снова соединены.

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

Диалог Mesh Export

[V-Ray Mesh export dialog]

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

Folder - Папка - каталог, в котором будут создаваться файлы мешей.

Export as single file - Экспорт в единый файл - при выборе этой опции все выбранные объекты будут экспортироваться в единый файл меша. В файле также запоминаются трансформации выбранных объектов. Когда вы импортируете меш посредством прокси, прокси-объект должен находиться в начале координат, если вы хотите получить объекты на том же месте. При последующем импорте меш визуализируется с использованием материала прокси-объекта. Все меши из одного файла будут просчитываться с этим материалом. Если вы хотите использовать различные материалы, то вы должны использовать материал Multi/Sub-object и различные ID материалов.

File - Файл - имя файла, если вы включили опцию Export as single file . Вам не нужно указывать путь - он берется из поля Folder .

Export as multiple files - Экспорт в несколько файлов - при выборе этой опции будет создаваться отдельный файл для каждого выбранного объекта. Имя каждого файла наследуется от имени соответствующего объекта 3ds max. Трансформации объекта не запоминаются в файле меша, и соответствующий прокси-объект должен иметь те же трансформации, что и исходный объект, если вы хотите увидеть объект на том же месте. Заметим, что вы можете использовать эту опцию даже с одним объектом, при этом щпорная точка объекта (pivot) сохраняется в экспортируемом файле .vrmesh .

Export animation - Экспорт анимации - опция разрешает экспорт в файл .vrmesh анимированного меша вместе с анимацией.

Frame range - Диапазон кадров - параметр указывает какая часть анимации экспортируется в файл .vrmesh .

- Scene animation range - Диапазон анимации сцены - в файл vrmesh будет экспортирована вся анимация.

- Frame range - Диапазон кадров - в файл vrmesh будет экспортирована анимация в диапазоне кадров, заданном параметрами Start Frame и End Frame .

Redraw views during export - Перерисовка вьюпортов в процессе экспорта - когда эта опция включена , у вас будет возможность видеть проигрывание анимации во вьюпорте во время выполнения экспорта. Это - простой способ наблюдать ход выполнения экспорта.

Automatically create proxies - Автоматическое создание прокси-объекта - при выборе этой опции будут создаваться прокси-объекты для экспортируемых мешей. Прокси-объекты будут иметь корректные трансформации и материалы, унаследованные от оригинальных объектов. Оригинальные объекты будут удалены.

Export point clouds - Экспорт облака точек - эта опция будет добавлять представление меша в виде облака точек, разделенного на отдельные уровни детальности, которые могут быть использованы прокси-объектами для экономии памяти при визуализации удаленных объектов.

Lowest level point size - Размер точки самого низкого уровня - определяет размер дисков облака точек для уровня с наибольшей детальностью. Если размер мал, облако точек, визуализированное на самом нижнем уровне, будет выглядеть близким к оригинальному мешу, но объем использованной памяти будет возрастать. См. раздел Примеры.

Faces in preview - Количество фейсов для предварительного просмотра - параметр указывает количество фейсов, которое будет использовано для показа "предварительного просмотра" proxy-объекта во вьюпорте.

Warn for existing files - Предупреждение о существующих файлах - когда опция включена , V-Ray будет выдавать предупреждения, если вы попытаетесь сохранить файл с перезаписью существующего файла.

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

Формат файла .vrmesh

Меши экспортируются в специальный формат файла .vrmesh . Он содержит всю геометрическую информацию для меша: топологию вертексов и фейсов, а также текстурные каналы, ID'ы материалов для фейсов, группы сглаживания, нормали, короче, все, что необходимо для визуализации меша. В дополнение к этому, меш предобработан и подразбит на фрагменты для более простого доступа. Файл также содержит упрощенную версию меша, используемую для просмотра во вьюпортах. Также имеется опция для добавления в файл данных в виде облака точек, которое упрощает геометрическое представление меша до формы 3D-дисков с различными уровнями деталей. Каждый уровень содержит диски одинакового радиуса, который больше для уровней с меньшей детальностью и меньше для более детализированных уровней. При визуализации объекта уровень геометрии облака точек выбирается в зависимости от расстояния между объектом и камерой. Для удаленных от камеры объектов используется более низкое разрешение облака точек. Таким образом, оригинальный меш заменяется простой геометрией облака точек с подходящим уровнем детальности, который определяется расстоянием.

Важно понимать, что меш представлен в формате "ready to render" (готов для визуализации). Никакие дальнейшие изменения меша не ожидаются. Вы не можете применить модификаторы к мешу или анимировать его за исключением анимации положения/ориентации прокси-объекта. Если вам необходимо внести изменения в меш, вы можете его импортировать обратно как Editable mesh (см. секцию Import ниже), и повторно экспортировать в файл .vrmesh .

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

После того, как вы экспортировали меш в файл .vrmesh , вам необходим прокси-объект для представления этого меша в сцене 3ds Max. Для создания прокси-объекта в командной панели выберите вкладку Create, а затем категорию V-Ray, щелкните по кнопке VRayProxy , а затем щелкните во вьюпорте для создания актуального прокси-объекта. Появится диалоговое окно, которое позволит вам выбрать для импорта файл .vrmesh .

Параметры прокси-объекта

[VRayProxy parameters]

Mesh file - Файл меша - исходный файл .vrmesh .

Display - Показ - управляет показом прокси-объекта во вьюпортах:

bounding box - ограничивающий бокс - меш представляется во вьюпортах в виде бокса.

preview from file(edges) - предварительный просмотр из файла (ребра) - показывается упрощенная версия меша, сохраненная в файле .vrmesh , показывающая только ребра объекта.

preview from file(faces) - предварительный просмотр из файла (фейсы) - показывается упрощенная версия меша, сохраненная в файле .vrmesh , показывающая только фейсы объекта.

point - точка - меш представляется как точка.

Animation - Анимация - группа содержит настройки для анимированных прокси

Playback - Проигрывание - выберите режим проигрывания из выпадающего списка.

- Loop - Цикл - анимация проигрывается циклически от начала до конца.

- Play once - Проиграть один раз - анимация проигрывается только один раз.

- Ping-pong - Пинг-понг - анимация проигрывается циклически от начала до конца и от конца к началу.

- Still - Стоп-кадр - анимация не проигрывается. Вместо этого показывается только один кадр анимации. Вы можете выбрать нужный фрейм с помощью параметра Offset .

Offset(frames) - Смещение (фреймы) - этот параметр используется для смещения от начала анимации на указанное количество кадров. Здесь можно указывать положительные и отрицательные значения.

Speed - Скорость - множитель для скорости анимации. Отрицательные значения будут проигрывать анимацию в обратном направлении.

Import - Импорт - группа содержит настройки для импорта прокси и преобразования в меш.

Import as mesh - Импорт в меш - импортирует геометрию из файла .vrmesh в объект Editable mesh . Заметим, что новый меш будет создан в начале системы координат (0,0,0), а не в текущем положении объекта VRayProxy .

Use explicit normals - Использовать явные нормали - в случае, когда оригинальный меш имеет точную информацию о нормалях вертексов, то эта информация также сохраняется в файле .vrmesh при экспорте меша. Включение этой опции указывает, что информация о явных нормалях, содержащаяся в прокси, берется в расчет при импорте.

Weld vertices in result - Сварить вертексы меша - при экспорте в файл .vrmesh , V-Ray может разделять оригинальный меш на более мелкие куски, которые могут быть загружены независимо друг от друга. Это может приводить к тому, что некоторые вертексы дублируются в нескольких кусках. Включение этой опции заставит V-Ray выполнить операцию сварки (weld) после импорта меша для объединения разделенных вертексов.

Point cloud - Облако точек - группа содержит настройки для использования облака точек.

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

Замечания

  • Геометрия, генерируемая посредством прокси-объекта, - неизменяема. Любые модификаторы, примененные к объекту VRayProxy будут проигнорированы.


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

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

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

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

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

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


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

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

  • накидываем все материалы, текстурируем объект;
  • аттачим (присоединяем) его части;
  • тщательно проверяем всю геометрию, так как после конвертации в прокси работать с сеткой уже будет нельзя;
  • сохраняем 3д модель на случай, если что-то пойдет не так.

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

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


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


  1. Выделяем объект, кликаем на нем правой кнопкой мыши, выбираем в выпадающем меню V-Ray mesh export.
  2. Прописываем место сохранения в Folder.
  3. В появившемся окне выбираем Export all selected objects in a single file (экспортировать все выделенные файлы в один файл) или Export each selected object an separate files (экспортировать отдельными файлами). Я выбрала первый вариант.
  4. Ставим галочку напротив Automaticaly create proxies.
  5. В самом низу в окошко Faces in Preview вписываем количество полигонов, которые останутся в видовом окне. Жмем «Ок».

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


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


Настройки

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

  • Mesh File. Кнопочка Browse открывает месторасположение файла.
  • Scale. Выполняет ту же функцию, что и Scale на панели самой программы.
  • Display. Позволяет переключаться между режимами отображения. Вместо чайника можно отображать: box (коробку), состоящую всего из 12 полигонов, preview from file (сетку упрощенной модели), preview from file (faces) (сетку с оболочкой), point (точку) или show whole mesh (оригинальную модель со всеми полигонами).


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

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


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

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



  1. Почему-то у новичков часто возникает вопрос, как вызвать окно corona proxy converter (corona proxy exporter). Так же, как и в Vray, просто щелкаем правой кнопкой мышки на объекте.
  2. В Output options можно выбрать, куда будут сохраняться proxies.
  3. Collapse and export to single proxy file и Export each node to separate proxy file отвечают соответственно за сохранение либо одним файлом, либо несколькими.
  4. Жмем Export selected objects и закрываем окно.


Настройки

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

  • Кнопка Pick from Scene позволяет выбрать файл для прокси из объектов сцены;
  • Load from Scene создает прокси из стороннего файла;
  • Vieport Display управляет режимами отображения: Solid Bounding Box (заполненная коробка), WireBounding Box (только грани коробки), Point Cloud (облако точек) и Full Mesh (полное отображение).
  • В окошке Point Cloud Displayed можно задать, сколько точек будет отображаться.


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

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

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

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

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

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

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

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

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

  • выбрать многополигональный объект, который замедляет работу сцены;
  • нажать на него правой клавишей мыши;
  • выбрать опцию V-Ray mesh export;
  • если нужно, поменять директорию создания прокси-файла;
  • активировать чекбокс Automaticaly create proxies;
  • выбрать количество остаточных полигонов в графе Faces in preview и нажать OK.

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

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

  • не потерять объект в сцене;
  • ощущать его размер и форму;
  • видеть наложенный на объект материал.

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

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

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

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

  • удалять лишние объекты;
  • делать их невидимыми;
  • переключать режимы их отображения и др.

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

Я позволю себе опустить перевод хелпа к рендереру Vray где описано, что такое Vray_proxy.
Указанной цитаты нам вполне достаточно.
(Хотя стоит написать позже о возможностях прокси-объекта, но это будет совсем другой урок).
Целью сегодняшнего урока будет не столько описание Vray_proxy(в дальнейшем будет заменяться словом прокси-объект), а рассказ о том как накладывать текстуры\материал, чтобы не получалось как в цитате из первого абзаца.
Рассмотрим это на простом но понятном примере, поняв принципы с работы с этим примером, перенести их(принципы) на более сложные объекты не составит труда.
Создадим простой набор примитивов и назначим каждому объекту свою текстуру\материал.


Сгруппируем все объекты


создадим произвольный массив на 500 копий



На данном этапе нас интересует Врeмя рендера, подчеркнутая красным строка.


А теперь самое Время создать прокси-объект



Отрендерим созданный прокси-объект и сгруппированные объекты.


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

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

Вернемся на шаг назад, к созданной нами группе и разгруппируем объекты.


Переведем куб в редактируемую сетку(convert to editable poly)
и добавим (attach)остальные объекты списком, данное действие ничем не отличается от поэлементного добавления, в некотором случае добавлять списком проще и быстрее


1-добавление\присоединение списком
2-выбор объектов, которые необходимо добавить\присоединить
3-подтверждение добавления\присоединения

При добавлении объектов с уже назначенными материалами мы увидим следующее диалоговое окно


Разберемся, что же нам предлагает команда Attach в своем диалоговом окне:

1- В соответствии с позицией 1 каждому добавляемому объекту назначается свой идентификатор материала(id) согласно назначенному материалу
Включение опции Condense material and ids означает, что материал и идентификатор сводятся вместе, т.е. элементу объекта назначает тот номер id, каким номер шел материал в редакторе материалов.
В нашем случае номера id находятся в интервала 1-6.


2-Назначение материалов на элементах объекта остается, но назначается произвольный id


3-Последняя позиция назначает граням объекта случайный id, что наблюдается на комиксе


Выберем первую позицию как самую приемлемую для нашего случая. На самом деле это не принципиально, ибо всегда граням\элементам можно назначить необходимый id.
Пришло Время поработать над материалом, который будет корректно отображаться на прокси-объекте.
Откроем редактор материалов (клавиша m). В редакторе увидим уже созданные на начальном этапе материалы.
Жалкаем по любому неиспользованному материалу и создаем multi\sub object material(многокомпанентный материал)


Перенесем ранее созданные материалы в новый многокомпонентный материал
Примечание:
Активный материал с которым происходит настройка обрамляется белым квадратом, материалы назначенные объектам в сцене обрамляются по углам белыми треугольниками.


в итоге должно получиться следующее


Выберем объект и назначим ему созданный материал.


Вновь создадим прокси-объект и отрендерим


Теперь отрендеренный прокси-объект удовлетворяет поставленной задаче.
Создадим массив еще раз и отрендерим


Если сравнить Врeмя рендера

то мы получили выигрыш в 1,5с
Это конечно же мало, но если учесть что мы не активировали gi и другие эффекты, а также работали с небольшим числом копий не содержащих тысячи полигонов, то можно сказать что результата мы достигли.

Эпилог:
Урок получился не совсем на тему прокси-объектов, а как всегда комплексным, помимо работы с прокси мы разобрали составление многокомпанентного материала, а также команду attach(добавление\присоединение) модификатора editable poly. Пусть изучили не досконально, но общие сведения у вас имеются, а этого достаточно для дальнейшего самостоятельного изучения указанных инструментов.

Если я все буду разжевывать, то смылс в таком изучении

З.Ы.
Для грамотного назначения текстур\материалов прокси-объекту, необходимо проводить правильную подготовку(выполнение необходимых и достаточных действий) объекта, который в последствии будет переведен в прокси.
А действия эти стандартные:
1-назначение id граням\составным элементам объекта
2-налажение текстурных координат(uvw map\unwrap)

З.З.Ы.
500 простых объектов для Vray-proxy слишком простая задача
Вот, если бы были те же 500 объектов но каждый из них состоял бы из 100к полигонов, вот тогда бы мы и увидели разницу во времени рендера.
Без прокси-объектов в этом случае программа вылетала бы из-за нехватки памяти.

Читайте также: