logo search
Как использовать все возможности mental ray в р

Для подложки 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 именно этих флагов особенно удручает. Рассмотрим простую сцену: