Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Трехмерные компьютерные модели

Трёхмерная графика — раздел компьютерной графики, посвящённый методам создания изображений или видео путём моделирования объёмных объектов в трёхмерном пространстве.

3D-моделирование — процесс создания трёхмерной модели объекта. Задача 3D-моделирования — разработать зрительный объёмный образ желаемого объекта. При этом модель может как соответствовать объектам из реального мира (автомобили, здания, ураган, астероид), так и быть полностью абстрактной (проекция четырёхмерного фрактала).

Графическое изображение трёхмерных объектов отличается тем, что включает построение геометрической проекции трёхмерной модели сцены на плоскость (например, экран компьютера) с помощью специализированных программ. Однако с созданием и внедрением 3D-дисплеев и 3D-принтеров трёхмерная графика не обязательно включает в себя проецирование на плоскость

Создание

Для получения трёхмерного изображения на плоскости требуются следующие шаги:

моделирование — создание трёхмерной математической модели сцены и объектов в ней;

текстурирование — назначение поверхностям моделей растровых или процедурных текстур (подразумевает также настройку свойств материалов — прозрачность, отражения, шероховатость и пр.);

освещение — установка и настройка источников света;

анимация (в некоторых случаях) — придание движения объектам;

динамическая симуляция (в некоторых случаях) — автоматический расчёт взаимодействия частиц, твёрдых/мягких тел и пр. с моделируемыми силами гравитации, ветра, выталкивания и др., а также друг с другом;

рендеринг (визуализация) — построение проекции в соответствии с выбранной физической моделью;

композитинг (компоновка) — доработка изображения;

вывод полученного изображения на устройство вывода — дисплей или специальный принтер.

Моделирование

Моделирование сцены (виртуального пространства моделирования) включает в себя несколько категорий объектов:

Геометрия (построенная с помощью различных техник (например, создание полигональной сетки) модель, например, здание);

Материалы (информация о зрительных свойствах модели, например, цвет стен и отражающая/преломляющая способность окон);

Источники света (настройки направления, мощности, спектра освещения);

Виртуальные камеры (выбор точки и угла построения проекции);

Силы и воздействия (настройки динамических искажений объектов, применяется в основном в анимации);

Дополнительные эффекты (объекты, имитирующие атмосферные явления: свет в тумане, облака, пламя и пр.)

Задача трёхмерного моделирования — описать эти объекты и разместить их в сцене с помощью геометрических преобразований в соответствии с требованиями к будущему изображению.

Назначение материалов: для сенсора реальной фотокамеры материалы объектов реального мира отличаются по признаку того, как они отражают, пропускают и рассеивают свет; виртуальным материалам, задаётся соответствие свойств реальных материалов — прозрачность, отражения, рассеивания света, шероховатость, рельеф и пр.

Наиболее популярными пакетами сугубо для моделирования являются:

Pixologic Zbrus;

Autodesk Mudbox, Autodesk 3Ds Max;

Robert McNeel & Assoc. Rhinoceros 3D;

Trimble SketchUp.

Blender 2.8

Компас (САПР)

Для создания трёхмерной модели человека или существа может быть использована как прообраз (в большинстве случаев) скульптура.

Текстурирование

Текстурирование подразумевает проецирование растровых или процедурных текстур на поверхности трёхмерного объекта в соответствии с картой UV-координат, где каждой вершине объекта ставится в соответствие определённая координата на двухмерном пространстве текстуры.

Как правило, многофункциональные редакторы UV-координат входят в состав универсальных пакетов трёхмерной графики. Существуют также автономные и подключаемые редакторы от независимых разработчиков, например, Unfold3D magic, Deep UV, Unwrella и др.

Освещение

Заключается в создании, направлении и настройке виртуальных источников света. При этом в виртуальном мире источники света могут иметь негативную интенсивность, отбирая свет из зоны своего «отрицательного освещения». Как правило, пакеты 3D-графики предоставляют следующие типы источников освещения:

  • Omni light (Point light) — всенаправленный;
  • Spot light — конический (прожектор), источник расходящихся лучей;
  • Directional light — источник параллельных лучей;
  • Area light (Plane light) — световой портал, излучающий свет из плоскости;
  • Photometric — источники света, моделируемые по параметрам яркости свечения в физически измеримых единицах, с заданной температурой накала.

