На основе чего формируется 3д графика. Трёхмерная графика

Вы, наверное, читаете эту статью на экране монитора компьютера или мобильного устройства - дисплей, который имеет реальные размеры, высоту и ширину. Но когда вы смотрите, например, мультфильм История Игрушек или играете в игру Tomb Raider, вы лицезреете трёхмерный мир. Одной из самых удивительных вещей трехмерного мира является то, что мир, который вы видите, может быть миром, в котором мы живем, миром, в котором мы будем жить завтра, или миром, который живет только в умах создателей фильма или игры. И все эти миры могут появиться только на одном экране - это как минимум интересно.
Как компьютер делает так, что обманывает наши глаза и мы думаем, что смотря на плоский экран видим глубину представленной картины? Как разработчики игр делают так, что мы видим реальных персонажей, передвигающихся в реальном ландшафте? Сегодня я расскажу вам о визуальных трюках, используемых графическими дизайнерами, и о том, как всё это разрабатывается и кажется нам настолько простым. На самом деле всё не просто, и чтобы узнать, что из себя представляет 3D-графика, ступайте под кат - там вас ждёт увлекательная история, в которую, я уверен, вы погрузитесь с небывалым удовольствием.

Что делает изображение трехмерным?

Изображение, которое имеет или кажется, что имеет высоту, ширину и глубину является трехмерным (3D). Картинка, которая имеет высоту и ширину, но не глубину является двумерной (2D). Напомните-ка мне, где вы встречаете двумерные изображения? - Практически везде. Вспомните даже обычный символ на двери туалета, обозначающий кабинку для того или иного пола. Символы спроектированы таким образом, что вы можете распознать их и узнать с первого взгляда. Вот почему они используют только самые основные формы. Более детальная информация о каком-либо символе может рассказать вам, какую одежду носит этот маленький человечек, весящий на двери, или цвет волос, например, символики двери женского туалета. Это одно из основных отличий между тем, как используется трехмерная и двумерная графики: 2D-графика проста и запоминаема, а 3D-графика использует больше деталей и вмещает в казалось бы обычный объект значительно больше информации.

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

На протяжении сотен лет художники использовали некоторые визуальные трюки, которые могут сделать плоское 2D-изображение настоящим окном в реальный трехмерный мир. Вы можете увидеть подобный эффект на обычной фотографии, которые вы можете сканировать и просмотреть на мониторе компьютера: объекты на фотографии кажутся меньше, когда они дальше; объекты же, близкие к объективу камеры, находятся в фокусе, значит, соответственно, всё, что за объектами в фокусе - размыто. Цвета, как правило, менее яркие, если объект не так близок. Когда мы говорим о 3D-графике на компьютерах сегодня - мы говорим об изображениях, которые движутся.

Что такое 3D-графика?

Для многих из нас игры на персональном компьютере, мобильном устройстве или вообще продвинутая игровая система - самый яркий пример и распространенный способ, благодаря которому мы можем созерцать трехмерную графику. Все эти игры, крутые фильмы, созданные при помощи компьютера, должны пройти три основных шага по созданию и представлению реалистичных трехмерных сцен:

  1. Создание виртуального 3D-мира
  2. Определение того, какая часть мира будет показана на экране
  3. Определение того, как пиксель на экране будет выглядеть, чтобы полное изображение казалось максимально реалистичным
Создание виртуального 3D-мира
Виртуальный 3D-мир - это, понятное дело, не то же самое, что и реальный мир. Создание виртуального 3D-мира - комплексная работа по компьютерной визуализации мира, схожего с реальным, для создания которого используется большое количество инструментов и который подразумевает крайне высокую детализацию. Возьмите, к примеру, очень маленькую часть реального мира - свою руку и рабочий стол под ней. Ваша рука обладает особенными качествами, которые определяют, как она может двигаться и выглядеть внешне. Суставы пальцев сгибаются только в сторону ладони, а не противоположно от неё. Если вы ударите по столу, то с ним никаких действий не произойдёт - стол тверд. Соответственно, ваша рука не может пройти через ваш рабочий стол. Вы можете доказать, что это утверждение истинно, смотря на что-то естественное, а в виртуальном трехмерном мире дела обстоят совсем по-другому - в виртуальном мире нет природы, нет таких естественных вещей, как ваша рука, например. Предметы в виртуальном мире полностью синтетические - это единственные свойства, данные им с помощью программного обеспечения. Программисты используют специальные инструменты и разрабатывают виртуальные 3D-миры с особой тщательностью, чтобы всё в них всегда вело себя определённым образом.

Какая часть виртуального мира показывается на экране?
В любой момент экран показывает только крошечную часть виртуального трехмерного мира, созданного для компьютерной игры. То, что показывается на экране - определенные комбинации способов, которыми определяется мир, где вы принимаете решение куда пойти и что посмотреть. Независимо от того, куда вы идёте - вперёд или назад, вверх или вниз, влево или вправо - виртуальный трехмерный мир вокруг вас определяет то, что вы видите, находясь на определенной позиции. То, что вы видите, имеет смысл от одной сцены к другой. Если вы смотрите на объект с того же расстояния, вне зависимости от направления, он должен выглядеть высоко. Каждый объект должен выглядеть и двигаться таким образом, чтобы вы верили в то, что он имеет ту же массу, что и реальный объект, что он такой же твёрдый или мягкий, как и реальный объект, и так далее.

Программисты, которые пишут компьютерные игры, прикладывают огромные усилия к разработке виртуальных 3D-миров и делают их так, чтобы вы могли блуждать в них, не сталкиваясь ни с чем, что заставляло бы вас думать «Это не могло произойти в этом мире!». Последней вещью, которую вы хотите видеть - два твёрдых объекта, которые могут пройти прямо друг через друга. Это - резкое напоминание о том, что всё, что вы видите, является притворством. Третий шаг включает в себя ещё как минимум столько же вычислений, сколько и другие два шага и должны происходить так же в реальном времени.


Слева компьютерная графика, справа - актер мокапа

Освещение и перспектива

Когда вы входите в комнату, вы включаете свет. Вы, наверное, не тратите много времени на раздумья, как же это на самом деле работает и как свет исходит от лампы, распространяясь по комнате. Но люди, работающие с трехмерной графикой, должны думать об этом, потому что все поверхности, окружающие каркасы и прочие подобные вещи должны быть освещены. Один из методов - трассировка лучей - предполагает участки пути, которые берут лучи света, покидая лампочку, отскакивая от зеркал, стен и других отражающих поверхностей и, наконец, приземляются на предметы с различной интенсивностью от различных углов. Это сложно, ведь от одной лампочки может быть один луч, но в большинстве помещений используется несколько источников света - несколько светильников, потолочные светильники (люстры), торшеры, окна, свечи и так далее.

Освещение играет ключевую роль в двух эффектах, которые придают внешний вид, вес и внешнюю прочность объектов: затемнение и тени. Первый эффект, затемнение, представляет собой место, где с одной стороны на объект падает больше света, чем с другой. Затемнение придает объекту множество натурализма. Эта штриховка - то, что делает сгибы в одеяле глубокими и мягкими, а высокие скулы кажутся поразительными. Эти различия в интенсивности света укрепляют общую иллюзию, что у объекта есть глубина, а также высота и ширина. Иллюзия массы происходит от второго эффекта - тени.

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

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

Глубина резкости


Другим оптическим эффектом, успешно использующимся для создания графических трехмерных объектов, является глубина резкости. Используя мой пример с деревьями, помимо вышеописанного происходит ещё одна интересная вещь. Если вы посмотрите на деревья, находящиеся близко по отношению к вам, деревья, расположенные дальше, как представляется, будут не в фокусе. Кинорежиссеры и компьютерные аниматоры используют данный эффект, глубину резкости, для двух целей. Первая заключается в укреплении иллюзии глубины в рассматриваемой пользователем сцене. Вторая цель - использование режиссерами глубины резкости сосредотачивает свое внимание на предметах или актерах, которые считаются наиболее важными. Чтобы обратить ваше внимание не героиню фильма, например, может использоваться «малая глубина резкости», где только актер находится в фокусе. Сцена, которая разработана таким образом, чтобы произвести на вас полное впечатление, наоборот будет использовать «глубокую глубину резкости», чтобы как можно больше объектов было в фокусе и таким образом заметно зрителю.


Сглаживание

Ещё один эффект, который также полагается на обман глаз - сглаживание. Цифровые графические системы очень хорошо подходят для создания четких линий. Но бывает и такое, что оказывают верх диагональные линии (они же довольно часто появляются в реальном мире, и тогда компьютер воспроизводит линии, которые больше напоминают лесенки (я думаю, что вы знаете, что такое лесенка при детальном рассмотрении объекта изображения)). Таким образом, чтобы обмануть свой глаз при виде гладкой кривой или линии, компьютер может добавить определённые оттенки цвета в строки пикселей, окружающих линию. Этим «серым цветом» пикселей компьютер как раз-таки и обманывает ваши глаза, а вы, тем временем, думаете, что зубчатых ступенек больше нет. Этот процесс добавления дополнительных цветных пикселей для обмана глаз называется сглаживанием, и он является одним из методов, которые создаются вручную компьютерной трехмерной графикой. Другой сложной задачей для компьютера является создание трехмерной анимации, пример которой будет представлен вам в следующем разделе.

