|
3DS МАХ распространяется с двумя типами
параметрических контроллеров - Noise и
Expression. Таблица показывает типы
параметрических контроллеров и типы
данных, с которыми их можно
использовать.
Типы данных, доступные для каждого типа
параметрического контроллера.
Каждая комбинация параметрического типа
и типа данных реализуется уникальным
контроллером. Внутри группы контроллеров
заданного параметрического типа способ,
по которому задаются параметры
контроллера, является одним и тем же.
Контроллеры Noise
Параметры для контроллера помех
указываются в диалоге Properties
контроллера. Для всех типов данных
диалог Properties доступен в Track View
через выбор параметра, которому назначен
контроллер, щелчке на свободной области
окна редактирования, чтобы убедиться,
что никаких ключей не выделено, затем
щелчке правой кнопкой мыши на названии
параметра и щелчке правой кнопкой на
линейке диапазона в дорожке параметра
или щелчке на Properties в линейке
инструментов Track View.
Для контроллеров, связанных с
трансформацией на объектном уровне,
параметры контроллера можно также
настроить из панели команд Motion,
выбрав параметр в свитке Assign
Controller, щелкнув правой кнопкой на
параметре и выполнив из всплывающего
меню команду Properties.
Рисунок показывает пример диалога
Property для контроллеров Noise Float и
Position. Легко заметить, что
единственное различие заключается в
количестве полей Strength. Во всем
остальном контроллеры одинаковы.
Characteristic Graph в диалоге Noise
Properties грубо отражает эффект,
который окажут на вывод контроллера
изменения в параметрах помех. Во многих
случаях лучше видеть точный эффект этих
изменений. Это можно сделать, щелкнув на
Function Curves на линейке инструментов
Track View для показа кривой функции
параметра. Данная кривая изменяется при
изменении параметров помех.
СОВЕТ
Поскольку контроллеры вращения не
отображают кривых функции, вы не увидите
эффекта изменений параметров помех
посредством таких контроллеров. В этом
случае следует использовать сложный
контроллер Эйлера XY2 и применить
контроллер помех к каждой оси. Значения
в каждом контроллере будут в основном
теми же, за исключением исходного
инициирующего, которое для каждого
контроллера должно быть различным.
Поля Strength указывают диапазон
выводных значений контроллера помех.
Диапазон меняется от Strength/2 до "Strength/2,
если опция >0 отключена, или от 0 до
Strength в противном случае. Здесь
существует два исключения. Прежде всего
для типа данных масштаба значение 100
автоматически прибавляется к каждому из
выводных значений помех. Это означает,
что вы применяете, помехи к 100% фактору
масштаба. Во-вторых, если включены
фрактальные помехи, выводной диапазон
увеличивается, а центральная точка не
изменяется. Таким образом могут быть
значения меньшие нуля даже тогда, когда
включена опция >0. Для Roughness 0.0
диапазон увеличивается приблизительно на
10%, для Roughness 1.0 на 100%.
СОВЕТ
Для управления точкой центра результата
с контроллером Noise можно'использовать
контроллер List и кпюч-базированный
контроллер как ввод. Отключите опции >0
в Noise и затем создайте ключ для
ключ-базированного контроллера, значение
которого желательно для центральной
точки.
Поля Ramp In и Ramp Out уменьшают
количество помех в начале и в конце
диапазона. Данное изменение нелинейно,
однако эквивалентно кривой Безье. Для
Ramp In кривая определяется вершиной
Безье, находящейся в нулевой отметке
времени и во времени, указанном в поле
Ramp In, с вершиной, имеющей нулевую
скорость интерполяции.
Поля Ramp In и Ramp Out ведут себя
сходно с Multiplier Curve, примененной к
контроллеру Noise. Интересное
последствие подобного сходства состоит в
том, что если опция >0 включена и
указано значение Ramp In, выводное
значение контроллера подходит к нулю при
нулевом времени, а не к средней точке
Strength/2.
СОВЕТ
Если требуется использовать Ramp In или
Ramp Out и необходим уклон к значению
средней точки, следует отключить опцию
>0, поместить контроллер Noise под
контроллер List и добавить к контроллеру
List ключ-базированный контроллер.
Создайте ключ для ключ-базированного
контроллера м установите его значение в
Strength/2.
Основные сведения о контроллерах
выражений
Контроллеры выражений (Expression
controllers) уникальны в том, что они
оценивают определенные пользователем
выражения и таким образом определяют
свои выводные значения. Из-за своей
относительной сложности контроллеры
выражений детально описываются в этой
главе позже. Для сравнения их с другими
параметрическими контроллерами
рассмотрите следующее основное
упражнение, посвященное контроллерам
выражений.
Настройка числа сегментов высоты
цилиндра на основе угла изгиба.
-
Создайте в видовом окне Тор цилиндр
с Radius = 50, Height = 200, пятью
Height Segments, одним Cap Segment и
24 Sides. Убедитесь, что опция
Smooth включена.
-
В диалоге
Time Configuration
установите
Animation End Time
в
50.
-
Включите Animate и примените
модификатор Bend. На кадре 50
установите Bend Angle (Угол изгиба)
в 180 и Bend Axis - в Z .
-
Отключите Animate, активизируйте вид
Perspective, щелкните на Zoom
Extents, увеличьте окно для лучшего
обозрения и проиграйте анимацию
(зрелище довольно отвратительное).
-
Откройте вид Track и расширьте
дорожки так, чтобы видеть
контроллеры, служащие вводом в
модификатор Bend и в Object (Cylinder).
-
Щелкните на Height Segment для его
выбора, щелкните на Replace
Controller, выберите Float
Expression и нажмите на ОК.
-
Щелкните правой кнопкой мыши на
Height Segments и выполните
Pproperties из всплывающего меню.
После этого происходит переход в
диалог Expression Controller.
-
Прежде всего требуется создать
скалярную переменную, определяющую
минимальное количество сегментов,
которые должен иметь цилиндр. В поле
Name в разделе Create Variables
(переменные создания) напечатайте
HSMin, убедитесь, что выбрана опция
Scalar, и нажмите Create. Щелкните
на Assign to Constant (присвоить
константу), установите значение в 2
и нажмите на ОК.
-
Далее требуется создать скалярную
переменную, определяющую
максимальное количество сегментов,
которое может быть в цилиндре. В
поле Name в разделе Create Variables
напечатайте HSMax, убедитесь, что
выбрана опция Scalar, и нажмите на
Create. Щелкните на Assign to
Constant, установите значение в 14 и
нажмите на ОК.
-
Теперь необходимо создать скалярную
переменную, указывающую угол изгиба
для цилиндра. В поле Name раздела
Create Variables напечатайте
BendAngle, убедитесь, что опция
Scalar включена, и щелкните на
Create. Щелкните на Assign to
Controller и в появившемся диалоге
Track View Pick выберите параметр
Angle под Bend. Нажмите на ОК.
Рисунок 24.28 показывает диалог
Expression Controller и диалог Track
View Pick в данный момент.
-
Наконец, следует ввести уравнение
для оценки. В окне Expression
напечатайте HSMin+(BendAngle/ 180)*(HSMax-HSMin)
и щелкните на Evaluate. Рисунок
24.29 отражает диалог Expression
Controller в данной точке.
-
Переместите или измените размеры
диалогов Track View и Expression
Controller так, чтобы можно было
видеть вид Perspective, после чего
проиграйте анимацию. Количество
сегментов высоты цилиндра изменяется
при изменении угла.
СОВЕТ
Можно опуститься по стеку модификаторе
до Cylinder и наблюдать за изменением
количества Height Segments при
воспроизведении анимации. Кроме того,
можно изменить значения, присвоенные
HSMin и HSMax в выражении, и наблюдать
за производимым эффектом. |