VRayProxy |
Search Keywords: proxy, mesh, VRayMesh, .vrmesh
VRayProxy позволяет вам импортировать геометрию из внешнего меша в процессе визуализации. Эта геометрия не присутствует в сцене 3dsmax и не требует никаких ресурсов. Это позволяет визуализировать сцены со многоими миллионами треугольников - больше, чем поддерживает сам 3ds Max.
Перед тем, как вы импортируете меш через объект VRayProxy, вам сначала необходимо создать файл с мешем. Вы можете это сделать одним из следующих способов:
- Посредством всплывающего меню (quad-menu): выделите объекты, которые вы хотите экспортировать, щелкните правой кнопкой мыши и выберите опцию V-Ray mesh export. После этого появится диалог V-Ray Mesh Export.
- Диалог из MaxScript: выделите объекты, которые вы хотите экспортировать, затем наберите
doVRayMeshExport()
в окне MaxScript Listener. После этого появится диалог V-Ray Mesh Export.
- Прямой экспорт из MaxScript: выберите меши, которые вы хотите экспортировать, а затем используйте функцию vrayMeshExport():
vrayMeshExport [meshFile:"<mesh file>"] [autoCreateProxies:true|false] [exportMultiple:true|false] [animation:on|off] [animationRange:#scene|#explicit] [animationStart:<integer>] [animationEnd:<integer>] [animationRedrawViews:true|false] [maxPreviewFaces:<integer>]
где <mesh file> - имя файла .vrmesh. Если имя не содержит пути, используется путь для мешей, определенный в настройках 3ds Max. Если имя не содержит расширения, автоматически добавляется расширение .vrmesh. Если имя не содержит имени файла, вместо него используется имя узла сцены. Если не указана опция autoCreateProxies, то по умолчанию происходит только экспорт меша, а прокси-объект не будет создан. Если не указана опция exportMultiple, то по умолчанию меши экспортируются каждый в отдельный файл. Если опция animation установлена в on, создается анимированный proxy-файл. В этом случае, диапазон анимации определяется опцией animationRange - если установлено #explicit, то диапазон кадров для экспорта указан опциями animationStart и animationEnd (в кадрах), иначе используется диапазон анимации текущей сцены. Если опция animationRedrawViews установлена в true, то вьюпорты будут обновлены в процессе экспорта анимации. Если указан параметр maxPreviewFaces, то экспортированный файл .vrmesh будет содержать информацию для предварительного просмотра с указанным максимальным количеством треугольников, в противном случае будет использовано значение по умолчанию 10000 для количества треугольников.
Функция возвращает ok, если файл .vrmesh был экспортирован успешно, и undefined в противном случае.
Экспортированный меш, связанный с объектом VRayProxy, можно в любой момент импортировать обратно в меш. Импорт меша из объекта VRayProxy можно сделать двумя способами:
vrayMeshImport [proxy: <объект(ы) VRayProxy>] [explicitNormals: true|false] [weldVertices: true|false] |
где <объект(ы) VRayProxy>. - одиночный объект VRayProxy, массив объектов VRayProxy или ObjectSet (например $geometry). Если эта опция не указана, все выделенные объекты типа VRayProxy импортируются как меши (EditableMesh).
explicitNormals - в случаях, когда оригинальный меш имеет точную информацию о нормалях вертексов, при экспорте эта информация также сохраняется в файле .vrmesh. Когда эта опция установлена в true, она гарантирует, что точная информация о нормалях, содержащаяся в прокси-объекте, принята в расчет при импорте.
weldVertices - при экспорте объекта в файл .vrmesh V-Ray может разбить оригинальный меш на более мелкие цепочки, которые могут загружаться независимо друг от друга. При этом некоторые вертексы будут дублироваться в нескольких цепочках. Когда эта опция установлена в true, после того, как меш будет импортирован, V-Ray будет выполнять операцию сваривания (weld) для вертексов, что бы разделенные вертексы были снова соединены.
Функция возвращает массив, содержащий вновь созданные объекты типа EditableMesh, или undefined, если не было указано ни одного допустимого объекта VRayProxy.
Диалог Mesh Export
Диалог 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.
Параметры прокси-объекта
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 будут проигнорированы.
- Если вам необходимо создать несколько прокси-объектов, связанных с одним файлом .vrmesh, лучше создать их как instance - в этом случае экономится память, т.к. файл .vrmesh будет загружаться только один раз.
- Материалы не сохраняются в файле .vrmesh. Вместо этого геометрия будет визуализироваться с материалом, примененным к объекту VRayProxy. Это сделано потому, что материалы третьих производителей и процедурные текстуры в общем случае трудны для описания. В дополнение, вы можете захотеть редактировать материалы независимо от меша.
- Получившийся файл .vrmesh может быть визуализирован без 3ds Max, например посредством самостоятельной (standalone) версии V-Ray или версии V-Ray for Maya.
- Теневые карты (Shadow maps) не включают информацию о прокси-объектах. Если вы хотите, что бы прокси-объекты отбрасывали тени, вы должны использовать тени типа VRayShadow или VRayShadowMap.
- Вы можете преобразовать файлы .ply и .obj в файлы .vrmesh при помощи инструмента ply2vrmesh.
- В V-Ray SDK есть методы для чтения и записи файлов .vrmesh.
Перевод © Black Sphinx, 2008-2011. All rights reserved.
Хостинг от uCoz