Реальные примеры

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

На фотографии выше представлен обычный офис, для входа в который используется тротуар. В одной из следующих фотографий на тротуар был положен простой однотонный мяч, после чего эту сцену сфотографировали. Третья фотография представляет из себя уже использование компьютерной графической программы, которая и создала на самом деле несуществующий на этой фотографии мяч. Можете ли вы сказать, что есть какие-то существенные различия между двумя этими фотографиями? Думаю, что нет.

Создание анимации и видимости «живого действия»

До сих пор мы рассматривали инструменты, которые заставляют любое цифровое изображение казаться более реалистичным - является ли изображение стиллом или частью анимационной последовательности. Если это анимационная последовательность, то программисты и дизайнеры будут использовать ещё больше различных визуальных уловок, чтобы создать видимость «живого действия», а не изображений, созданных компьютером.

Сколько кадров в секунду?
Когда вы идете на шикарный блокбастер в местное кино, последовательность изображений, называемых кадрами работает в количестве 24 кадра в секунду. Так как наша сетчатка сохраняет изображение немного дольше, чем 1/24 секунды, глаза большинства людей будут смешивать кадры в один непрерывный образ движения и действия.

Если вы не понимаете, о чём я только что написал, то посмотрим на это с другой стороны: это означает, что каждый кадр кинофильма - фотография, сделанная на выдержке (экспозиции) 1/24 секунды. Таким образом, если вы посмотрите на один из многочисленных кадров фильма о гонках, вы увидите, что некоторые гоночные автомобили «размываются», потому что они проехали с большой скоростью в то время, пока у камеры открыт затвор. Данная размытость вещей, создающаяся за счёт быстрого движения - то, что мы привыкли видеть, и это часть того, что делает изображение реальным для нас, когда мы смотрим на него на экране.

Однако, цифровые трехмерные изображения - это ведь не фотографии как ни крути, поэтому никакого эффекта размывания не происходит, когда объект перемещается в кадре во время съёмки. Чтобы сделать изображения более реалистичными, размывание должно быть явно добавлено программистами. Некоторые дизайнеры считают, что для «преодоления» этого отсутствия естественного размытия требуется более 30 кадров в секунду, посему и подтолкнули игры выйти на новый уровень - 60 кадров в секунду. Хотя это и позволяет каждому отдельному изображению выглядеть в мельчайших подробностях и отображать движущиеся объекты в меньших приращениях, оно существенно увеличивает количество кадров для данной анимационной последовательности действий. Есть и другие определенные куски изображений, где точный рендеринг на компьютере должен быть принесен в жертву ради реализма. Это относится как к подвижным, так и неподвижным объектам, но это уже совсем другая история.

Подойдем к концу

Компьютерная графика продолжает удивлять весь мир, создавая и генерируя самые разнообразные действительно реалистично движущиеся и недвижущиеся объекты и сцены. С 80 колонок и 25 линий монохромного текста графика значительно продвинулась, и результат очевиден - миллионы людей играют в игры и проводят самые различные симуляции с сегодняшней технологией. Новые 3D-процессоры также дадут о себе знать - благодаря им мы сможем в буквальном смысле исследовать другие миры и испытывать то, чего мы никогда не осмеливались попробовать в реальной жизни. Напоследок вернемся к примеру с мячом: как создавалась эта сцена? Ответ прост: изображение имеет сгенерированный компьютером мяч. Нелегко сказать, который из двух является подлинным, не так ли? Наш мир удивителен и мы должны соответствовать ему. Надеюсь, вам было интересно и вы узнали для себя очередную порцию интересной информации.

«Все что существует в реальном мире можно создать в виртуальном, используя правильное сочетание программ и таланта художника».

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

Особенности процесса создания фильмов

Создание компьютерной графики в фильмах - колоссальная работа, над которой трудятся сотни профессионалов. От сценаристов и режиссеров до целой армии 3D-художников: они занимаются моделированием, текстурированием, анимацией, риггингом и визуализацией персонажей и виртуального мира.

Основные факторы в процессе создания графики:

  • сроки работ;
  • уровень сложности и качества моделей;
  • бюджет проекта.

Особенности процесса создания компьютерных игр

В отличие от фильма, игра - это интерактивное взаимодействие человека и виртуального мира. Поэтому главные факторы при создании игры:

  • интерактивность;
  • бесперебойное функционирование;
  • и только затем визуальный аспект.

Моделер ограничен возможностями игрового движка и консоли. Часто задано строгое количество полигонов для каждого отдельного элемента.

