Guest3d.wohlnet.ru некоммерческий проект, цель которого объединить профессионалов для обмена опытом и знаниями в области real-time рендеринга |
Опубликовано ovod в 06.07.2008 в 17:10.
Компьютерные 3D сцены состоят из виртуальных объектов. Внешний вид этих объектов определяется рядом элементов. Следующее изображение отображает кубический объект.
Вершина (‘vertex’) – это одиночная точка в 3D пространстве. Вершины определяются координатами X, Y и Z. Изображение ниже показывает вершины кубического объекта.
Простые модели, такие, как куб, состоят всего из нескольких вершин (или углов), в то время, как сложные объекты, такие, как машины, здания и персонажи могут состоять из тысяч таких точек.
Поверхности (‘Surfaces’) состоят из полигонов (‘polygons’). Полигон может обладать любым количеством вершин, хотя в интерактивной графике они обычно представлены в форме треугольников и четырехугольников (3 и 4 вершины, соответственно). Полигоны Quest3D состоят из максимум 3 вершин. Изображение ниже показывает кубический объект, поделенный на треугольные полигоны.
Текстуры (Textures)
Отдельным полигонам может быть присвоен цвет, но обычно, для придания деталей используются другие средства. Текстура (‘texture’) – это изображение, которое может быть натянуто на 3D форму. Ниже приведен пример.
В графике реального времени для задания цвета (color) и прозрачности (transparency) часто используются текстуры. На изображении ниже, текстура натянута на сферу и определяет ее цвет.
Следующее изображение показывает пример текстуры прозрачности (transparency texture). Прозрачность определяется черно-белым изображением, от черного (полностью прозрачный) до белого (полностью непроницаемый).
Применение альфа текстуры к объекту сферы выше, привело к результату, изображенном справа.
Объекты в Quest3D
3D объекты в Quest3D делятся на две большие части (motion) и (surface).
К каналу ‘Motion’ привязываются три вектора Vector. Они описывают позицию (position), ориентацию (rotation) и размер (size) объекта, соответственно.
Каждый из векторов Vector, сам по себе, состоит из трех присоединенных к нему значений Value. При создании анимации, эти значения Value могут быть заменены каналами манипуляторов Envelope. Анимация будет рассмотрена в Разделе 2.2.
Фактическая форма 3D объекта в Quest3D описывается во второй части структуры. Привязанные к каналу Surface, по порядку, 3D ObjectData, Material и Texture.
Канал 3D ObjectData содержит вершины и полигоны объекта. Он также содержит информацию о том, как натянуть текстуру на форму.
Канал Material разделен на ряд аспектов: Diffuse (рассеивание), Emissive (эмиссия), Specular (блеск), Power (мощность), Alpha Diffuse (альфа рассеивание) и Texture Blend Factor (фактор сглаживания текстуры).
Вектор Diffuse содержит цвет объекта и состоит из трех компонентов: red (красный), green (зеленый) и blue (синий), или ‘RGB’. Вектор Emissive описывает величину ‘самостоятельной освещенности’ модели. Без источников освещения в сцене, объект с вектором эмиссии (0, 0, 0) будет черным. Вектор Specular определяет цвет и интенсивность блика, в то время, как значение Power регулирует размер блика. Значение Alpha Diffuse определяет прозрачность объекта. Значение Texture Blend Factor определяет, как сильно текстура смешивается с цветом Diffuse.
Канал Texture представляет действительное изображение текстуры, примененное к поверхности. Он содержит диффузию diffuse (color)изображения, а также может содержать alpha изображение.
Настройки материалов и текстур могут быть изменены в комнате объектов Object Section.
Внешний вид комнаты объектов Object Section:
1 | Меню приложения | Содержит стандартные функции, такие, как управление файлами, конфигурация и справка. |
2 | Панель инструментов | Иконки для управления файлами и камерами. |
3 | Кнопки выбора разделов | Кнопки для быстрого переключения между комнатами. |
4 | Кнопки Run, Run/Edit, Edit | Контролируют обработку пользовательского ввода. |
5 | Закладка ‘Properties’ | Свойства материала объекта. |
6 | Закладка ‘Surface’ | Прозрачность, смешивание и сортировка объектов. |
7 | Закладка ‘Material’ | Материалы, хранящиеся в папке материалов. |
8 | Закладка ‘Texture Lighting’ | Запекание текстур световых карт. |
9 | Закладка ‘Animation 3D View’ | Отображает сцену целиком. |
10 | Закладка ‘Object 3D View’ | Отображает выделенный объект. |
11 | Закладка ‘Textures’ | Список все текстур проекта. |
12 | Закладка ‘Texture Stages’ | Управление наложением текстур по стадиям. |
13 | Список Surface | Список всех поверхностей выделенных объектов. |
14 | Список Object | Список всех объектов проекта. |
15 | Log bar | Сообщения проверок и ошибок. |
Урок
Следующий урок сфокусирован на 3D объектах в Quest3D. Он также является введением в объектную комнату Object Section программы.
Необходимая сцена Quest3D:
..\Tutorials\2.1 – 3D objects\3D objects.cgr
Шаг за шагом:
- Откройте сцену, ‘3D objects.cgr’.
- Перейдите в комнату Object, нажав на кнопкуна панели инструментов.
- Нажмите на закладку Animation, где отобразится 3D модель.
- Нажмите на имя ‘Car’ в списке Object в нижнем правом углу экрана, чтобы выделить его.
- Нажмите на имя ‘Body’ в списке Surface в нижней части экрана, чтобы выделить его.
- Взгляните на закладку ‘Material’ в левой части экрана. Она отображает ряд регуляторов.
- Переместите слайдеры ‘Diffuse’ в различные позиции. Обратите внимание на то, как изменяется цвет объекта.
- Зажмите клавишу ‘shift’ и потяните один из слайдеров. Обратите внимание, что изменение повлияло на все три слайдера.
- Перейдите в Раздел Каналов (Channels Section).
- Привяжите канал ‘Texture’ к каналу ‘Surface’.
- Перейдите в Раздел Объектов (Object Section). Обратите внимание на то, что теперь текстура отображается на объекте.
- Перетяните в различные позиции слайдеры Emissive. Обратите внимание на то, как изменится самосвечение объекта, независимо от источника освещения.
- Перетяните в различные позиции слайдеры Specular. Обратите внимание на то, как изменятся цвет и интенсивность отблеска на модели. Power (P) управляет размером блика.
- Нажмите на название ‘Windows’ в списке поверхностей (Surfaces List), чтобы выделить его.
- Перед тем, как вы сможете работать с прозрачностью, вам нужно включить ее. Перейдите во вкладку ‘Surface’.
- Из выпадающего списка ‘Transparency’, выберите опцию ‘Alpha Value’.
Обратите внимание, что объект исчез.
- Вернитесь во вкладку ‘Properties’.
- Переместите в различные позиции слайдеры ‘Tex Factor’. Обратите внимание на то, как изменилась прозрачность объекта.
Законченная сцена:
..\Tutorials\2.1 – 3D objects\3D objects – Complete.cgr