Макрорегистратор

Макрорегистратор (Macro Recorder) фиксирует отдельные действия и формирует соответствующие команды MAXScript. Эти команды можно сохранить в виде сценариев для последующего вызова или даже поместить в виде кнопок на панели инструментов для быстрого доступа к ним.

Результаты действия Macro Recorder можно наблюдать в окне приемника команд (в верхнем подокне розового цвета). Если в окне приемника команд видно только одно подокно, воспользуйтесь мышью, чтобы перетащить вниз горизонтальную разделительную линию, расположенную в верхней части этого окна, и тем самым показать оба подокна. В верхнем подокне отображаются команды по мере их регистрации.

В Macro Recorder регистрируется большая часть действий, выполняемых в 3dsMax, включая щелчки на кнопках панелей инструментов, вывод информации в строку состояния, обращение к панелям Create и Modify.

К одним из наиболее примечательных свойств Macro Recorder относится возможность помещать на панели инструментов указатель на сценарий. В следующем упражнении вам предстоит сформировать простой сценарий с помощью Macro Recorder и поместить ссылку на него в виде макрокнопки на панели инструментов.

Для того чтобы воспользоваться Macro Recorder, выполните следующее.

1. Установите 3dsMax в исходное состояние.

2. Откройте меню MAXScript и убедитесь в том, что Macro Recorder активизирован (о чем свидетельствует "галочка" рядом с пунктом меню Macro Recorder). В противном случае выберите пункт меню Macro Recorder, чтобы активизировать макрорегистратор.

 

 

 

Основы MAXScript

3. Откройте окно приемника команд и убедитесь в том, что видно подокно розового цвета, служащее для вывода результатов макрорегистрации. В противном случае перетащите вниз горизонтальную разделительную линию, расположенную в верхней части окна приемника команд, чтобы показать подокно макрорегистрации.

 

 


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

4. Перейдите к панели Create и щелкните на кнопке Sphere.

В подокне макрорегистрации появится текст, обозначающий команду MAXScript, по которой создается сфера с ее атрибутами. На самом деле данный объект не появляется на сцене — он лишь формируется внутренним образом в 3dsMax.

Как видите, в данном сценарии указан нулевой радиус сферы и прочие уста­навливаемые по умолчанию значения свойств и параметров данного объекта.

5. Щелкните в любом видовом окне и перетащите курсор, чтобы сформировать сферический объект.

 

Глава 1

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

6. Выберите команду Macro Recorder ⇨ Enable из меню в окне приемника команд или команду MAXScript ⇨ Macro Recorder из главного меню, чтобы выключить Macro Recorder.

7. Выделите весь текст в подокне макрорегистрации внутри окна приемника команд.

Примечание. Если режим Auto Backup (Автосохранение) включен, то можно заметить, как формируются команды автосохранения. Если эти команды не нужны, выключите режим Auto Backup, перейдя к одноименной области диалогового окна Preference Settings по команде Customize ⇨ Preferences ⇨ Files (Специальная настройка ⇨ Глобальные параметры ⇨ Файлы) и сбросив флажок Enable (Активизировать), или же выделите и удалите их из подокна макрорегистрации.

8. Поместите курсор над текстом в подокне макрорегистрации и нажмите левую кнопку мыши. Перетащите курсор вверх к основной панели инструментов.

Как только курсор достигнет основной панели инструментов, под курсором появится небольшой знак "плюс", указывающий на место, где можно опустить перетаскиваемый сценарий Macro Script.

На основной панели инструментов появится небольшая пиктограмма, обозначающая сценарий, зарегистрированный в Macro Recorder.

 

 


9. Удалите только что созданную сферу, а затем щелкните на пиктограмме сценария. Выбранный сценарий выполнится, и в итоге будет создана еще одна сфера.


Основы MAXScript

10. Для правки сценария щелкните правой кнопкой мыши на основной панели инструментов и выберите команду Edit Macro Script из всплывающего контекстного меню. Откроется окно редактора MAXScript Editor, в котором вы можете внести любые изменения в выбранный сценарий (в данный момент он называется Macro Script). Код в этом окне может быть сохранен в файле maxscript (с расширением .ms) или же в файле Macro Script (с расширением .mcr).

 

 


Дополнительные сведения о специальной настройке панели инструментов, правке внешнего вида ее кнопок и сценариях Macro Script вообще приведены в разделе "Defining Macro Scripts" (Определение макросценариев) справочного руководства по MAXScript.

Как упоминалось выше, Macro Recorder можно также включать и выключать из меню Macro Recorder в окне приемника команд. В этом меню имеются и другие пункты. В частности, они дают возможность сделать выбор между явными именами находящихся на сцене объектов или же относительными именами выделенных на сцене объектов. В первом случае Macro Recorder формирует команды для от­дельно (т.е. явно) выделенных на сцене объектов, а во втором — для объектов, вы­деленных на сцене в виде совокупности (т.е. выделенных относительно).

Для того чтобы воспользоваться явными и относительными именами выделенных на сцене объектов, выполните следующее.

1. Установите 3dsMax в исходное состояние.

2. Создайте сферу в любом видовом окне.

3. Выберите команду Macro Recorder ⇨ Enable из меню в окне приемника команд, чтобы активизировать Macro Recorder.

4. Выберите команду Macro Recorder ⇨ Explicit Scene Object Names (Макро­регистратор ⇨ Явные имена находящихся на сцене объектов) из меню в окне приемника команд.


Глава 1

 

 


5. Удалите только что созданную сферу и обратите внимание на код, сформированный в Macro Recorder. Он должен быть следующим:

select $sphere01

delete $sphere01

6. Установите 3dsMax в исходное состояние и повторите приведенные выше пункты данного упражнения, выбрав на этот раз команду Macro Recorder ⇨ Selection-Relative Scene Object Names (Макрорегистратор ⇨ Относительные имена выделенных на сцене объектов) из меню в окне приемника команд.

7. Если теперь зарегистрировать действия, аналогичные описанным выше, то появится следующий код:

select $sphere01

delete $

Несмотря на то что в данном случае был удален конкретный объект, данный факт явно не указан в командах, зарегистрированных в Macro Recorder. Вместо этого явная ссылка на сферический объект была заменена знаком денежной единицы ($). Этот знак обозначает выделенный в данный момент объект или несколько объектов.

Кроме того, в меню Macro Recorder можно сделать выбор между абсолютными и относительными операциями преобразования.

Для того чтобы зарегистрировать абсолютные и относительные операции преобразования, выполните следующее.

1. Установите 3dsMax в исходное состояние.

2. Создайте сферу любыми средствами.

3. Выберите команду Macro Recorder ⇨ Absolute Transform Assignments (Макро-регистратор ⇨ Присвоение абсолютных преобразований) из меню в окне приемника команд. Затем выберите команду Macro Recorder ⇨ Explicit Scene Object Names из этого же меню.


Основы MAXScript

4. Выделите сферу и переместите ее. Сформированный в итоге код будет иметь вид, аналогичный следующему:

$sphere01.pos = [20.222, 10.011, 4.75]

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

5. Выберите команду Macro Recorder ⇨ Relative Transform Operations (Макро-регистратора ⇨ Относительные операции преобразования) из меню в окне приемника команд, а затем переместите сферу. В итоге сформируется код, аналогичный следующему:

move $sphere01 [5.44, 0.0, 0,0]

В этой строке кода сфера перемещается на 5,44 единиц относительно ее положения, предшествовавшего выполнению данной строки кода.