Основные этапы создания и визуализации 3 D моделей в кино и game -индустриях

  1. Моделирование - создание трехмерных объектов.
  2. Текстурирование - наложение текстур и материалов на 3D-модели.
  3. Риггинг (от англ. Rig - оснастка) - создание виртуального «скелета», набора «костей»/«суставов» для последующей анимации персонажа.
  4. Анимация - «оживление», анимирование трехмерного персонажа.
  5. Рендеринг (3 D визуализация) - визуализация созданной графики и запись.
  6. Композитинг - объединение отдельных элементов в финальную сцену. К примеру, интегрирование 3D сцен в съемочный материал, цветокоррекция и добавление эффектов.

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

Способов моделирования множество, рассказать обо всех в одной статье нереально. Мы затронем лишь самые популярные методы.

Процесс моделирования для фильмов и игр в целом схож, однако существуют некоторые различия, а именно:

  1. Способ моделирования.

В моделях для фильмов можно использовать кривые поверхности (NURBS-моделирование) и полигоны (полигональное моделирование). В играх обычно используют только полигональные модели, их проще всего визуализировать.

  1. Количество полигонов у модели.

Чем больше полигонов у объекта, тем выше детализация и качество. В связи с этим выделяют высокополигональные (high poly) и низкополигональные (low poly) модели. Для фильмов обычно создают высокополигональные модели, рендеринг которых, проходит по несколько часов, а то и дней. В играх же используются низкополигональные модели, визуализация происходит прямо по ходу игры. Часто в компьютерных играх встречается LOD-технология (Level of Detail - «уровень детализации»). Она состоит в упрощении 3D-моделей путем подмены их на более примитивные, когда виртуальная камера (игрок) удаляется от них. Это разгружает систему, и она работает над полной обработкой только объектов в пределах видимости.

Хотя релизы некоторых новых игр и демонстрируют качественное улучшение графики, у моделера стоит сложная задача: создать ощущения высокого качества при ограниченном «полигонаже».

Существует много программ для моделирования. Бесспорным лидером является Autodesk Maya , далее идут Autodesk 3 Ds Max и Cinema 4 D . Также можно выделить Modo и Blender . Преимущество последнего - бесплатность.

Если вы хотите заняться цифровым скульптингом, выбирайте такие редакторы, как ZBrush , Mudbox , 3 D Coat .

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

Текстурирование - не просто подбор цвета и материалов для модели, это целое искусство, которым в кино занимается отдельный специалист - художник по текстурам . Перед его работой моделер создает текстурную развертку (UV-развертка) - двумерное изображение, содержащее поверхность модели. UV-развертки нужны для того, чтобы текстура идеально «легла» на модель и не было никаких ошибок.

Далее рисуются текстуры и привязываются к модели. Создается целый набор текстур: цвет, карта неровностей (bump), карта нормалей (normal map - создает видимость рельефа), карта рельефа (displacement - создает реальный рельеф), карта бликов (specular), карта прозрачности (alpha) и многие другие. Так создается готовый визуальный образ модели или персонажа: от одежды и волос до морщинок.

Часто в игровой индустрии моделер ответственен и за моделирование, и текстурирование. В кино художник по текстурам - часто отдельная должность.

Создавать текстурные развертки и текстуры можно в тех же программах, что и модели. Но часто удобнее делать это в UVLayout .

Риггинг

Следующий этап риггинг - создание «скелета», костей модели. Занимаются этим в кино и game-индустрии художники по «оснастке» модели, «сетаперы» (от англ. Setup artist). Еще их называют skinning, rigging artist. Сетаперы создают кости и средства (контроллеры) для управления этими костями, с помощью которых аниматоры могут «оживить» модель.

В кино обычно создается множество сложных контроллеров для аниматоров. Например, для лицевой анимации (facial control rig) и мимики модели. В играх можно обойтись и без них, если персонаж не разговаривает в игре.

Для риггинга модели подойдут те же 3D-редакторы, о которых сказано выше. Большинство этих программ - комплексные пакеты для создания трехмерной графики, в том числе и для оснастки модели.

Анимация

Чтобы «оживить» трехмерную модель за работу берутся аниматоры. Главная задача аниматора - сделать движения модели максимально реалистичными. Особенно это актуально в фильмах, когда в кадре трехмерному персонажу нужно взаимодействовать с реальными актерами.

Простейшим методом анимации персонажей является Анимация по ключевым кадрам (Keyframes ) . Аниматор указывает положение персонажа в начальном и конечном кадрах движения, а положение в промежуточных кадрах вычисляется программой. Это простой в реализации способ, но достаточно трудоемкий для создания сложных движений и требует большого умения аниматора для получения реалистичности персонажа.