Существуют также другие типы источников света, отличающиеся по своему функциональному назначению в разных программах трёхмерной графики и визуализации. Некоторые пакеты предоставляют возможности создавать источники объёмного свечения (Sphere light) или объёмного освещения (Volume light), в пределах строго заданного объёма. Некоторые предоставляют возможность использовать геометрические объекты произвольной формы.

Анимация

Одно из главных призваний трёхмерной графики — придание движения (анимация) трёхмерной модели, либо имитация движения среди трёхмерных объектов. Универсальные пакеты трёхмерной графики обладают весьма богатыми возможностями по созданию анимации. Существуют также узкоспециализированные программы, созданные сугубо для анимации и обладающие очень ограниченным набором инструментов моделирования:

Autodesk MotionBuilder

  • PMG Messiah Studio

Рендеринг

  • На этом этапе математическая (векторная) пространственная модель превращается в плоскую (растровую) картинку. Если требуется создать фильм, то рендерится последовательность таких картинок — кадров. Как структура данных, изображение на экране представлено матрицей точек, где каждая точка определена, по крайней мере, тремя числами: интенсивностью красного, синего и зелёного цвета. Таким образом, рендеринг преобразует трёхмерную векторную структуру данных в плоскую матрицу пикселей. Этот шаг часто требует очень сложных вычислений, особенно если требуется создать иллюзию реальности. Самый простой вид рендеринга — это построить контуры моделей на экране компьютера с помощью проекции, как показано выше. Обычно этого недостаточно, и нужно создать иллюзию материалов, из которых изготовлены объекты, а также рассчитать искажения этих объектов за счёт прозрачных сред (например, жидкости в стакане).

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

  • Z-буфер (используется в OpenGL и DirectX 10);
  • Сканлайн (scanline) — он же Ray casting («бросание луча», упрощённый алгоритм обратной трассировки лучей) — расчёт цвета каждой точки картинки построением луча из точки зрения наблюдателя через воображаемое отверстие в экране на месте этого пикселя «в сцену» до пересечения с первой поверхностью. Цвет пикселя будет таким же, как цвет этой поверхности (иногда с учётом освещения и т. д.);
  • Трассировка лучей — то же, что и сканлайн, но цвет пикселя уточняется за счёт построения дополнительных лучей (отражённых, преломлённых и т. д.) от точки пересечения луча взгляда. Несмотря на название, применяется только обратная трассировка лучей (то есть как раз от наблюдателя к источнику света), прямая крайне неэффективна и потребляет слишком много ресурсов для получения качественной картинки;
  • Глобальное освещение — расчёт взаимодействия поверхностей и сред в видимом спектре излучения с помощью интегральных уравнений.

Грань между алгоритмами трассировки лучей в настоящее время практически стёрлась. Так, в 3D Studio Max стандартный визуализатор называется Default scanline renderer, но он считает не только вклад диффузного, отражённого и собственного (цвета самосвечения) света, но и сглаженные тени. По этой причине чаще понятие Raycasting относится к обратной трассировке лучей, а Raytracing — к прямой.

Наиболее популярными системами рендеринга являются:

  • PhotoRealistic RenderMan (PRMan)
  • Mental ray
  • V-Ray
  • CoronaRenderer
  • Arnold Render
  • FinalRender
  • Brazil R/S
  • BusyRay
  • Turtle
  • Maxwell Render
  • Fryrender
  • Indigo Renderer
  • LuxRender
  • YafaRay
  • POV-Ray

Вследствие большого объёма однотипных вычислений рендеринг можно разбивать на потоки (распараллеливать). Поэтому для рендеринга весьма актуально использование многопроцессорных систем. В последнее время активно ведётся разработка систем рендеринга, использующих GPU вместо CPU, и уже сегодня их эффективность для таких вычислений намного выше. К таким системам относятся:

  • Refractive Software Octane Render
  • AAA studio FurryBall
  • RandomControl ARION (гибридная)
  • Cycles
  • V-Ray GPU Next
  • LuxRender
  • Iray

Многие производители систем рендеринга для CPU также планируют ввести поддержку GPU (LuxRender, YafaRay, mental images iray).

Самые передовые достижения и идеи трёхмерной графики (и компьютерной графики вообще) докладываются и обсуждаются на ежегодном симпозиуме SIGGRAPH, традиционно проводимом в США.