Читать книгу SketchUp. Базовый учебный курс - Александр Петелин - Страница 3
Тема 1. Немного истории и теории
ОглавлениеSketchUp имеет весьма солидный по меркам жизни компьютерных программ возраст – его создатель, американская компания @Last Software, первую рабочую версию представила еще в 2000 г.
Интерфейс одной из первых версий SketchUp.
В 2006 г. @Last Software прекратила свое существование, поскольку компания вместе со SketchUp (уже 5-й версии) были приобретены корпорацией Google, «под флагом» которой за шесть последующих лет было выпущено еще три версии.
В 2012-м происходит еще одна (третья по счету!) смена владельца – Google продает SketchUp компании Trimble, которая после этого выпускает еще три своих версии (в конце 2014 года – текущую SketchUp 2015).
SketchUp был и остается доступным в двух вариантах – профессиональном SketchUp Pro (на нем и базируются материалы курса), и бесплатном (точнее – «для некоммерческого использования») – SketchUp Make. Бесплатная версия отличается от Pro определенными функциональными ограничениями: недоступен или ограничен импорт и экспорт файлов ряда форматов, а также отсутствуют две «партнерские» программы-приложения: LayOut и Style Builder, входящие в комплектацию SketchUp Pro.
Идеология программы изначально была сформулирована разработчиками @Last Software как «3D – для всех!». И эти принципы были просто блестяще воплощены, прежде всего – в уникальном по простоте, удобству и функциональности интерфейсе, который обеспечивает как быстроту и легкость освоения, так и непревзойденную для 3D-редакторов скорость работы. Буквально в первый раз открыв программу, пользователь уже через полчаса начинает с увлечением скорее даже не работать, а играть в моделирование, даже если это его первая 3D-программа…
SketchUp, что отражено и в самом его названии (Sketch – эскиз, набросок, Up – вверх) предназначен для эскизного, поискового 3D-моделирования – изначально и прежде всего – с архитектурной специализацией. Однако на самом деле, благодаря гибкости заложенных в нем механизмов моделирования, возможности и области применения оказались намного шире – SketchUp с успехом используют для разработки разнообразных проектов во всех жанрах дизайна, рекламы, инженерном проектировании, кино- и игропроизводстве… трудно перечислить все.
2D…
Начнем с обзорного знакомства с базовыми основами компьютерной графики вообще и 3D-моделирования в частности – понятиями, терминологией и «правилами игры».
Итак, каждый может взять в руки карандаш и изобразить на листе бумаги некие геометрические формы так, что они будут выглядеть объемными. На определенном этапе развития вычислительной техники появились технологии компьютерной графики и возможность рисовать в специальных программах – графических редакторах, например – всем известных Adobe Photoshop или CorelDraw. Конечно, чисто технически с этого момента началась настоящая революция в части инструментов, методов и возможностей рисования, но суть осталась та же – плоское изображение на некой плоской основе: там – на бумаге, здесь – в рабочем пространстве редактора, а для пользователя компьютера – как бы на экране монитора.
Псевдообъемность в двухмерном рисунке.
Теперь представим, что нам надо получить изображение этих же форм, но показать их с другой точки взгляда (другого ракурса), изменить размер и положение на листе. В случае «ручного» рисования такие задачи означают только одно – все опять «с нуля», заново!..
В компьютерном графическом редакторе можем без проблем быстро изменить размеры и положение уже существующего рисунка, удалить, приблизить картинку на экране, но вот другой ракурс… и здесь означает рисование еще одной новой картинки.
Проблема в том, что рисуя на листе бумаги, мы неизбежно имеем дело с т.н. двумерным рабочим полем, с двумя Dimension (размерами, измерениями), откуда и пришло сокращенное обозначение – 2D. Или, по-другому – при этом используем только два размерных понятия и измерения – «ширина (или длина)» и «высота».
В этих же параметрах работают и механизмы рисования 2D графических редакторов – в них положение любой точки определяется координатами по двум осям: горизонтальной и вертикальной (обозначаемых обычно X и Y). При этом заметим, что даже если откроем в графическом редакторе реальное фото, на котором зрительно вполне явно «читается» глубина пространства, все равно картинка, как объект редактирования, остается двумерной.
Принцип построения перспективных искажений в пространстве.
…и 3D
В отличие от 2D, трехмерная, или 3D-графика, базируется на принципиально другом подходе, прежде всего – к рабочему пространству. Здесь два привычных понятия и измерения – «ширина, высота», дополняются третьим – «глубина», и таким образом положение элементов любого объекта однозначно определяются уже тремя пространственными координатами с числовыми значениями по каждой из осей (традиционно – X, Y, Z). А само трехмерное пространство – это фактически виртуальный мир, который во многих 3D-редакторах так и называется – World (Мир), а его оси – World Axes (Мировые оси).
Также для такого пространства, «мира» в SketchUp используется аналогичное понятие – «Сцена». Работу в 3D-редакторе правильней уже называть не «рисованием», а «построением», поскольку в итоге рисуем не картинку, не плоскую фигуру, а строим именно полноценную (пусть и виртуальную) объемную форму. Такая форма (или «модель»), как и в реальности, имеет три измерения в физически реальных величинах. И именно это дает возможность свободно манипулировать объектом в трехмерной пространстве проекта-сцены.
Система основных осей сцены в SketchUp.
Камеры
Итак, в трехмерной сцене произвольно меняем положение модели в пространстве – перемещаем и поворачиваем объекты так, что можем легко увидеть любые из их сторон. Однако рассмотреть любой трехмерный объект можно и по-другому, используя еще один базовый механизм 3D моделирования – т. н. Camera (Камеру). Что под этим понимается? В принципе, это то, что в каждый момент времени видим на экране монитора, это как бы окно в наш виртуальный мир, созданный в данном проекте. Или, точнее: представьте, что смотрите на сцену через объектив фотокамеры. Почему именно объектив, а не просто «окно»? Дело в том, что механизм камеры дает дополнительные возможности управления показом сцены за счет изменения параметров ее виртуального «объектива». Т.е. можно физически достоверно имитировать диафрагму, глубину резкости, фокусное расстояние, ширину поля взгляда и др. настройки реальной оптики фотокамеры. Кроме того, доступны опции зуммирования, т.е. увеличения, уменьшения (или приближения, удаления) изображения нужной части сцены на экране. Пока на этом останавливаться не будем, но тому, кто достаточно основательно занимался фотографией, эти термины скажут многое…
Навигация, проекции
С понятием Камеры в 3D связано еще одно – т.н. «Навигация в сцене». Проще говоря, это опции управления камерой, а значит, взглядом в сцену. Возвращаясь к нашему примеру – мы можем рассмотреть обратную сторону объекта, не трогая его, а просто «объехав» камерой вокруг и направив объектив (т.е. взгляд) в нужном направлении. Таким образом, имеем возможность рассматривать сцену, как бы разгуливая по нашему трехмерному миру с камерой в руках.
Однако такая свободная «ручная» камера иногда может не устраивать – с ней бывает неудобно, да и просто невозможно выполнять точные построения, перемещения, трансформации геометрии. Ведь такая камера имитирует «человеческий» взгляд на мир, в котором всегда присутствуют искажения геометрии по законам линейной перспективы – т.е. одинаковые по размерам, но более удаленные объекты будут казаться меньше, чем находящиеся ближе к наблюдателю. Это, собственно, и обеспечивает достоверность визуализации трехмерной сцены, но и означает также, что неизбежны зрительные искажения и линейных размеров, и направлений.
Для решения этой проблемы в 3D-редакторах дополнительно используются специальные, т.н. «стандартные» камеры – Параллельные (ортогональные) проекции (или Виды). В принципе, эти термины наверняка знакомы еще из школьных уроков черчения, однако в 3D они имеют свою специфику…
Представим, что наша сцена (т.е. все ее объекты) находится внутри воображаемого куба с прозрачными стенками – т.е. сцена ограничена 6-ю смежными, взаимно перпендикулярными плоскими поверхностями. При этом линии пересечения (границы) этих поверхностей (ребра куба) направлены строго вдоль соответствующих осей сцены X,Y,Z, а потому сами поверхности ориентированы строго параллельно воображаемым плоскостям, образуемым каждой парой осей (их еще называют «планами осей»).
Теперь установим нашу камеру, например, на верхнюю плоскость так, чтобы ее «объектив» был направлен внутрь куба.
Условимся также, что в этом варианте камера будет всегда «прижата» к поверхности куба, т.е. может перемещаться, «скользить» только по ней (или по параллельной ей плоскости) – получаем требуемый вид Top (Сверху). Нетрудно заметить, что в этом случае фактически получаем аналог двумерного рабочего пространства (нет «глубины» перемещения камеры), а значит, нет и перспективных искажений – что, собственно, и требовалось. По аналогичному принципу работают и остальные параллельные виды, а всего их шесть: Top (Сверху), Left (Слева), Right (Справа), Front (Спереди), Back (Сзади), Bottom (Снизу).
Система стандартных проекций (видов) сцены.
Итак, имеем общепринятую во всех 3D-редакторах основную систему ориентации в пространстве за счет камер (видов): 6-ти стандартных (фиксированных проекций) и «свободной» (одной или нескольких), на которые можно мгновенно переключаться в любой нужный момент.
Edges (Ребра), Faces (Поверхности), Surfaces (Криволинейные поверхности)
В 3D редакторах используется несколько разных математических моделей трехмерных построений и по этому признаку SketchUp в своих основных возможностях, опциях и инструментах – типичный поверхностный моделёр. В таких редакторах все объекты всегда формируются из Faces (Плоских поверхностей), из «наборов» которых могут образовываться и криволинейные (точнее – псевдо-криволинейные) поверхности – Surfaces), т.е. объекты всегда представляют собой некие полые оболочки. Толщина их оболочек как бы «нулевая» (условная), или по-другому – просто не принимается во внимание. А вот еще одно свойство поверхностей в такой модели очень важно – каждая и всегда имеет две стороны; в терминологии SketchUp – внешнюю (лицевую) Face и внутреннюю (изнаночную, оборотную) Backface. Стороны имеют определенные различия в свойствах и возможностях, что в ряде опций редактирования принципиально.
В SketchUp (как и в других редакторах этого типа) исходной основой всей геометрии является отрезок прямой линии – Line, а поверхности (грани) всегда состоят из набора только плоских Polygons (Многоугольников) со сторонами из этих прямых отрезков, которые в этом качестве являются Edges (Ребрами) объектов. Таким образом SketchUp попадает еще под одно определение – «Полигональный моделёр»…
И в связи с этими условиями в таких моделях «настоящих» кривых линий (привычных, например по CorelDraw (т.н. «кривых Безье») и образованных из них плавно искривленных поверхностей просто не существует! А как же быть с моделированием объектов с плавными, гладкими криволинейными поверхностями? Для этого, при необходимости, используются специальные механизмы управляемого визуального сглаживания, которые скрывают «жесткие» границы (ребра) между смежными поверхностями, хотя при этом никакого реального изменения геометрии не происходит. Таким образом, создается иллюзия плавной криволинейности, что дает возможность даже при весьма простой геометрии получать достаточно визуально сложные формы. Кроме того, именно это позволяет ввести понятие Surfaces, когда такой «сглаженный» набор плоских полигонов воспринимается программой как единая поверхность, а значит, к ней можно применять ряд тех же опций модификаций, как и к отдельному плоскому полигону. Элементы, формирующие трехмерную геометрию в полигональном моделировании.
Элементы, формирующие трехмерную геометрию в полигональном моделировании.