Существует еще процедурная анимация , при которой используется специальная программа для управления персонажем.

Напомним и про технологию Motion Capture (система захвата движений). Она подразумевает наложение движений реальных актеров на трехмерных персонажей. Эта технология максимально упрощает анимацию, позволяя использовать уже готовые движения актеров.

Негласным лидером в создании трехмерной анимации является Autodesk Maya . Однако, она не так легка в освоении. Помимо Maya отличные инструменты для анимации - 3 Ds Max и Cinema 4 D .

Рендеринг

Завершающий этап - итоговая визуализация (rendering) полученных сцен.

Существует два вида рендеринга - рендеринг в реальном времени и рендеринг не в реальном времени или пре-рендеринг.

В компьютерных играх используется рендеринг в реальном времени. Реакции на действия игрока происходят моментально. Свет, цвет и тени формируются с помощью ранее просчитанных карт и текстур, а объекты перспективно проецируются на экран. Чтобы качество графики при этом не пострадало, в играх часто используются 3D ускорители. Главный критерий в игре - скорость выполнения просчета.

В кино обычно используют пре-рендеринг , когда скорость просчета - не главный фактор, а на первом плане высокое качество изображений. А именно, фотореалистическое качество с физически корректным наложением света и тени. Рендер каждого отдельного кадра может длиться по 20, а то и 100 часов. Фотореалистичный рендер - ресурсоемкая задача, справиться с которой помогут рендер фермы. Они помогают в разы сократить время просчета.

Среди методов рендеринга можно выделить:

  • растеризацию с методом сканирования строк (scanline, rasterization);
  • трассировку лучей (raytracing);
  • метод излучательности (radiosity).

Очень часто методы raytracing и radiosity комбинируются для достижения впечатляющих фотореалистичных результатов.

Стандартные программы трехмерного моделирования включают и функцию рендеринга. Существуют и отдельные рендер-движки. Одни из самых мощных визуализаторов на сегодняшний день - Mental Ray , VRay , Renderman .

Композитинг

Композитинг является важным завершающим этапом постпродакшена.

И это не просто работа над цветом и слоями: композер объединяет все части в единое целое, интегрирует в съемочный материал трехмерных персонажей и другие 3D элементы, устраняет недочеты и убирает лишнее, работает над различными эффектами. Одним словом, создает одну реалистичную сцену. Композер является ответственным за финальный продукт - фильм, игру.

Профессиональные программы для композитинга - Nuke , Adobe After Effects , Eyeon Fusion .

В заключение хочется сказать, что хорошими художниками не становятся в одночасье: нужны многие месяцы и даже годы практики. Выбрав свой путь, старайтесь не расстраиваться, если на первых порах ваши работы далеки от шедевра. Помните: зачастую все, что вы видите в фильмах и играх годами создавалось сотнями профессионалов своего дела. Практикуйтесь и учитесь у профессионалов, и все у вас получится!

Трёхмерная графика не обязательно включает в себя проецирование на плоскость.....

Энциклопедичный YouTube

    1 / 5

    ✪ Теория 3D Графики, урок 01 - Введение в 3D Графику

    ✪ Компьютерная графика в кино

    ✪ Лекция 1 | Компьютерная графика | Виталий Галинский | Лекториум

    ✪ 12 - Компьютерная графика. Основные понятия компьютерной графики

    ✪ Лекция 4 | Компьютерная графика | Виталий Галинский | Лекториум

    Субтитры

Применение

Трёхмерная графика активно применяется для создания изображений на плоскости экрана или листа печатной продукции в науке и промышленности , например, в системах автоматизации проектных работ (САПР; для создания твердотельных элементов: зданий, деталей машин, механизмов), архитектурной визуализации (сюда относится и так называемая «виртуальная археология »), в современных системах медицинской визуализации .

Самое широкое применение - во многих современных компьютерных играх , а также как элемент кинематографа , телевидения , печатной продукции .

Трёхмерная графика обычно имеет дело с виртуальным , воображаемым трёхмерным пространством, которое отображается на плоской, двухмерной поверхности дисплея или листа бумаги. В настоящее время известно несколько способов отображения трёхмерной информации в объемном виде, хотя большинство из них представляет объёмные характеристики весьма условно, поскольку работают со стереоизображением. Из этой области можно отметить стереоочки, виртуальные шлемы, 3D-дисплеи, способные демонстрировать трёхмерное изображение. Несколько производителей продемонстрировали готовые к серийному производству трёхмерные дисплеи . Однако и 3D-дисплеи по-прежнему не позволяют создавать полноценной физической, осязаемой копии математической модели, создаваемой методами трёхмерной графики. Развивающиеся с 1990-х годов технологии быстрого прототипирования ликвидируют этот пробел. Следует заметить, что в технологиях быстрого прототипирования используется представление математической модели объекта в виде твердого тела (воксельная модель).

