Документация Справка Cinema 4D Cinema 4D Visualize, Broadcast, Studio Advanced Render
Функция доступна в CINEMA 4D Visualize, Studio

CineMan

Введение

CineMan является мощной и одновременно гибкой связкой между программой Cinema 4D и совместимыми Рендеринг программами.

Эта связь производит поддержку многих параметров и установок программы Cinema 4D. При этом внешняя программа Рендеринга для RenderMan функционирует по аналогии с встроенной системой Рендеринга в программе Cinema 4D, но предоставляет при этом все преимущества Рендеринга RenderMan.

Актуально поддерживаемыми являются следующие системы Рендеринга: Pixar’s Photorealistic RenderMan® (PRMan) 15.0, Site Graphics AIR 10 и 3Delight 9.0.

Общие положения

Мы рекомендуем вам предварительно установить совместимый с RenderMan Рендерер, прежде чем вы установите CineMan. При первом старте CineMan он производит поиск специальных переменных, которые будут установлены автоматически при установке стороннего Рендерера. При этом будет найдена корректная директория.

Если вы устанавливаете Pixar’s RenderMan Renderer Pro Server, при этом вам необходимо проверить, что в переменной окружения будет включена директория (папка) "PRMan binary". В противном случае CineMan не будет функционировать.

После установки вами CineMan и стороннего, совместимого с RenderMan Рендерера, в установках программы вы можете выбрать необходимый Рендерер (Правка \ Настройки программы \ Рендерер \ CineMan). Вы можете теперь просто изменять позицию между стандартным Рендерингом программы Cinema 4D и рендером RenderMan (Основное меню \ Рендеринг \ CineMan \ Использовать CineMan). При выборе в меню Рендеринг команды Использовать CineMan, в установках Рендеринга программы эта функция будет автоматически установлена активной. При этом стандартные установки Рендеринга для программы Cinema 4D остаются без изменений, если вы от стандартных установок производите переключение на внешний Рендерер для CineMan.

Все установки Рендеринга, которые CineMan не получит из установок рендера программы Cinema 4D, вы можете дополнительно определить в установках для CineMan. Для этого кликните в левой части окна на название CineMan, посредством чего в правой части окна для вас будут предоставлены все необходимые установки.

Интерфейс RenderMan

RenderMan интерфейс (разработка компании PIXAR) была создана с целью возможности обмена информацией между программами 3D и сторонними программами Рендеринга. Имеется целый ряд совместимых с RenderMan сторонних программ Рендеринга. Три из них являются на данном этапе совместимыми с CineMan.

Спецификацию RenderMan вы можете всегда получить в компании PIXAR:

RenderMan Рендерер интерфейс, версия 3.2.1, Nov., 2005

http://RenderMan.pixar.com/products/rispec

Кроме этого имеется на сегодняшний день масса книг, которые посвящены интерфейсу и работе с RenderMan:

Интерфейс RenderMan состоит из двух различных участков: интерфейса программы (API) и дополнительного тега "RenderMan Interface Bitstream" (RIB). CineMan использует для себя интерфейс RIB.

RIB будет записан как файл. Данные RIB могут состоять из ASCII или бинарных данных. В последующем материале мы затронем тему данных ASCII. Они могут быть просто прочитаны, поняты и при необходимости изменены.

Необходимым является знание принципов функционирования о переносе информации сцены в программу стороннего рендера.

При переносе из 3D программы в совместимый с RenderMan пакет рендера, будет создан определённый ряд данных. На участке этого процесса сторонний пакет рендера производит актуализирование так называемого "Graphic State". Любые данные могут изменять это "Graphic State" или создавать геометрический объект примитив. Созданный на этом этапе объект примитив, производит унаследование актуального состояния "Graphic State".

"Graphic State" содержит информацию на предмет просчёта изображения, назначенных шейдеров, имеющихся источников света и так далее. Сохранённая информация может быть впоследствии использована повторно.

"Graphic State" содержит 2 типа информации:

"Graphic State" начинается постоянно с начальным атрибутом и заканчивается с конечным атрибутом (по аналогии с html-Tags: текс в пределах "b"-Tags будет определён неизменным). Если конечный атрибут отсутствует, при этом не может быть создан действительный RIB, и "Graphic State" не может быть восстановлен.

