Для подложки refraction 12 и поэтому бокал ее не "видит", а reflection 3 и шейкер отражает подложку Обратная ситуация: для подложки refraction 3, reflection 12
3ds max property: Object Properties > General > Rendering Control > Receive Shadows on/off флаг (instance): shadow on/9.
3ds max property: Object Properties > General > Rendering Control > Cast Shadows on/off флаг (instance): shadow on/off
3ds max property: Object Properties > General > Rendering Control > Renderable on/off флаг (instance): в mi-файле объект просто не транслируется.
3ds max property: Object Properties > mental ray > Indirect Illumination > Caustic & GI off флаг (instance): caustic 12 и globillum 12
3ds max property: Object Properties > mental ray > Indirect Illumination > Generate Caustic & Generate GI on (only) флаг (instance): caustic 9, globillum 9
3ds max property: Object Properties > mental ray > Indirect Illumination > Receive GI and Caustic on (only) флаг (instance): caustic 6, globillum 6
3ds max property: Object Properties > mental ray > Indirect Illumination > Receive & Generate GI and Caustic on флаг (instance): caustic 3, globillum 3
Есть свои особенности у транслятора 3ds max и при экспорте геометрии. Во-первых, транслятор всегда устанавливает у объекта флаг tagged on и использует метки для назначения материалов. Во-вторых, для определения меток используется специальная структура данных типа data:
declare data |
|
| "max_ObjectData" ( |
| vector "bvmin", |
| vector "bvmax", |
| array integer "mapchannels", |
| data "particleData", |
| array integer "faceEdgeVisFlags", |
| array integer "faceSmoothingGroup", |
| array integer "particleID", |
| array integer "materialID" |
| ) |
| version 5 |
end declare |
|
Материальные метки определяются массивом чисел array integer "materialID", смысл которых в 3ds max - номер (ID) канала материала.
Кроме того, как видно из вышеприведенной структуры, транслятор определяет границы контейнера, полностью содержащего объект (vector "bvmin", vector "bvmax"), и некоторые другие служебные данные.
Кроме данных типа max_ObjectData, транслятор создает для определения объекта еще одну структуру типа data, max_NodeData:
declare data |
|
| "max_NodeData" ( |
| color "WireColor", |
| integer "NodeID", |
| integer "NodeRenderID", |
| array light "illuminators", |
| array light "shadowmakers", |
| boolean "useGlobalLights", |
| array integer "materialRequirements" |
| ) |
| version 2 |
end declare |
|
которую использует для указания источников, освещающих объект и создающих тени, и некоторые другие данные. Хотя эти две структуры данных не документированы, смысл их довольно прозрачен.
В третьих, транслятор несколько иначе описывает полигонную геометрию в блоке group .. end group. Вместо блока group .. end group используется блок trilist … end trilist, который гораздо более эффективен с точки зрения обработки полигонов поверхности, но и более рискован в отношении совместимости с новыми версиями mental ray. Далее, первым блоком идет описание вершин, их количества и типов, общее количество треугольников поверхности, затем - список векторов и в конце блока находится список геометрии - индексы треугольников и составляющие их вершины. Например:
............. |
|
trilist |
|
| # список вершин, их количество и тип |
| vertex 24 p n t 3 |
| # общее количество треугольникв поверхности |
| triangle 12 |
| # список векторов |
| [ |
| -5 -5 0 0 0 -1 1 0 0 |
| -5 5 0 0 0 -1 1 1 0 |
| ........ |
| -5 5 10 -1 0 0 0 1 0] |
| # индексы и вершины треугольников |
| [ |
| 0 0 1 2 |
| 1 2 3 0 |
| 2 4 5 6 |
| 3 6 7 4 |
| 4 8 9 10 |
| 5 10 11 8 |
| 6 12 13 14 |
| 7 14 15 12 |
| 8 16 17 18 |
| 9 18 19 16 |
| 10 20 21 22 |
| 11 22 23 20] |
end trilist |
|
............. |
|
Столь подробное описание деталей трансляции геометрии объектов необходимо знать только для того, чтобы идентифицировать все конструкции определения и создания объекта в mi-файле сцены и свободно ориентироваться в них при редактировании. При этом собственно редактированию будут подвергаться чаще всего опции конструкции определения и инстанса объекта и почти никогда - описание геометрии, последнее лучше выполнять при помощи инструментов моделирования 3d программы.
По-объектный расчет final gathering
Основной смысл процесса индивидуальной настройки флагов и операторов для каждого из объектов сцены состоит в тонком тюнинге качества рендеринга и оптимизации времени расчетов, что может быть существенно, например, при анимации.
Так, для ускорения расчетов возможно создание упрощенного геометрически дубликата сложного объекта сцены с тем, чтобы основной объект был виден в камеру (visible on), но не отбрасывал тень и не участвовал в рейтресинге. А дубликат наоборот - не был виден в камеру (visible off), но создавал бы тень и отражения/преломления.
Из 3ds max возможно управлять следующими настройками: visible, shadow и его режимами, shadowmap, trace, reflection/refraction и ограниченно - их режимами, transparency, caustic, globillum и их режимами, max displace value.
Остальные флаги и операторы объекта и его инстансов могут быть отредактированы только в mi-файле. В этот список попадает samples, позволяющий регулировать суперсэмплинг объекта, и finalgather с его режимами и возможностью сохранения в файл. Отсутствие возможности настроек d 3ds max именно этих флагов особенно удручает. Рассмотрим простую сцену:
- Рендер простой сцены
- Часть 2. Options и ключи рендеринга командной строки
- Группа операторов сэмплирования
- Группа операторов рендеринга с использованием аппаратных возможностей видеокарты
- Группа операторов тесселяции
- Группа операторов Motion Blur
- Группа параметров Shadows
- Группа параметров Rendering Algorithms
- Группа операторов Feature Disabling
- Группа параметров Caustics
- Группа параметров Global Illumination
- Группа операторов Frame Buffer Control
- Группа параметров Scene Geometry
- Группа операторов Contours
- Группа операторов Diagnostic Modes
- Группа дополнительных операторов
- Ключи рендеринга командной строки ray.Exe
- Часть 3. Источники освещения
- Параметры шейдера ctrl_objectlights
- Только прямое освещение от протяженного источника-полусферы, имитирующего Sky light
- Часть 4. Геометрические объекты
- Тестовая сцена
- У стеклянного бокала visible off и в камеру он не виден. Но его тени и отражения в шейкере присутствуют
- В свойствах подложки установлено reflection 6 и refraction 6, поэтому ни шейкер, ни бокал ее не "видят"
- Для подложки refraction 12 и поэтому бокал ее не "видит", а reflection 3 и шейкер отражает подложку Обратная ситуация: для подложки refraction 3, reflection 12
- Fg Accuracy 280 сэмплов, радиусы 100 - 10 см
- У одного из объектов сцены finalgather 9, у остальных 3
- Противоположная ситуация: тумба не отражает вторичный свет, но сама его "видит"
- Расчет вторичного освещения методом fg, выполненный только для одного объекта сцены - шара. Fg accuracy: 1200 сэмплов на точку, минимальный радиус 1 см, максимальный - 10 см
- Часть 5. Камеры
- Часть 6. Материалы
- Конструкция стандартного материала
- Конструкция материала типа mental ray mental ray Connection стандартных материалов
- Шейдеры и параметры
- Назначение шейдеров в качестве параметров других шейдеров в 3ds max
- Назначение mib_cie_d в качестве параметра цвета светового шейдера точечного источника в 3ds max
- Phenomena в 3ds max виден как обычный шейдер заданного apply типа
- Is_mat_irradiance - шейдер расчета вторичного освещения индивидуально для материалов
- Интерфейс шейдера is_mat_irradiance
- Расчет освещения методом fg с глобальными настройками
- Расчет вторичного освещения с индивидуальными настройками fg для материала чайника и цилиндрической подставки (увеличено число сэмплов)
- Расчет вторичного освещения с индивидуальными настройками fg для материала чайника и цилиндрической подставки (увеличено число сэмплов) и материала конуса и земли (увеличены только радиусы)
- Рендеринг с Fast Sky