Создание

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

  • моделирование - создание трёхмерной математической модели сцены и объектов в ней;
  • текстурирование - назначение поверхностям моделей растровых или процедурных текстур (подразумевает также настройку свойств материалов - прозрачность, отражения, шероховатость и пр.);
  • освещение - установка и настройка ;
  • анимация (в некоторых случаях) - придание движения объектам;
  • динамическая симуляция (в некоторых случаях) - автоматический расчёт взаимодействия частиц, твёрдых/мягких тел и пр. с моделируемыми силами гравитации , ветра , выталкивания и др., а также друг с другом;
  • рендеринг (визуализация) - построение проекции в соответствии с выбранной физической моделью;
  • композитинг (компоновка) - доработка изображения;
  • вывод полученного изображения на устройство вывода - дисплей или специальный принтер.

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

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

  • Robert McNeel & Assoc. Rhinoceros 3D ;

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

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

SketchUp

Визуализация трёхмерной графики в играх и прикладных программах

Есть ряд программных библиотек для визуализации трёхмерной графики в прикладных программах - DirectX, OpenGL и так далее.

Есть ряд подходов по представлению 3D-графики в играх - полное 3D, псевдо-3D.

Такие пакеты даже не всегда дают пользователю оперировать 3D-моделью напрямую, например, есть пакет OpenSCAD , модель в котором формируется выполнением формируемого пользователем скрипта, написанного на специализированном языке.

Трёхмерные дисплеи

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

В настоящее время подавляющее большинство трёхмерных изображений показывается при помощи стереоскопического эффекта, как наиболее лёгкого в реализации, хотя использование одной лишь стереоскопии нельзя назвать достаточным для объёмного восприятия. Человеческий глаз как в паре, так и в одиночку одинаково хорошо отличает объёмные объекты от плоских изображений [ ] .

  • Recovery Mode

Все мы слышали о 3D графике (далее просто 3D, не путать со способом отображения - голограммами, 3D-мониторами и т.п.), многие прекрасно знают, что такое 3D и с чем его едят. Но, все же, есть и те, кто смутно себе представляет, что кроется под этой короткой аббревиатурой. Статья рассчитана на тех, кто не имеет представления о компьютерной графике. Также будет немного экскурса в историю компьютерной графики (в следующих планируемых частях).
Почему именно 3D? Как нетрудно догадаться, речь идет о 3 Dimension, или о трех измерениях. И не обязательно при этом, чтобы и отображение было в 3D. Речь идет о способе построения картинки.

Часть 1. Собственно, моделирование
Традиционно рисуют в 2D (по осям X и Y) - на бумаге, холсте, дереве и т.п. При этом отображают какую-то одну из сторон предмета. Картинка сама по себе плоская. Но если мы хотим получить представление обо всех сторонах предмета, то необходимо нарисовать несколько рисунков. Так поступают в традиционной рисованной анимации. Но, вместе с тем, существует, (кстати, в СССР была довольно хорошо развита) т.н. кукольная анимация. Один раз изготовленную куклу снимают в необходимых позах и ракурсах, получая серию «плоских картинок». 3D (к X и Y добавляется координата глубины Z) визуализация - это те же «куклы», только существующие в цифровом виде. Другими словами, в специальных программах (Blender, 3ds Max, Maya, Cinema 4D и т.п.) создается объемное изображение, например авто.


Преимущество данного метода в том, что в распоряжении, скажем, аниматора есть объемная модель, необходимо лишь поместить ее должным образом в кадр, анимировать (задать траекторию передвижения или рассчитать с помощью симулятора) при необходимости, а уж отображение авто в финальной картинке ложится на специальную программу называемую визуализатором (render). Еще одно преимущество в том, что модель достаточно нарисовать один раз, а потом использовать в других проектах (скопировав), изменять, деформировать и т.п. по своему усмотрению. Для обычного 2D рисунка, в общем случае, такое невозможно. Третье преимущество - можно создавать практически бесконечно детализированные модели, например смоделировать даже винтики на часах и т.п. На общем плане этот винтик может быть и неразличим, но стоит нам приблизить камеру, программа-визуализатор сама рассчитает, что видно в кадре, а что - нет.

