Приемы работы с составными материалами.
Составные материалы различными способами сочетают в себе два или более материалов. Обычно для создания составных материалов используются материалы на основе текстурных карт, но можно работать и с основными материалами (рис. 13.67).
Рис. 13.67. Составные материалы – это различные сочетания простых материалов, в данном случае карт Checker (Шахматная доска) и Cellular (Клетчатая) с включенной опцией Force 2-sided
Создание многокомпонентного материала (Multi/Sub-Object)
Использование многокомпонентных материалов позволяет назначить различным частям объекта свой тип материала. Каждой грани приписывается свой подматериал в соответствии с идентификационными номерами подматериалов и граней.
Существует два способа создания многокомпонентных материалов: назначением материала каждой грани и затем объединением этих материалов в один многокомпонентный или созданием материала из образцов. Первый метод является более простым, поскольку соответствие идентификационных номеров подматериалов и граней устанавливается автоматически.
Создайте четыре различных материала (рис. 13.75).
Рис. 13.75. Эти четыре материала будут объединены в один
Выделите некоторое количество граней в редактируемой сетке или воспользуйтесь модификатором Edit Mesh (Редактирование сетки).
Перетащите материал из ячейки образца на выделенные грани.
Продолжите выделение граней и присвоение им материалов. Затем визуализируйте сцену (рис. 13.76).
Рис. 13.76. Разные детали чайника имеют различные материалы
Установите новое расположение материалов, создавая новые области выделения и перетаскивая в них материалы.
Выйдите из режима выделения подобъектов.
Активизируйте неиспользуемую ячейку образца материала.
Щелкните мышью по значку пипетки (eyedropper) , который расположен рядом с полем имени материала. Затем щелкните мышью по объекту. Многокомпонентный материал будет загружен в ячейку образца. Ниже появится его свиток. Каждому подматериалу соответствует ветвь в дереве материала и свой идентификационный номер (рис. 13.77).
Рис. 13.77. Новый многокомпонентный материал состоит из четырех подматериалов
Чтобы изменить идентификационный номер материала, введите числовое значение в поле ID (Идентификация). Теперь номера различных подматериалов могут повторяться.
Чтобы связать многокомпонентный материал с другим объектом, вы должны установить соответствие идентификационных номеров подматериалов и граней объекта.
- Освещение и рендеринг. Настройка освещения сцены. Параметры и операции объектов-источников света. Основные параметры визуализации. Настройка рендеринга.
Освещение и рендеринг.
Удачно подобранный свет в сцене может подчеркнуть достоинства модели и скрыть ее недостатки, тогда как, плохо подобранный свет испортит впечатление даже от интересной, с точки зрения моделирования, сцены.
В нашей реальной жизни свет от источников освещения можно разделить на две категории: направленный и рассеянный. Источники освещения, которые генерируют направленный свет, относятся к направленным источникам освещения, к примеру, фонарь или прожектор.
Для того чтобы увидеть всю красоту сцены после настройки освещения и материалов, необходимо сделать рендер, так как в окне проекции не видны большинство эффектов, без которых сцена выглядит не реалистично.
Рендером называется просчет сцены для получения итогового результата, будь то картинка (графический файл) или видео ролик. Визуализацию сцены также иногда называют Рендерингом.
Для того, чтобы запустить процесс визуализации, нужно выбрать окно проекции, вид из которого мы хотим визуализировать и нажать клавишу F9 на клавиатуре. Процесс визуализации также можно запустить, нажав на пиктограмму чайника, на главной панели инструментов. После чего откроется отдельное окно, в котором происходит визуализация сцены.
Если мы, не установив ни одного источника освещения, сделаем рендер сцены, то мы увидим, что сцена хорошо освещена. То, что освещает сцену до тех пор, пока мы не установим источники освещения, называется Default Light. Default Light отключается автоматически как только мы устанавливаем источник освещения.
Настройка освещения сцены.
Все доступные источники освещения находятся в меню Create в подменю Lights.
Наиболее интересными для нас источниками освещения являются Target Spot,Target Direct и Omni.
Источники освещения Target Spot и Target Direct генерируют направленный свет и относятся к направленным источникам освещения.
1. Target Spotподходит для имитации света от настольной лампы или прожектора. Обратите внимания на конусовидный ограничитель, который указывает границы действия направленного света.
Слово Target в названии означает, что источник освещения имеет цель в виде маленького квадратика, при помощи которого можно указать объект, на который направлен источник освещения. К примеру, при создании анимации можно, оставив сам источник освещения неподвижным, анимировать только его цель (Target). В большинстве случаев цель (Target) должна находится в центре объекта, на который необходимо направить свет, это упростит настройку положения источника освещения и, как итог, постановку света в сцене. Источник освещения Free Spot ничем не отличается отTarget Spot за исключением того, что не имеет манипулятора цели (Target) и настройка направления света в его случае происходит при помощи Select and Rotate.
2. Target Direct, напротив, не совсем подходит для имитации света от прожектора, так как генерирует параллельные лучи света, и скорее подойдет для имитации солнечных лучей. Обратите внимание на цилиндрический ограничитель, который указывает границы действия источника освещения Target Direct.
3. Для имитации света от торшера или люстры часто используют Omni, который также хорошо выполняет роль вспомогательного источника освещения. Проще говоря, Omni это обычная лампочка, которая генерирует рассеянный свет.
Параметры и операции объектов-источников света.
Несмотря на то, что источники освещения разные, настройки у них очень похожи. Давайте рассмотрим основные параметры источников освещения на примере Target Spot.
Для чего выберем Target Spot в окне проекции и переключимся в меню Modify.
Расположите в сцене любой объект и создайте под ним плоскость, которая будет принимать тени.
Теперь установите Target Spot примерно как на скриншоте:
Для основного источника света необходимо включить параметр Shadows (тени), что сделает картинку реалистичней.
Параметр Multiplier во вкладке Intenity/Color/Attenuation влияет на силу источника света:
Параметр Dens во вкладке Shadow Parameters влияет на плотность теней:
Для того что бы граница света-тени была мягкой, во вкладке Spotlight Parameters поставьте значение Hotspot/Beam в несколько раз меньше значения Falloff/Field, изменения вы будете наблюдать в окне проекции:
Так же на тень влияет расстояние до источника света. Чем он дальше, тем размытие будет тень, чем ближе - тем тень будет четче.
Рекомендую не ограничиваться одноим источником света, а устанавливать как минимум два:
При этом параметр Shadows можно оставить только у одного из источников.
Параметры визуализации.
Конечным результатом работы над трехмерным проектом может быть либо трехмерная модель, либо мультимедийный файл (графика или видео). В первом случае результаты могут быть использованы для разработки компьютерных игр. Мультимедийные файлы, как правило, представляют собой практически готовый продукт. Проще говоря, программа визуализирует изображение трехмерной сцены с объектами, которые в ней присутствуют.
В окнах проекций трудно оценить, как будет выглядеть сцена с готовыми материалами и параметрами освещения.
Для быстрого просчета сцены с текущими параметрами визуализации используется клавиша <F9> или кнопка Quick Render (Production) (Быстрая итоговая визуализация) основной панели инструментов. При этом открываются два окна — Rendering (Визуализация) и Virtual Frame Buffer (Виртуальный буфер кадра).
Окно Rendering (Визуализация)
Окно Rendering (Визуализация) является информационным (рис. 20.7). Оно содержит две строки состояния, отражающие процесс просчета изображения. В верхней строке демонстрируется степень готовности анимационного проекта, который содержит более одного кадра, а в нижней строке показано, как идет просчет текущего кадра. В окне Rendering (Визуализация) можно посмотреть, сколько объектов и источников света содержится в сцене, из какого вида выполняется визуализация, какое разрешение имеет выходной файл, сколько памяти расходуется на просчет.
Рис. 20.7. Окно Rendering (Визуализация)
Если визуализируется анимация, то в окне Rendering (Визуализация) можно также увидеть, какой по счету кадр просчитывается, сколько времени было затрачено на визуализацию предыдущего кадра, сколько всего кадров будет просчитано и сколько примерно времени требуется программе на завершение задачи.
Стоит заметить, что приложение выводит эти данные, основываясь на том, сколько времени было потрачено на визуализацию уже готового фрагмента, поэтому если оставшаяся часть изображения более сложная для просчета, чем та, которая уже визуализирована, программе понадобится больше времени, чем она предполагает.
Окно Virtual Frame Buffer (Виртуальный буфер кадра)
Следить за процессом визуализации можно в окне Virtual Frame Buffer (Виртуальный буфер кадра). В нем изображение сцены генерируется по мере того, как она визуализируется (рис. 20.8). После завершения визуализации полученное изображение можно сохранить, щелкнув на кнопке Save Bitmap (Сохранить рисунок), а также просмотреть его с отключенным красным, синим или зеленым каналом и в монохромном режиме. Если щелкнуть на кнопке Copy Bitmap (Копировать изображение), просчитанная картинка будет скопирована в буфер обмена Windows.
Изображение в окне Virtual Frame Buffer (Виртуальный буфер кадра) сохраняется до тех пор, пока не будет выполнена следующая визуализация.
Рис. 20.8. Окно Virtual Frame Buffer (Виртуальный буфер кадра)
Если нужно сравнить два последних изображения, которые были визуализированы, щелкните на кнопке Clone Rendered Frame Window (Копировать окно буфера кадра) после первой визуализации. После этого измените параметры сцены и визуализируйте ее еще раз. Используя возможность копирования окна буфера кадра, можно также просматривать одно и то же изображение в разных режимах (цветное, монохромное и т.д.).
Чтобы очистить окно буфера кадра, используйте кнопку Clear (Очистить).
Окно Render Scene (Визуализация сцены) Настройка рендеринга.
Для настройки визуализации используется окно Render Scene (Визуализация сцены) (рис. 20.9). Чтобы открыть его, выполните команду Rendering>Render (Визуализация>Визуализировать) или нажмите клавишу <F10>.
Рис. 20.9. Окно Render Scene (Визуализация сцены)
Окно Render Scene (Визуализация сцены) содержит пять вкладок: Common (Общие), Renderer (Визуализатор), Render Elements (Элементы визуализации), Raytracer (Трассировщик), Advanced Lighting (Дополнительное освещение). Чаще всего используются параметры вкладки Common (Общие). Рассмотрим подробнее наиболее важные настройки свитка Common Parameters (Общие параметры) данной вкладки.
Time Output (Выходные настройки диапазона)
В этой области указывается, что именно будет визуализироваться. Если ваша сцена является статическим изображением, то вам подойдет положение переключателя, установленное по умолчанию, — Single (Только текущий кадр). Если нужно визуализировать более одного кадра (при создании анимации), можно использовать одно из положений переключателя — Active Time Segment (Текущий промежуток времени), Range (Диапазон кадров) или Frames (Кадры).
В первом случае будут визуализированы все кадры, к которым можно получить доступ с помощью ползунка анимации. По умолчанию это первые 100 кадров.
Установив вариант Range (Диапазон кадров), можно вручную указать диапазон кадров, которые должны быть визуализированы. При выборе вариантов Active Time Segment (Текущий промежуток времени) и Range (Диапазон кадров) становится доступен параметр Every Nth frame (Каждый N-ный кадр), с помощью которого можно визуализировать только некоторые кадры из выбранного диапазона. Например, если для этого параметра задать число 4, то будет визуализирован каждый четвертый кадр.
Наконец, при выборе варианта Frames (Кадры) можно вручную задать кадры, которые должны быть просчитаны. При указании этого варианта номера кадров нужно ввести в поле через запятую или тире. Во втором случае будет визуализирован указанный диапазон. Например, при вводе значения 1,3,6-8 будут визуализированы первый, третий, шестой, седьмой и восьмой кадры.
Output Size (Размер выходного файла)
В этой области задаются параметры выходного файла. С помощью параметров Width (Ширина) и Height (Высота) определяется разрешение файла, которое по умолчанию составляет 640´480.
Для профессиональной визуализации имеется набор предварительных установок выходного разрешения, например для 35-миллиметровой пленки или для формата HDTV. Одну из предварительных заготовок можно выбрать из раскрывающегося списка Output Size (Размер выходного файла). По умолчанию в этом списке установлен вариант Custom (Пользовательский). Каждому формату выходного файла соответствует несколько вариантов разрешения, которые можно быстро задавать с помощью кнопок. Для варианта Custom (Пользовательский) это разрешения 320´240, 720´486, 800´600, а также исходное — 640´480.
Если вы хотите выбрать разрешение вручную, обратите внимание на соотношение размеров. Чтобы оно оставалось неизменным, щелкните на кнопке с изображением замка возле параметра Image Aspect (Соотношение размеров изображения). В этом случае при изменении одного из параметров (длины или ширины), будет изменяться другой, а соотношение размеров останется прежним.
Options (Настройки)
Данная область содержит несколько флажков, которые позволяют ускорить просчет тестовых вариантов изображения. В этом случае можно отключить визуализацию некоторых компонентов сцены. К ним относятся Atmospherics (Атмосферные явления), Effects (Эффекты), Displacement (Смещение), Render Hidden Geometry (Визуализация скрытой геометрии), Area Lights/Shadows as Points (Пространственные источники света/тени как точки), Force 2-Sided (Материалы как двусторонние) и т.д.
Render Output (Выходные настройки визуализации)
В этой области настроек содержатся параметры сохранения на диск файла, полученного в результате визуализации. Щелкнув на кнопке Files (Файлы), можно определить тип файла, его название и папку, в которой он будет сохранен. Обратите внимание на то, что если визуализируется анимация, а в качестве выходного формата указан графический формат (BMP, JPEG, TIFF и пр.), то результаты будут сохранены в виде цепочки кадров.
Если вы визуализируете анимацию в виде цепочки кадров в несколько этапов, имеет смысл установить флажок Skip Existing Images (Пропустить существующие кадры). Благодаря этому кадры, которые уже имеются в выбранной папке, записываться не будут.
Если снять флажок Rendered Frame Window (Окно буфера кадра), во время визуализации не будет отображаться окно буфера кадра и просчет будет происходить немного быстрее. При этом вы получите незначительное увеличение скорости, но если нужно визуализировать анимацию с большим количеством кадров, то он будет заметен.
Флажок Net Render (Сетевая визуализация) активизирует режим визуализации по сети.
- Анимация. Принципы проектирования анимации. Виды (анимация движения, анимация формы, покадровая анимация, анимация маски). Управление движением. Изменение параметров анимации.
Впроцессе создания Flash-проекта можно отметить ряд преимуществ:
1. Использование обозначений для элементов, которые появляются больше одного раза.
2. Объединение кадров в действиях перемещения (motion tweens), которые позволяет автоматически просчитать некоторые промежуточные моменты перемещения, для ускорения разработки проектов.
3. Объединение кадров в действиях трансформации (shape tweens), которые позволяет автоматически просчитать некоторые промежуточные моменты трансформации объектов, для ускорения разработки проектов.
4. Сокращение числа различных типов линий (пунктир, точки и т.п). Линии, нарисованные инструментом карандаш требуют меньше памяти, чем мазки кистью.
5. Использование слоёв, для разбиения перекрывающихся объектов клипа.
6. Сокращение числа различных шрифтов и стилей, путём преобразования их в объекты векторной графики.
7. Применение звукового формата mp3, как самого высококачественного и экономного музыкального формата.
8. Использование возможности анимации растровых изображений, или для статических элементов закраски объектов и фона.
9. Применение сценариев (Actions Script) вплоть до вставка их в отдельные кадры фильма.
10. Возможность сгруппировывать объекты на различных слоях.
11. Использование встроенных инструментов для изменения цветовых эффектов одного и того же объекта.
12. Использование единой палитры web-safe, во избежание расхождений с цветами броузеров.
13. Применение компонента управления проектом Library, который позволяет быстро найти любой объект и поменять его свойства.
Покадровая анимация полностью состоит из ключевых кадров, причем содержимое кадров вы создаете сами. Это напоминает процесс создание мультфильмов, когда каждый кадр рисуется на отдельном листе и если у вас в мульте 5000 кадров, то соответственно вам придется нарисовать 5000 рисунков. Во Flash это сделать, конечно намного проще, чем на бумаге, но все равно это тяжелый труд, к тому же размер файла при покадровой анимации получается большим. Во flash покадровая анимация используется в тех случаях, когда задачу нельзя решить другими способами. Что бы было понятнее о чем идет речь, давайте попробуем создать простенькую, покадровую анимацию бегающих глаз.
Создание анимации движения отличается от покадровой анимации тем что нам не нужно каждый кадр создавать вручную, достаточно создать первый кадр анимации и последний, программа заполнит все промежуточные кадры автоматически. Нужно иметь в виду, что анимация движения применима только к символам и на одном слое должно быть не более одного анимированного символа. Инструмент: Create Motion Tween(Создать анимацию движения).
В отличие от анимации движения, анимация формы, работает только с примитивами, то есть с формами, созданными с помощью инструментов рисования. Так же как и в анимации движения в одном слое не должно быть больше одной анимированной формы. Инструмент: Create Shape Tween (Создать анимацию формы).
Для создания слоя-маски:
Выделите или создайте слой, содержание которого будет видно через прозрачную область маски.
Выделите слой и выберите команду Вставить >> Слой, чтобы создать новый слой, расположенный выше текущего. Слой-маска сразу маскирует тот слой, который находится ниже, так что убедитесь, что создали слой-маску в надлежащем месте,
Нарисуйте заполненную фигуру, разместите текст или создайте трансформу символа на слое-маске.
В слое-маске Macromedia Flash игнорирует растры, градиенты, прозрачные области, цвета и стили линии. Любая заполненная область в слое-маске будет полностью прозрачна, а любая незаполненная область - непрозрачна.
Щелкните правой кнопкой мыши (Windows) или левой кнопкой, удерживая клавишу <Cmd> (Macintosh), на имени слоя-маски в окне Структура и выберите пункт Маскировать в контекстном меню. Слой преобразуется в слой-маску и обозначается специальным значком, на котором изображена стрелка, направленная вниз. Слой, находящийся непосредственно ниже слоя-маски, связывается со слоем-маской, и его содержание отображается только через заполненную область слоя-маски. Имя замаскированного слоя при этом сдвигается немного вправо, а его значок изменяется на значок "стрелка вправо".
Для того чтобы наблюдать действие маски-слоя в Macromedia Flash, заблокируйте слой-маску и замаскированный слой.
37. Модель события Flash. Язык ActionScript. Способы вызова событий (события мыши, события клавиатуры, события кадров). Обработчики событий.
Модель события Flash
События можно представить в качестве любых явлений в SWF-файле, которые могут заинтересовать вас как программиста. Например, большинство SWF-файлов поддерживает тот или иной способ взаимодействия с пользователем (от простейших вещей вроде реакции на нажатие кнопки мыши до более сложных операций, таких как принятие и обработка данных, введенных в форму). Любое подобное взаимодействие пользователя с SWF-файлом рассматривается в качестве события. События могут происходить без прямого взаимодействия с пользователем (например, завершение загрузки данных с сервера или активация подключенной камеры).
В ActionScript 3.0 каждое событие представлено объектом события, который является экземпляром класса Event или одного из его подклассов. Объект события содержит не только информацию о конкретных событиях, но и методы, облегчающие взаимодействие с объектом события. Например, когда программа Flash Player или AIR регистрирует нажатие кнопки мыши, она создает объект события (экземпляр класса MouseEvent), который представляет определенное событие щелчка мыши.
После создания объекта события Flash Player или AIR отправляет его. Это значит, что объект события передается объекту, который является целью события. Объект, выступающий в качестве назначения для отправленного объекта события, называется целью события. Например, когда становится активна прикрепленная камера, Flash Player отправляет объект события напрямую в цель события, которая в данном случае является объектом, представляющим камеру. Однако если цель события находится в списке отображения, объект события передается вниз по иерархии списка отображения до тех пор, пока не достигнет цели события. В некоторых случаях объект события затем «всплывает» обратно в иерархии списка отображения по тому же пути. Этот обход иерархии списка отображения называется потоком событий.
«Прослушивать» объекты событий в своем коде можно с помощью прослушивателей событий. Прослушиватели событий — это функции или методы, которые записываются для реакции на определенные события. Чтобы обеспечить ответ программы на события, необходимо добавить прослушиватели событий к цели события либо к любому объекту списка отображения, который принадлежит потоку событий объекта события.
Каждый раз при написании кода прослушивателя событий он следует этой основной структуре (элементы, выделенные полужирным шрифтом — это заместители, которые заполняются, исходя из требований вашего конкретного случая):
function eventResponse(eventObject:EventType):void { // Actions performed in response to the event go here. } eventTarget.addEventListener(EventType.EVENT_NAME, eventResponse);Этот код выполняет две функции. Во-первых, он определяет функцию. Таким образом указываются действия, которые будут выполняться в ответ на это событие. Во-вторых, он вызывает метод addEventListener() исходного объекта, по существу «подписывая» функцию на указанное событие. Таким образом, когда это событие происходит, выполняются действия функции. При фактическом появлении события цель события проверяет свой список, который состоит из всех функций и методов, зарегистрированных в качестве прослушивателей событий. После этого она вызывает по очереди каждую функцию или метод, передавая объект события в качестве параметра.
Чтобы создать собственный прослушиватель событий, необходимо изменить в этом коде 4 вещи. Сначала необходимо заменить имя функции именем, которое вы хотите использовать (это необходимо сделать дважды там, где в коде присутствует надпись eventResponse). Во-вторых, необходимо указать соответствующее имя класса объекта события, отправленного событием, прослушивание которого необходимо выполнить (EventType в данном коде). Кроме того, нужно указать подходящую константу для определенного события (EVENT_NAME в примере кода). В-третьих, следует вызвать метод addEventListener(), применив его к объекту, который отправит событие (eventTarget в этом коде). По желанию можно изменить имя переменной, использованной в качестве параметра функции (eventObject в данном коде).
Распространенные задачи обработки событий, каждая из которых описана в этой главе:
· Составление кода для реакции на события
· Прекращение реакции кода на события
· Работа с объектами событий
· Работа с потоком событий:
o Распознавание сведений о потоке событий
o Остановка потока событий
o Предотвращение поведения по умолчанию
· Отправка событий из классов пользователя
· создание заказного типа события.
Язык ActionScript
ActionScript — объектно-ориентированный язык программирования, один из диалектов ECMAScript, который добавляет интерактивность, обработку данных и многое другое в содержимое Flash-приложений. ActionScript исполняется виртуальной машиной (ActionScript Virtual Machine), которая является составной частью Flash Player. ActionScript компилируется в байт-код, который включается в SWF-файл.
SWF-файлы исполняются Flash Player-ом. Flash Player существует в виде плагина к веб-браузеру, а также как самостоятельное исполняемое приложение (standalone). Во втором случае возможно создание исполняемых exe-файлов (projector), когда Flash Player включается в swf-файл.
С помощью ActionScript можно создавать интерактивные мультимедиа-приложения, игры, веб-сайты и многое другое.