Cinema 4D Cinema 4D Visualize, Broadcast, Studio MoGraph Эффекторы Эффектор C.O.F.F.E.E.
Функция доступна в CINEMA 4D Broadcast, Studio
Эффектор C.O.F.F.E.E.

Общие Координаты Эффектор Параметры Деформация Ослабление

Эффектор

Эффектор

Интенсивность [-∞..+∞%]

Этот параметр является мерой, выражающей общее усилие воздействия для эффектора. Как и для других значений интенсивности, здесь возможно определение значение меньшем, чем 0% и больше чем 100%.

Выделение

Слева показано воздействие эффектора шага без выделения, справа с учётом имеющегося выделения

В это поле вы можете перетащить тег Выделение MoGraph или тег Карта весов MoGraph. Или он будет занесён в это поле автоматически, если вы при выделенном объекте Клон и имеющемся выделении или весе MoGraph создадите эффектор.

Эффектор тогда действует в зависимости от тега следующим образом:

Максимум [-∞..+∞%]

На основе этих двух параметров вы можете ограничивать \ расширять внутренние значения для участков.

Минимум [-∞..+∞%]

Вы можете определить уровень контроля для эффектора C.O.F.F.E.E.

Контроль параметров

В этом режиме будут контролироваться только параметры эффектора (например, Позиция, Масштаб, Трансформация веса и так далее). Для этого соответствующие параметры вы можете просто перетащить курсором мыши в поле Код или в окно редактора Expression. В этом случае будет использован соответствующий номер ID:

Полный контроль

При этом режиме вам предоставляется полный контроль над клонами. Вы можете при этом, например, производит размещение клонов по своему усмотрению, производить их добавление или удаление, изменять любые параметры и так далее. Эта установка является для большинства случаев наиболее продуктивной и быстрой, по сравнению с Режим Контроль параметров.

Задайте здесь или посредством клика на кнопке Открыть редактор C.O.F.F.E.E. приводящей к вызову окна редактора, необходимый код C.O.F.F.E.E.

Эффектор C.O.F.F.E.E. может работать с различными постоянными и классами (что впоследствии будет названо как "частицы”, является ничем иным, как выражение "клоны”, которое вы найдёте в справке прораммы):

постоянные

Классы

int GetCount()

Предоставляет данные о числе MoGraph частиц из MoData.

При этом будет предоставлено целочисленное значение.

boolean SetCount(int COUNT)

Назначает число MoGraph частиц в MoData.

При этом будет предоставлено булево значение как результат для выполненного действия.

Аргументы

int COUNT: Число частиц

array GetArray(int ID);

Предоставляет специфические MoData данные частиц, для их непосредственной манипуляции. Число элементов Array является аналогичным с количеством частиц.

Предоставляет Array, для типа Array. Смотрите Постоянная.

Аргументы

int ID: Array-ID для считываемого Array. IDs будут использованы от названного выше нода Постоянная (MODATA_MATRIX, MODATA_COLOR, MODATA_TIME, MODATA_CLONE, MODATA_UVW, MODATA_WEIGHT, MODATA_FLAGS).

boolean SetArray(int ID, array VALUES{, boolean APPLY_FALLOFF})

Назначает специфические данные частиц Array принадлежащие объекту MoData. При этом число элементов объекта Array должно быть аналогичным по отношению к числу частиц в данных. Если это выглядит иначе, в этом случае MoData по своему размеру будет изменен по величине нового Array.

Предоставляет как конечный результат булево значение, обозначающее положительный результат назначения объекта Array.

Аргументы

int ID: Array-ID для считываемого Array. IDs будут использованы от названного выше нода Постоянная (MODATA_MATRIX, MODATA_COLOR, MODATA_TIME, MODATA_CLONE, MODATA_UVW, MODATA_WEIGHT, MODATA_FLAGS).

Array VALUES: Это назначаемый Array. Он должен подходить к типу данных ID, и идеально соответствовать числу частиц объекта MoData.

boolean APPLY_FALLOFF: Если установлено значение TRUE, ослабление эффектора будет добавлено как данным без изменения. Если определено FALSE, данные будут использоваться без ослабления.

array GetFalloffs();

Производит опрос Arrays с последующим их назначением для данных MoGraph.

Поставляет Array, а именно ослабление Array (точка с запятой) значения, как обычно в пределах границ от 0.0 до 1.1.

float SampleFalloff(vector POSITION)

Предоставляет значения ослабления для определённой позиции.

Предоставляет значение плавающей точки с запятой, а именно интенсивность ослабления эффектора для заданной позиции.

object GetGenerator()

Поставляет генератор (объекты Клон-, Матрица-, Инстанция-, Разрушение), который содержит актуальные и модифицированные данные MoGraph.

Поставляет объект для модификации генератора.

int GetCurrentIndex()

(только контроль параметров эффектора C.O.F.F.E.E.)

Производит опрос на предмет актуального и модифицируемого индекса частиц для MoData.

При этом будет предоставлено целочисленное значение: актуальный индекс.

int GetBlendID()

(nur Parameterkontrolle des C.O.F.F.E.E.-Effektors)

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

При этом будет предоставлено целочисленное значение: актуальный индекс, а именно актуальный идентификационный номер интерфейса Interface-ID.

boolean CopyTo(MoData DEST)

Производит копиование MoDate к другим MoDate.

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

Аргументы

MoData DEST: Объект цели MoData; он должен быть заполнен (например var mymodata = new(MoData); if (othermodata->CopyTo(mymodata)) do something), до начала его использования.

MoData GetClone()

Предоставляет MoData клон, для использования его на других участках.

Предоставляет MoData, а именно MoData клон.

MoData GeGetMoData(effector)

Должен быть расположен в начале функции, для считывания данных MoData частиц (смотрите стандартный участок кода при вызове эффектора).

int GetArrayCount()

Предоставляет количество различных Arrays, которые имеются в MoData.

int GetArrayID(int index);

Предоставляет ID для индексационных номеров Array. Предоставленный ID будет использован для GetArray/SetArray.

int GetArrayType(int id);

Предоставляет Array тип: Матрица, вещественный и так далее. Смотрите C++-API для DTYPE's.

string GetArrayName(int id);

Предоставляет название Array, если она было назначено предварительно.

int GetArrayFlags(int id);

Предоставляет Flags для определённых Array, смотрите также c4d_baseeffector.h в C++-API.

bool AddArray(int id, int type, [string name, int flags]);

Производит добавление Array для MoData производит добавление.

bool RemoveArray(int id);

Производит удаление Array из MoData.

basecontainer GetContainer(int id = -1);

Предоставляет Array контейнер, если используется значение -1¸принадлежащее собственному контейнеру MoData’s.

bool SetContainer(int id, basecontainer bc);

Производит назначение Array контейнера

int GetDirty();

Предоставляет MoData-"Dirtyness”, если Array был изменён по своему размеру; значение при этом будет увеличиваться по возрастающей.

void SetDirty();

Устанавливает MoData на "Dirty”.

Посредством этого будет открыто Expression, которое является более комфортабельным по сравнению с полем кода. Оба поля задания являются связанными между собой. При этом не имеет значение, где вы производите изменение кода, в другом поле при этом код при этом изменяется автоматически.