Существует несколько способов моделирования, но самым популярным является полигональное моделирование. Нередко можно увидеть в роликах о 3D или фантастических фильмах как тот или иной объект представляется в виде т.н. сетки. (см. рисунок выше) Это и есть пример полигонального моделирования. Суть его в том, что поверхности представляются в виде простых геометрических двумерных примитивов. В компьютерных играх это треугольники, для других целей обычно используют четырехугольники и фигуры с большим кол-вом углов. Эти примитивы, из которых состоит модель, называют полигонами . Но при создании 3D объекта стараются обойтись, как правило, четырехугольниками. При необходимости четырехугольники (полигоны) без проблем превращаются в треугольники при экспорте в игровой движок, а при необходимости сглаживания или тесселяции модель из четырехугольников получается, как правило, без артефактов.
Что такое тесселяция? Если какой-то объект представляется в виде полигонов (особенно органические объекты, например человек), то понятно, что чем меньше размер полигонов, чем их больше, тем более близкой может быть модель к оригиналу. На этом основан метод тесселяции: сначала изготавливают грубую болванку из небольшого кол-ва полигонов, затем применяют операцию тесселяции, при этом каждый полигон делится на 4 части. Так вот, если полигон четырехугольный (а еще лучше, близок к квадрату) то алгоритмы тесселяции дают более качественный и предсказуемый результат. Также операция сглаживания, а это та же тесселяция, только с изменением углов на более тупые, при близких к квадрату полигонах, позволяет получить хороший результат.


Как было сказано выше, чем больше полигонов, тем более модель может (может, потому, что модель должна быть еще похожа на оригинал, а это вопрос мастерства моделера, а не полигонов) походить на оригинал. Но у большого кол-ва полигонов есть обратная сторона: понижение производительности. Чем больше полигонов, тем больше точек по которым они строятся, тем больше данных приходится обрабатывать процессору. Поэтому 3D графика - это всегда компромисс между детализацией модели и производительностью. В связи с этим даже возникли термины: hight poly и low poly, соответственно высоко полигональная модель и низко полигональная модель. В играх применяются низко полигональные модели, так как в них выполняется визуализация в реальном времени. Кстати, модели в играх представлены треугольниками для повышения производительности: графические процессоры умеют на аппаратном уровне быстро обрабатывать сотни миллионов треугольников за секунду.

Как правило, полигональное моделирование относится к пустотелому моделированию, где объект имеет только объем, но внутри пустой. Это означает, что если мы смоделируем куб, а потом удалим одну из стенок, то увидим внутри пустоту. Также имеются программы для твердотельного моделирования, где тот же самый куб представлен в виде монолитного объекта. В таких программах (к примеру, Autodesk Inventor) применяются математические модели отличные от тех, что в полигональном моделировании. Алгоритмы твердотельного моделирования лучше подходят для моделирования механизмов при разработке техники. Программы вроде Autodesk Inventor имеют средства для моделирования с учетом особенностей технологического процесса, как то фаски, сверление отверстий, проставление размеров, допусков и т.п. Получаемые модели можно сразу отправить на подходящий станок для получения изделия в металле или другом материале.
Также существуют так называемые программы 3D лепки (ZBrush, Autodesk Mudbox) в которых моделирование сводится (грубо говоря) к созданию углублений или выпуклостей. Такая техника похожа на то, как скульпторы лепят из глины - убирая ненужное и добавляя необходимое. С помощью таких программ можно добиться реалистичного рельефа поверхности, например морщин на коже или складок ткани. В настоящее время высокополигональные (а для лепки модель должна обладать солидным кол-вом полигонов) реалистичные модели людей и вообще животного мира выполняются, в большинстве своем, с применение программы лепки. Распространена практика когда заготовка модели создается с помощью полигонального моделирования, а затем в программе лепки тесселируется и добавляются мелкие детали.

Но вот у нас есть готовая модель, скажем, танка. Но на танк, собственно, она не совсем похожа. В чем же тут дело? На данном этапе у нас всего лишь математическая модель содержащая данные только о геометрической форме. Но у реального объекта кроме формы есть еще и цвет, плотность, отражающая способность, и, возможно, запах. Последнее пока в 3D графике не применяется, а вот все остальное можно смоделировать. Придание модели нужного цвета и блеска называют текстурированием, от слова текстура.


