Введение
Основы
3dsMax8
MaxScript
Учебная программа по мультимедийным
и развлекательным приложениям
компании Autodesk
Москва • Санкт-Петербург • Киев 2006
ББК 32.973.26-018.2.75
A11
УДК 681.3.07
Издательский дом "Вильямс"
Зав. редакцией С Я. Тригуб
Перевод с английского и редакция И. В. Берштейна
По общим вопросам обращайтесь в Издательский дом "Вильяме" по адресу:
info@williamspublishing.com, http://www.williamspublishing.com
115419, Москва, а/я 783; 03150, Киев, а/я 152
Autodesk, Inc.
А11 Основы 3dsMax 8 MAXScript: учебный курс от Autodesk. : Пер. с англ. — М. : Издательский дом "Вильямс", 2006. — 256 с. : ил. — Парал. тит. англ.
ISBN 5-8459-1044-7 (рус.)
Эта книга представляет собой практическое пособие по изучению принципов и методов создания сценариев MAXScript как весьма эффективного средства повышения производительности труда в Autodesk 3dsMax 8. Многочисленные примеры и простые упражнения, включенные в учебный материал этой книги, позволяют освоить основы программирования на языке Autodesk 3dsMax 8 MAXScript и научиться создавать и отлаживать сценарии для построения пользовательского интерфейса, автоматизации рутинных операций преобразования объектов, текстурирования, освещения, анимации и визуализации сцен. Дополнительный учебный материал к книге прилагается на CD-ROM. Книга адресована тем пользователям Autodesk 3dsMax 8, которые стремятся повысить эффективность своего труда с помощью сценариев, автоматизирующих многие часто повторяемые операции.
ББК 32.973.26-018.2.75
Все названия программных продуктов являются зарегистрированными торговыми марками соответствующих фирм.
Никакая часть настоящего издания ни в каких целях не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами, будь то электронные или механические, включая фотокопирование и запись на магнитный носитель, если на это нет письменного разрешения издательства FocalPress.
Authorized translation from the English language edition published by Focal Press, Copyright © 2006, Elsevier Inc.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from the Publisher.
Russian language edition published by Williams Publishing House according to the Agreement with R&I Enterprises International, Copyright © 2006
ISBN 5-8459-1044-7 (рус.) © Издательский дом "Вильямс", 2006
ISBN 0-240-80858-4 (англ.) © 2006, ElsevierInc., 2006
Оглавление
Введение | |
Глава 1. Основы MAXScript | |
Глава 2. Построение пользовательских интерфейсов | |
Глава 3. Интерфейс 3dsMax | |
Глава 4. Объекты и классы | |
Глава 5. Преобразования и анимация | |
Глава 6. Работа с объектами в MAXScript | |
Приложение | |
Предметный указатель |
Содержание
Введение | |
Новое в этом издании | |
О копировании файлов упражнений | |
От издательства | |
Глава 1. Основы MAXScript | |
Задание | |
Введение | |
Синтаксис и организация сценария | |
Комментарии | |
Многострочные операторы | |
Переменные и данные | |
Нетипизированные переменные | |
Приемник команд MAXScript Listener | |
Применение MAXScript Listener | |
Свойства объектов | |
Дополнительные свойства объектов | |
Макрорегистратор | |
Функции | |
Параметры и обозначение функций | |
Создание собственных функций | |
Передача аргументов по значению | |
Передача аргументов по ссылке | |
Исключение из правила передачи аргументов по значению (дополнительный материал) | |
Возврат значений из функций | |
Локальные и глобальные переменные | |
Определение переменных | |
Глобальные переменные | |
Локальные переменные |
Содержание
Условные операторы | |
Операторы if-then | |
Логические операторы НЕ, И, ИЛИ | |
Операторы if-then-else | |
Перечень операторов | |
Циклические конструкции | |
Цикл for | |
Циклы с многими операторами | |
Циклы while | |
Совокупности | |
Массивы | |
Функции для массивов | |
Вывод массивов на печать | |
Многомерные массивы (дополнительный материал) | |
Метасимволы | |
Структуры | |
Синтаксис структуры | |
Функция-конструктор структуры | |
Инициализация структуры | |
Функции-члены структуры | |
Вызов функций во время построения структуры (дополнительный материал) | |
Строки | |
Сцепление | |
Поиск содержимого строки | |
Замена | |
Взаимное преобразование чисел и строк | |
Создание и выполнение сценариев | |
Работа с выражениями | |
Изменение цвета каркаса объектов в цикле | |
Заключение | |
Глава 2.Построение пользовательских интерфейсов | |
Задание Введение | 79 79 |
Построение пользовательских интерфейсов | |
Типы пользовательских интерфейсов | |
Виды сценариев | |
Макросценарии |
Содержание
Файлы сценариев | |
Свитки | |
Ввод элементов пользовательского интерфейса | |
Обработчики событий | |
Группы в свитке | |
Создание рабочего сценария | |
Создание пользовательского интерфейса | |
Ввод обработчиков событий | |
Точная настройка пользовательского интерфейса | |
Автоматическое удаление диалоговых окон | |
Ввод событий для кнопки выбора | |
Использование локальных переменных | |
Включение и отключение элементов пользовательского интерфейса | |
Заключение | |
Глава 3. Интерфейс3dsMax | |
Задание | |
Введение | |
Получение копии, экземпляра и ссылки | |
Копия | |
Экземпляр | |
Ссылка | |
Клонирование узлов с помощью функции maxOps.CloneNodes | |
Копирование массивов | |
Команды Max | |
Панели команд | |
Основная панель инструментов | |
Выбор объектов на сцене | |
Выбор точек | |
Функция mouseTrack (дополнительный материал) | |
Интерфейс раскраски (дополнительный материал) | |
Заключение | |
Глава 4. Объекты и классы | |
Задание | |
Введение |
Объектно-ориентированное программирование | |
Иерархия классов | |
Наследование классов | |
Определение типов классов | |
Экземпляры | |
Свойства | |
Класс MAXWrapper | |
Методы | |
Конструкторы | |
Методы типа get и set | |
Отображаемые методы | |
Работа со справочным руководством по MAXScript | |
Грамматика MAXScript | |
Необязательные параметры | |
Возвращаемые значения | |
Присваивание ссылок | |
Заключение | |
Глава 5. Преобразования и анимация | |
Задание | |
Введение | |
Свойства преобразований изменением положения и масштабированием | |
Преобразование изменением положения | |
Преобразование масштабированием | |
Преобразование вращением | |
Метод Euler Angles | |
Рамочная система координат | |
Локальные вращения | |
Кватернионы | |
Метод AngleAxis | |
Контексты | |
Контекст coordsys | |
Анимация | |
Контроллеры | |
Ключевые кадры анимации | |
Значения ключевых кадров | |
Типы контроллеров |
Содержание
Содержание
Ось вращения | |
Удаление ключевых кадров | |
Касательные к ключевым кадрам | |
Заключение | |
Глава 6. Работа с объектами в MAXScript | |
Задание | |
Введение | |
Применение модификаторов | |
Источники света и камеры | |
Источники света | |
Камеры | |
Материалы | |
Управление средством визуализации | |
Обратные вызовы | |
Внесение элемента случайности | |
Заключение Приложение | |
Отладка, перехват и обработка ошибок | |
Виды ошибок | |
Периоды компиляции и выполнения | |
Методы отладки сценариев | |
Обратное отслеживание по стеку | |
Перехват и обработка ошибок | |
Отладчик MAXScript Debugger | |
Доступ к отладчику | |
Команда прерывания | |
Окно вывода из отладчика | |
Командная строка отладчика | |
Окно диспетчера наблюдения | |
Исправление ошибок в отладчике | |
Установка активного кадра стека | |
Интерфейс отладчика |
Содержание
Файловый ввод-вывод | |
Указатель файла и смещение | |
Запись в файлы | |
Доступ к файлам на уровне системы | |
Диалоговые окна открытия и сохранения файлов | |
Открытие диалогового окна сохранения файлов | |
Ввод-вывод в двоичные файлы | |
Запись в двоичный файл | |
Чтение из двоичного файла | |
Дополнительные функции двоичного ввода-вывода | |
Редактор Visual MAXScript | |
Сохранение и активизация панелей, созданных в редакторе | |
Visual MAXScript | |
Другое применение редактора VMS | |
Встраивание элементов управления ActiveX в свитки средствами MAXScript | |
Система публикации функций и интерфейсы | |
Контроллеры управления по выражению и по сценарию Предметный указатель | 243 246 |
Приглашаем вас изучить основы программирования на языке MAXScript для приложения Autodesk® 3dsMax® 8. В этой книге вам предоставляется возможность освоить ряд методов автоматизации рутинных операций средствами языка создания сценариев MAXScript, чтобы научиться с его помощью настраивать среду 3dsMax для более продуктивной работы в данном приложении.
Средства MAXScript позволяют взаимодействовать со сценой 3dsMax и автоматически управлять действиями или операциями из сценария посредством операторов. Для этого операции записываются в форме текста (сценария), a 3dsMax интерпретирует сценарий и выполняет последовательность операций. Такие текстовые сценарии можно сохранить и повторно использовать в любой момент. MAXScript охватывает практически все свойства 3dsMax.
Научиться писать сценарии на определенном уровне может каждый, однако сложность сценариев в конечном итоге зависит от трех следующих факторов.
• Практика. Постоянная работа с MAXScript и изучение сценариев, написанных другими, способствуют развитию способностей создания сценариев.
• Математическая подготовка. Для написания сценариев очень важно знать основы математики, и особенно — тригонометрии.
• Опыт программирования. Для создания сценариев полезно иметь некоторый опыт программирования, хотя и необязательно.
Самым лучшим источником информации, необходимой для работы с MAXScript, служит руководство по MAXScript, которое составлено в виде оперативной справки, входящей в состав 3dsMax. Основное назначение данного руководства — дать исчерпывающую справку по всем инструментам MAXScript и показать, как ими пользоваться. Поэтому для того, чтобы научиться писать сценарии, очень важно уметь пользоваться руководством по MAXScript. В одном из упражнений, включенных в настоящее издание, показано, каким образом следует искать нужную информацию в оперативной справке, чтобы продолжить изучение MAXScript по завершении данного практического курса.
Проработав материал этой книги, вы сможете самостоятельно анализировать сценарии, написанные другими. В таких сценариях вы можете обнаружить неизвестные вам методы создания сценариев или те же самые задачи, решаемые по- другому. Как правило, при написании сценариев допускается несколько вариантов решения одной и той же задачи, и по ходу создания все более крупных и сложных сценариев у вас постепенно выработается собственный стиль их написания.
Введение