Начальный и конечный атрибуты могут быть использованы в других начальных и конечных Тегах HTML, но при этом не должны пересекаться (по аналогии с тегами html-Tags: :

Самым важным тегом является WorldBegin/WorldEnd-Tag-Paar. Он определяет начало для актуального описания сцены. Все настройки должны быть определёнными до WorldBegin и WorldEnd. Установки не могут изменяться между WorldBegin и WorldEnd.

На заметку:
С RenderMan совместимые пакеты Рендеринга видят камеру не как составную часть сцены. Поэтому изменения камеры должны быть определены до VOR WorldBegin.

"AttributeBegin" и "AttributeEnd" используются для сохранения и восстановления атрибутов. Атрибуты будут сохранены в одном, так называемом "Stack" (как и все другие элементы "Graphic States"). Посредством этого, атрибуты сохранённые последними, будут восстановлены как первые. На основе этого возможно создание определённых комбинаций из атрибутов. Этот процесс является аналогией работы с иерархиями объектов в программе Cinema 4D. Представьте себе раскрытую иерархию объектов в менеджере объектов, которую вы строка за строкой, проходите до нижнего окончания. Каждый раз, когда вы переходите на уровень под-иерархии, вы устанавливаете так называемый "AttributeBegin" (где вы затем произведёте необходимые изменения для назначенных материалов поверхностей или свойств видимости отдельных объектов). Если вы достигли окончания уровня под-иерархии, будут вызвана функция "AttributeEnd", и все изменения в пределах под-иерархии будут удалены актуальным "Graphic State" (они при этом ещё будут связаны с созданными на этом промежутками объектами примитивами).

Как функционируют пакеты рендера, совместимые с RenderMan?

На заметку:
Интерфейс RenderMan не определяет функционирование пакета Рендеринга, а скорее вид и способ переноса данных из программы 3D в непосредственный пакет Рендеринга. Несмотря на общую схожесть пакетов Рендеринга совместимых с RenderMan, они могут иметь абсолютно различные принципы и методы функционирования.

Последующая глава посвящена пакетам Рендеринга, которые используют так называемую архитектуру RYES. Следующие пакеты Рендеринга RYES являются совместимыми с CineMan:

Подробное описание темы для пакетов Рендеринга RYES вы найдёте в сети Интернет (Robert L. Cook, Loren Carpenter, and Edwin Catmull. "The Reyes Image Rendering Architecture.” Computer Graphics (SIGGRAPH ’87 Proceedings), страница 95-102).

Пакеты Рендеринга типа RYES производят резку объектов, состоящих впоследствии из мелкой решётки, так называемого "Микрополигонального каркаса", каждая ячейка которого имеет размер 1 пикселя. Тенеобразование происходит на угловых точках каркаса (Displacement-Shader сначала, и затем Surface-Shader). Удаление "скрытой геометрии" происходит после процесса тенеобразования. Размер микрополигонов будут определён на основе "Shading Rate": Значение = "1" микрополигон при этом будет занимать поверхность одного пикселя; значение = "0.5" участок площади половины пикселя; значение = "2" участок 2 пикселей и так далее по возрастающей.

Не имеет смысла производить передачу целых полигонов в пакет Рендеринга совместимого с RenderMan, так как они будут повторно обработаны и разрезаны пакетом. Разделение объекта Разбивка поверхности с заключительным экспортом в пакет рендера, имеет следующие недостатки:

Всё это имеет влияние на процесс рендера:

Пакеты RYES рендера производят просчёт небольшими частями. Это связано с тем, что объекты при этом будут подразделены на микрополигоны. Подразделение объектов, которые будут иметь мелкую ячейку сетки, требует от компьютера большой расход памяти. Поэтому очень часто геометрия будет подразделена по частям, если она будет использована пакетом Рендеринга, и затем будет оставлена без внимания. Совместимые с RenderMan пакеты Рендеринга, для этапа Raytracen, как правило, не требуют наличие микрополигонов.

На заметку
В то время как PIXAR PRMan и 3Delight являются RYES пакетами рендера, AIR не выполняет это требование! Поэтому изложенная выше информация не является действительной для AIR.

The RenderMan® renderer Interface Procedures and Protocol are:

Copyright ©copyright{} 1988, 1989, Pixar. All Rights Reserved.

RenderMan® renderer is a registered trademark of Pixar.

Команды CineMan

Использовать CineMan

Эта команда позволяет вам переключать пакеты рендера между стандартным рендером программы Cinema 4D и пакетом ренедера RenderMan (рабочий шаг, который вы обычно выполняете в настройках рендера, на закладке Общие при определении системы рендера). Практическая функция, особенно в том случае, если вы для этого процесса определите клавиатурное сокращение. В этом случае вы можете при нажатии клавиши переключать систему рендера в программе.

Внешний рендер...

При вызове этой команды для вас будет показан следующий диалог:

Частично вы найдёте здесь аналогичные установки, как и для экспорта контейнера RIB.

Вы управляете посредством этого выводом файла для пакета рендера.

Настройки изображения

Экспорт и пуск

Посредством нажатия на эту кнопку вы производите запуск для внешнего процесса рендера.

Экспорт

Процесс рендера при этом не производится, а выполняется экспорт RIB данных. Соответствует главной функции (почти), если вы произведёте выбор команды Основное меню: Файл \ Экспорт \ RIB.

Вы можете ещё выбрать трайберы дисплея. В данном случае будет создан скрипт, который производит управление пакетом рендера.

Выделить неправильные грани

Основа этой функции, это выделение всех рёбер геометрии, с которыми граничат более, чем два полигона. RenderMan-"Subdivision Surfaces", реагируют на такие рёбра. Посредством этой команды вы можете производить выделение таких рёбер и их соответствующую обработку.

Экспорт выделенных шейдеров...

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