В общем случае текстура - это двумерный рисунок который накладывается на 3D модель. Текстура может быть как процедурной - сгенерированной при помощи алгоритма, так и нарисованная в графическом редакторе, или фотографией реального объекта. С помощью текстуры задается рисунок и цвет модели, но реальная поверхность обладает и другими параметрами: отражающей способностью, преломлением, рельефом, позрачностью и т.п. Все эти параметры задаются в свойствах материала. Т.е. материал с точки зрения 3D графики - это некая математическая модель описывающая параметры поверхности. Например, для воды обязательно необходимо указать прозрачность и преломляющую, отражающую способности.
Перед «нанесением» материала на 3D модель необходимо создать ее развертку, т.е. представить все (несколько, одну) поверхности в виде проекции на плоскость. Это необходимо для того, чтобы затем двумерная текстура правильно «лягла» на модель.
Таким образом изготовление 3D модели в общем случае состоит из следующих стадий:
1. Получение изображений референса (т.е. того, с чего будет моделироваться) или самого референса. Или отрисовка экскиза.
2. Моделирование геометрии на основе референса.
3. Создание развертки.
4. Отрисовка текстур или получение их другим способом в виде файлов.
5. Настройка параметров материала (текстуры, преломление, отражение, прозрачность).
Теперь 3D модель готова для визуализации - получении картинки.
Первый и четвертый пункт могут быть быть опущены если модель простая, но, как правило, хороших результатов без всех 5 шагов не добиться.
Подытожим.
Между обычным рисунком, скажем, на бумаге, и построением 3D изображения есть существенные различия в самом процессе. Двумерный рисунок, как правило, создается в два этапа: эскиз и раскрашивание. В 3D графике после изготовления модели ее необходимо поместить в сцену к другим объектам (или в так называемую студию), добавить освещение, камеру и лишь затем можно надеяться получить финальную картинку. Изображение в 3Dграфике просчитывается на основе физической модели, как правило, это модель распространения луча света с учетом отражения, преломления, рассеивания и т.п. Рисуя красками мы сами отрисовываем тени, блики и т.д., а в трехмерной графике мы подготавливаем сцену с учетом освещения, материалов, геометрии, свойств камеры, программа рассчитывает итоговую картинку сама.

Вот, на сегодня пока и все. Комментарии, а особенно вопросы и замечания по существу приветствуются.

P.S. В следующих частях (если Хабрабществу будет интересно) мы более подробно поговорим о трехмерном моделировании для игр, будет затронута визуализация, моделирование динамических сред, таких как вода, разрушение объекта и затронем динамическое взаимодействие между 3D объектами, историю 3D графики.

3D графика – это процесс создания объемной модели при помощи специальных компьютерных программ. Этот вид компьютерной графики вобрал в себя очень много из векторной, а так же и из растровой компьютерной графики. На основе чертежей, рисунков, подробных описаний или любой другой графический или текстовой информации, 3D дизайнер создает объемное изображение.

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

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

Где применяется трехмерная графика

Трехмерное моделирование (3d графика) сегодня применяется в очень многих сферах. Конечно, в первую очередь, это строительство. Это может быть модель будущего дома, как частного, так и многоквартирного или же офисного здания, да и вообще любого промышленного объекта. Кроме того, визуализация активно применяется в дизайн-проектах интерьеров.

3D модели очень популярны в сайтостроительстве. Для создания особенного эффекта некоторые создатели сайтов добавляют в дизайн не просто графические элементы, а трехмерные модели, иногда даже и анимированные. Программы и технологии трехмерного моделирования широко применяются и в производстве, например, в производстве корпусной мебели, и в строительстве, например, для создания фотореалистичного дизайн-проекта будущего помещения. Многие конструкторы уже давно перешли от использования линейки и карандаша к современным трехмерным компьютерным программам. Постепенно новые технологии осваивают и другие компании, прежде всего, производственные и торговые.

Конечно, в основном трехмерные модели используются в демонстрационных целях. Они незаменимы для презентаций, выставок, а также используются в работе с клиентами, когда необходимо наглядно показать, каким будет итоговый результат. Кроме того, методы трехмерного моделирования нужны там, где нужно показать в объеме уже готовые объекты или те объекты, которые существовали когда-то давно. Трехмерное моделирование это не только будущее, но и прошлое и настоящее.

Преимущества трехмерного моделирования

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

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

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

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

Программы для трехмерного моделирования

Существует довольно большое количество самых разных программ для 3D моделирования. Так, одной из популярных программ, которые специально разработаны для создания трехмерной графики и дизайна интерьеров, является программа 3D Studio MAX. Она позволяет реалистично визуализировать объекты самой разной сложности. Кроме того, «3D Studio MAX» дает возможность компоновать их, задавать траектории перемещений и в конечном итоге даже создавать полноценное видео с участием трехмерных моделей. Хотя такая работа, конечно же, требует у специалиста серьезных навыков, а также больших компьютерных ресурсов, в первую очередь объемов памяти и быстродействие процессора.

Редактор Maya назван в честь санскритского слова, которое означает иллюзия. Maya была разработана Alias Systems. В октябре 2005 года компания Alias влилась в Autodesk. Maya чаще используется для создания анимации и трехмерных эффектов в фильмах.

Похожие публикации