Учебное Занятие XPresso

Посредством Expressions возможно наиболее просто и доступно устанавливать зависимости  между свойствами объектов, или выражаясь по-другому можно создавать автоматизацию сцены посредством определённых правил: „Если объект А выполняет действие B, то объект C должен выполнять действие D." Для того чтобы избежать трудоёмкого задания Expressions вручную или создавать их посредством математических формул фирма MAXON создала модуль XPresso.

Этот модуль XPresso является простой графической поверхностью, которая освобождает вас от задания текстовых команд. С помощью XPresso возможно создание выражений \Expressions\ посредством простого метода Drag & Drop. Эта функция с одной стороны является очень простой (и кроме этого может принести много приятных впечатлений), но с другой стороны предлагает огромное количество функций, для решения практически любых проблем.

Как выглядит такое решение проблем на практике? Давайте попробуем рассмотреть небольшой прим-

ер.

Для нашего занятия мы намерены создать телескопическую трубку. Начнём мы с создания новой сцены. Создайте три объекта цилиндр (Объекты/Примитивы/Цилиндр). Присвойте для каждого из цилиндров следующие названия: „Цилиндр_Большой", „Цилиндр_Средний" и „Цилиндр_Маленький".

Установите в менеджере атрибутов радиус для атрибутов „Цилиндр_Средний" = 45, и „Цилиндр _Мале-

нький" = 40.

Теперь мы имеем три цилиндра в сцене различной толщины. Нашей целью является перемещение самого маленького цилиндра вверх. При этом средний цилиндр должен автоматически перемещаться и постоянно находиться между двумя другими цилиндрами чтобы создать эффект телескопа. Идеальный случай для XPresso!

Создайте новое выражение XPresso. Быстрее всего вы можете это сделать при щелчке правой кнопки мыши на одном из цилиндров в менеджере объектов. В контекстном меню вам необходимо выбрать зат-ем CINEMA 4D Tags / XPresso.

В принципе, в этом случае это не имеет значения, для какого объекта вы назначите этот Тег. При этом будет открыто окно редактора XPresso. Перетащите теперь просто все 3 цилиндра из менеджера объектов на пустое поле окна редактора XPresso. Объекты при этом будут  показаны как маленькие квадратики, так называемые узлы „Node".

Узлы являются фундаментом построения схем в модуле XPresso. Они представляют объекты или функции. Узлы-Nodes имеют входы и выходы, посредством которых они могут обмениваться информацией с другими узлами. Все входы узла вы можете просмотреть посредством простого щелчка на них, а именно на синем поле в левом, верхнем углу узла. Все выходы такого узла скрыты за красным полем, расположенным в верхнем правом углу. Посмотрите на имеющиеся  выходы Узла-Цилиндра. Некоторые свойства должны быть вам знакомыми по менеджеру атрибутов.

Давайте сначала обдумаем, что же должно произойти. Мы намерены переместить маленький цилиндр вверх, то есть изменить его Y-значение. Для среднего цилиндра, Y-значение должно также изменяться. Он должен точно оставаться между Y-позицией большого и маленького цилиндра. Можно сказать, что мы должны его установить на промежуточное значение двух других цилиндров.

Кликните на красный угол для узла „Цилиндр_Большой" и выберите Координаты /Позиция/ Позиция.Y.

Повторите эти действия для узла „Цилиндр_Маленький".

Оба цилиндра могут теперь передавать их актуальную Y-позицию. Мы намерены из этих двух значений вычислить промежуточное значение. Для этой цели имеется специальный узел.

Перетащите из X-Pool узел „Смешать" к другим узлам (Создать узел / XPresso / Вычисления / Смеш-

ение). Установите в менеджере атрибутов фактор смешивания для этого узла = 50%.

Соедините выход „Position.Y" для узла „Цилиндр_Маленький" со входом 1 узла „Смешение", а выход узла „Цилиндр_Большой" со входом 2.

Обе позиции Y будут переданы теперь узлу „Смешение", который из этих значений произведёт просчёт среднего значения. 50% установка гарантирует, что эти значения будут смешаны в одинаковых объёмах.

Результат этого просчёта будет использован для Y-позиции среднего цилиндра. Кликните теперь на синий угол узла „Цилиндр_Средний" и откройте вход для Y-позиции (Координаты/Позиция/Позиция.Y). Соедините выход узла „смешать" со входом узла „Цилиндр_Средний".

Теперь вы можете посмотреть на результат нашей работы. Переместите маленький цилиндр вдоль его зелёной  Y-оси.  Средний  цилиндр  при  этом  будет  автоматически  изменять  своё   положение  и направление.

Но все, же небольшая проблема имеется: например, можно переместить маленький цилиндр слишком высоко вверх, так что наш телескоп при этом просто развалится по частям. Было бы неплохо, если бы мы могли немного ограничить такое движение. Естественно модуль XPresso имеет решение для нашей проблемы.

Перетащите из X-Pool ноде „Ограничить" в окно редактора XPresso. В менеджере атрибутов установите значение „Max" = 300.

Ноде „Ограничить" будет ограничивать теперь все без исключения значения, которые будут поступать на его вход „Значение", в пределах от 0 до 300. Теперь мы должны его связать с нашей схемой.

Кликните на синий угол для узла „Цилиндр_Маленький" и откройте вход для Y-позиции  (Координаты

/Позиция / Позиция.Y). Перетащите „Цилиндр_Маленький" ещё раз из менеджера объектов в окно ред-

актора XPresso и откройте вход для Y-позиции. Соедините этот выход со входом „Значение"  узла

„Ограничить". Соедините выход узла „Ограничить" со входом „Позиция.Y" узла „раннего" „Цилиндр  _

Маленький".

Цилиндр теперь возможно передвигать лишь до определённой позиции, как это и было бы в реальной жизни и с реальным телескопом.

Источник: Cinema 4D R11, Техническая документация Быстрый старт, MAXON Computer GmbH, 2008 г.

По теме:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий