Обзор VRayProxy.
VRayProxy позволяет вам импортировать геометрию из внешнего меша в процессе визуализации. Эта геометрия не присутствует в сцене 3dsmax и не требует никаких ресурсов. Это позволяет визуализировать сцены со многоими миллионами треугольников - больше, чем поддерживает сам 3ds Max.
Экспорт меша в файл.
Перед тем, как вы импортируете меш через объект VRayProxy, вам сначала необходимо создать файл с мешем. Вы можете это сделать одним из следующих способов:
- Посредством всплывающего меню (quad-menu): выделите объекты, которые вы хотите экспортировать, щелкните правой кнопкой мыши и выберите опцию V-Ray mesh export. После этого появится диалог V-Ray Mesh Export.
- Диалог из MaxScript: выделите объекты, которые вы хотите экспортировать, затем наберите doVRayMeshExport() в окне MaxScript Listener. После этого появится диалог V-Ray Mesh Export.
- Прямой экспорт из MaxScript: выберите меши, которые вы хотите экспортировать.
Функция возвращает ok, если файл .vrmesh был экспортирован успешно, и undefined в противном случае.
Импорт меша из файла
Экспортированный меш, связанный с объектом VRayProxy, можно в любой момент импортировать обратно в меш. Импорт меша из объекта VRayProxy можно сделать двумя способами:
- С помощью кнопки Import as mesh в пользовательском интерфейсе;
- Прямой импорт через MaxScript: выберите объект VRayProxy, из которого вы хотите импортировать меш и используйте функцию vrayMeshImport().
Функция возвращает массив, содержащий вновь созданные объекты типа EditableMesh, или undefined, если не было указано ни одного допустимого объекта VRayProxy.
Диалог Mesh Export
Диалог Mesh Export позволяет вам указать имя файла для экспорта, а также некоторые другие опции.
Folder - каталог, в котором будут создаваться файлы мешей.
Export as single file - при выборе этой опции все выбранные объекты будут экспортироваться в единый файл меша. В файле также запоминаются трансформации выбранных объектов. Когда вы импортируете меш посредством прокси, прокси-объект должен находиться в начале координат, если вы хотите получить объекты на том же месте. При последующем импорте меш визуализируется с использованием материала прокси-объекта. Все меши из одного файла будут просчитываться с этим материалом. Если вы хотите использовать различные материалы, то вы должны использовать материал Multi/Sub-object и различные ID материалов.
Export as multiple files - Экспорт в несколько файлов - при выборе этой опции будет создаваться отдельный файл для каждого выбранного объекта. Имя каждого файла наследуется от имени соответствующего объекта 3ds max. Трансформации объекта не запоминаются в файле меша, и соответствующий прокси-объект должен иметь те же трансформации, что и исходный объект, если вы хотите увидеть объект на том же месте. Заметим, что вы можете использовать эту опцию даже с одним объектом, при этом щпорная точка объекта (pivot) сохраняется в экспортируемом файле .vrmesh.
File - имя файла, если вы включили опцию Export as single file. Вам не нужно указывать путь - он берется из поля Folder.
Specify preview mesh - если эта опция включена, пользователь может указать, что меш будет использоваться для предварительного просмотра прокси во вьюпорте. Для этого нажмите на кнопку Pick preview mesh и выберите меш сцены.
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 будет выдавать предупреждения, если вы попытаетесь сохранить файл с перезаписью существующего файла.
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. Более низкие значения означают, что для аппроксимации оригинальной геометрии на самом нижнем уровне (объект находится очень близко к камере) используется большое количество дисков малого радиуса облака точек. Увеличение этого размера будет давать более грубую аппроксимацию с меньшим количеством дисков большего радиуса. При визуализации невозможно достигнуть лучшей детальности, чем она есть на самом нижнем уровне.
Lowest level point size - 2.0
Lowest level point size - 4.0
Lowest level point size - 8.0
Lowest level point size - 16.0
Lowest level point size - 24.0
Формат файла .vrmesh
Меши экспортируются в специальный формат файла .vrmesh. Он содержит всю геометрическую информацию для меша: топологию вертексов и фейсов, а также текстурные каналы, ID'ы материалов для фейсов, группы сглаживания, нормали, короче, все, что необходимо для визуализации меша. В дополнение к этому, меш предобработан и подразбит на фрагменты для более простого доступа. Файл также содержит упрощенную версию меша, используемую для просмотра во вьюпортах. Также имеется опция для добавления в файл данных в виде облака точек, которое упрощает геометрическое представление меша до формы 3D-дисков с различными уровнями деталей. Каждый уровень содержит диски одинакового радиуса, который больше для уровней с меньшей детальностью и меньше для более детализированных уровней. При визуализации объекта уровень геометрии облака точек выбирается в зависимости от расстояния между объектом и камерой. Для удаленных от камеры объектов используется более низкое разрешение облака точек. Таким образом, оригинальный меш заменяется простой геометрией облака точек с подходящим уровнем детальности, который определяется расстоянием.
Важно понимать, что меш представлен в формате "ready to render" (готов для визуализации). Никакие дальнейшие изменения меша не ожидаются. Вы не можете применить модификаторы к мешу или анимировать его за исключением анимации положения/ориентации прокси-объекта. Если вам необходимо внести изменения в меш, вы можете его импортировать обратно как Editable mesh, и повторно экспортировать в файл .vrmesh.
Поддержка Alembic
Начиная с версии V-Ray 2.40, объект VRayProxy может загружать и визуализировать файлы в формате Alembic (.abc). В настоящее время распознаётся только геометрия типа меш (без сплайнов или частиц).
Сейчас UV-координаты в файле Alembic импортируются как канал преобразования (mapping channel) 0. Это означает, что в текстурах типа Bitmap, для материалов, присвоенных объектам Alembic-proxy, необходимо выбирать тип преобразования Vertex Color Channel:
По существу, это тоже самое, что подключение .vrmesh-файлов, созданных в других приложениях (например в Maya). В следующей версии это будет исправлено: будет также работать и канал преобразования (mapping channel) 1, принятый по умолчанию в 3ds Max.
V-Ray будет распознавать информацию о скорости (velocity) для эффекта смазывания при движении (motion blur), если она сохранена либо как стандартная скорость для Alembic, либо как свойство типа 3d vector array, именованное как arbGeom.v или arbGeom.velocities.
Дополнительные наборы цветов Alembic импортируются как каналы преобразования (mapping channels) с индексами, большими чем 0 (т.е. 1, 2 etc).
Создание прокси-объекта
После того, как вы экспортировали меш в файл .vrmesh, вам необходим прокси-объект для представления этого меша в сцене 3ds Max. Для создания прокси-объекта в командной панели выберите вкладку Create, а затем категорию V-Ray, щелкните по кнопке VRayProxy, а затем щелкните во вьюпорте для создания актуального прокси-объекта. Появится диалоговое окно, которое позволит вам выбрать для импорта файл .vrmesh.
Параметры Proxy.
Mesh file - исходный файл .vrmesh или файл .abc.
Expand # to frame number - когда эта опция включена, символ "#" может быть использован в имени файла для указания того, что загруженный прокси является частью анимационной последовательности. В этом случае V-Ray затем будет загружать другие кадры соответственно.
Flip axis - этот флажок позволяет выбрать в качестве вертикальной оси ось y или ось z прокси-файла. Это позволяет выровнять вертикальную ось прокси-файла в соответствии с вертикальной осью сцены в том случае, если прокси-файл был экспортирован не из 3ds Max, или если загружается Alembic-файл.
Scale - параметр позволяет быстро отмасштабировать прокси-геометрию в большую или меньшую сторону.
Display
Display - управляет показом прокси-объекта во вьюпортах:
bounding box - меш представляется во вьюпортах в виде бокса.
preview from file(edges) - показывается упрощенная версия меша, сохраненная в файле .vrmesh, показывающая только ребра объекта.
preview from file(faces) - показывается упрощенная версия меша, сохраненная в файле .vrmesh, показывающая только фейсы объекта.
point - меш представляется как точка.
show whole mesh – предпросмотр всего меша целиком.
Animation
Animation - группа содержит настройки для анимированных прокси
Playback - выберите режим проигрывания из выпадающего списка.
Loop - анимация проигрывается циклически от начала до конца.
Play once - анимация проигрывается только один раз.
Ping-pong - анимация проигрывается циклически от начала до конца и от конца к началу.
Still - анимация не проигрывается. Вместо этого показывается только один кадр анимации. Вы можете выбрать нужный фрейм с помощью параметра Offset.
Offset(frames) - этот параметр используется для смещения от начала анимации на указанное количество кадров. Здесь можно указывать положительные и отрицательные значения.
Speed - множитель для скорости анимации. Отрицательные значения будут проигрывать анимацию в обратном направлении.
Import
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
Use if prsent – дает возможность использования данных облака точек, если они доступны.
Level multiplier –определяет способ загрузки уровней облака точек. Значение 1.0 означает, что уровень для загрузки точно определен расстоянием от камеры до объекта. Значение меньше 1.0 означают, что уровень будет с большей детальностью, чем требуется расстоянием. Значения больше 1.0 означают, что разрешение уровня будет меньше, чем определено расстоянием. Значение 0.0 означает, что ни одного уровня облака точек не будет загружено, а вместо него будет визуализироваться оригинальный меш.
Force first map channel – при включении, V-Ray отобразит first mapping channel в proxy file (.vrmesh or .abc), чтобы переназначить на указанный 3ds Max map channel.
First map channel – если включен Force first map channel, то это- указатель map channel.
Particles
Render mode – определяет, каким образом частицы визуализируются.
Sphere – частицы визуализируются в виде сферы.
Point – частицы визуализируются в виде точек.
Пример: Level multiplier.
Этот пример демонстрирует, как параметр Level multiplier управляет визуализацией прокси-объекта на различном расстоянии от камеры. Когда параметр равен 0.0, облако точек не загружается. Когда установлено значение 1.0, загружается точный уровень детальности для визуализации в соответствии с множителем увеличения (zoom factor). Значения между 0.0 и 1.0 приводят к загрузке большего уровня детальности, чем необходимо, а значения больше 1.0 - приводят к загрузке более низкого уровня детальности.
Zoom 0.5x | Zoom 1x | Zoom 2x | |
Level multiplier 0.0 | |||
Level multiplier 1.0 | |||
Level multiplier 10.0 |
Proxy Mesh Visibility.
Эти параметры позволяют управлять видимостью компонент прокси в том случае, когда было экспортировано более одного меша. Видимость может управляться либо посредством имён объектов, либо посредством ID'ов объектов.
Lists type – определяет, как понимаются списки.
Exclude - объекты, выбранные в списках, будут невидимы.
Include - только выбранные в списках объекты будут видимы.
Object name list - список всех объектов в прокси-файле.
Object id list - список всех ID'ов объектов (Object ID) в прокси-файле.
Alembic Mesh.
Эта секция содержит элементы управления прокси-объекта V-Ray, когда загружен файл Alembic (.abc).
Общие:
Starting object - позволяет указать начальный путь в Alembic file, только объекты, следующие за этим путем, будут визуализироваться. Этот путь может начинаться с ABC/, или это может быть опущено
Use full names - когда эта опция включена, то полный путь для каждой геометрии установленный в alembic file, отображается в Proxy mesh и Proxy hair visibility lists.
Recompute bounding box - включение этой опции заставит V-Ray повторно вычислять ограничивающий бокс для геометрии перед визуализацией. Когда эта опция выключена, V-Ray будет использовать ограничивающий бокс, указанный в файле Almebic. Однако иногда эти ограничивающие боксы некорректны, и в этом случае визуализация также будет некорректной. Во избежание подобных проблем включите эту опцию. Обратите внимание, что эта опция может замедлять визуализацию.
Compute normals - эта опция позволяет принудительно сглаживать нормали геометрии в том случае, когда они изначально не сглажены.
Mesh.
Smooth angle - когда включена опция Compute normals, нормали будут сглаживаться, если угол между этими нормалями меньше значения, указанного в этом параметре.
Preview count - параметр позволяет указать, как много фейсов предполагается использовать для предварительного просмотра прокси во вьюпорте.
Hair
Preview count - параметр позволяет указать, как много сплайнов предполагается использовать для предварительного просмотра прокси-волос во вьюпорте.
Width multiplier – это множитель позволяет контролировать толщину волос во время рендеринга.
Particles
Preview count – позволяет указать, какое количество частиц отображать во вьюпортах.
Width multiplier – определяет размер частиц при визуализации.
Примечения:
- Геометрия, генерируемая посредством прокси-объекта, неизменяема. Любые модификаторы, примененные к объекту VRayProxy, будут проигнорированы.
- Если вам необходимо создать несколько прокси-объектов, связанных с одним файлом .vrmesh, лучше создать их как instance - в этом случае экономится память, т.к. файл .vrmesh будет загружаться только один раз.
- Материалы не сохраняются в файле .vrmesh. Вместо этого геометрия будет визуализироваться с материалом, примененным к объекту VRayProxy. Это сделано потому, что материалы третьих производителей и процедурные текстуры в общем случае трудны для описания. В дополнение, вы можете захотеть редактировать материалы независимо от меша.
- Получившийся файл .vrmesh может быть визуализирован без 3ds Max, например посредством самостоятельной (standalone) версии V-Ray или версии V-Ray для Maya.
- Теневые карты (Shadow maps) не включают информацию о прокси-объектах. Если вы хотите, чтобы прокси-объекты отбрасывали тени, вы должны использовать тени типа VRayShadow или VRayShadowMap.
- Вы можете преобразовать файлы .ply и .obj в файлы .vrmesh при помощи инструмента ply2vrmesh.
- В V-Ray SDK есть методы для чтения и записи файлов .vrmesh.
Источник: http://docs.chaosgroup.com/display/VRAY3MAX/Proxy+Objects+|+VRayProxy