Творческое Объединение NEANE Records — электронная, космическая музыка, эмбиент. Концерты, встречи, общение. Место сбора всех инопланетян Земли ENGLISH SPANISH RUSSIAN
3D-графика
          Если мы посмотрим на предметы окружающие нас, то легко заметим, что их поверхности обладают определенными визуальными свойствами. Проще говоря, поверхности предметов (а пусть даже и сами предметы) обладают цветом, может быть даже заметным рисунком, рельефностью или шероховатостью, способностью отражать в себе другие предметы, бликовать на солнце, и даже пропускать сквозь себя свет от других предметов иногда ортодоксально, а иногда искривляя путь лучей проходящих сквозь - преломляя свет.

          В программах пытающихся моделировать нашу реальность в большей или меньшей степени удается наделять объекты сцены подобными свойствами. И программа Bryce 3D не исключение. Она позволяет имитировать большинство оптических (визуальных) свойств предметов. А процесс присвоения поверхностям предметов тех или иных визуальных свойств называется текстурированием.

          Расскажу сегодня о текстурировании в программе Bryce 3D только общие необходимые сведения. В деталях же тема текстурирования настолько глобальна, что ее неисчерпать и десятком подобных бесед.



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

          Начнем с того, что открыв новую сцену в программе и создав в ней любой объемный примитив (сферу, куб, пирамиду, конус, торус) мы получим объект с визуальными свойствами поверхности назначаемыми по умолчанию - обычный такой серый предмет без изысков.

          Для примеров я выбрал сферу. Ее и будем пока рассматривать.



          Обратите внимание, что рядом с любым выделенным объектом высвечивается столбик пиктограммок дающих возможность что-то с этим объектом делать. Кликните мышкой по пиктограммке "M" (от слова "Material" - материал). При этом вы сразу окажетесь в "Лаборатории материалов" программы Bryce, где и совершаются все чудеса текстурирования.



          Сейчас она практически не задействована и большинство ее возможностей просто спят. Но мы можем загрузить в нее данные любого материала из уже существующей библиотеки материалов: Рядом с окошком предварительного "миниатюрного" рендеринга, справа, есть маленький треугольничек открывающий вход в библиотеку. Кликните по нему.



          В библиотеке множество разделов. В каждом - десятки разных материалов. Я выбрал какой-то первый попавшийся из раздела "Wild&Fun"Применим наш выбор кликом по "галочке" и посмотрим, что изменилось в "лаборатории".



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

          Выполним полный рендеринг.



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



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

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



          Вернемся в лабораторию.

          Будет целесообразным рассмотреть разные части лаборатории сначала разделив их:



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

          Предлагаю пройтись простым перечислением с краткими комментариями по левой стороне "лаборатории материалов":



          Итак;

          DIFFUSE - цвет или узор (текстура) проверхности объекта, которая видна благодаря внешнему освещению. [ Вы не задумывались, почему мы видим те или иные предметы? - часто это только потому, что они отражают свет Солнца, осветительных ламп и других источников света. Будучи в полной темноте такие предметы не видны и тем ярче выглядят, чем сильнее их освещают. Вот такая пассивная составляющая задается параметром DIFFUSE. Это может быть цвет, а может быть узор (текстура) и что бы задать первое, необходимо кликнуть мышкой в маленькое овальное поле рядом с названием свойства материала (DIFFUSE) и в открывшейся палитре выбрать нужный цвет. Задать цвет можно также оперируя численными значениями. Тогда требуется кликнув мышью в овальное поле и не отпуская левой кнопки нажать на клавиатуре <Shift+Alt> или <Ctrl+Alt>



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



          Вполне можно сообразить, что капелька в первой позиции соответствует первой текстурной панельке, капелька во второй позиции соответствует второй панельке и представляемой ею текстуре и так далее. Причем, можно в одно и тоже свойство материала ставить несколько капелек, если кликать мышкой с зажатой на клавиатуре кнопкой <Ctrl>.



          Примененные к данному свойству текстуры будут складываться (накладываться друг на друга). Все это в равной степени будет справедливо по отношению почти ко всем следующим далее свойствам материала в программе Bryce 3D ]


          AMBIENT - с этим параметром несколько неоднозначная ситуация. Я сразу прошу обратить на это внимание. Этот параметр призван или, правильнее сказать, пытается решить сразу две задачи: 1. дать возможность имитировать самосвечение - как например ваш монитор светится сам и его экран виден вне зависимости от того, включена люстра в вашей комнате или нет; 2. - обеспечить подобие рассеянного света, такого, как даже в пасмурный день ниспадает на любой объект со всех сторон. [ Не буду сейчас подвергать критике стремление разработчиков облегчить и упростить процесс имитации естественного освещения, но сразу заострю ваше внимание на том, что в одних случаях параметр имитирует самосвечение объекта (им , например можно создавать линзы светофора на автомобильном перекрестке или экран кинотеатра, который по понятным причинам светится в темноте зала сам по себе), в других же случаях, параметр поможет создать более ровную посветку объекта естественным световым фотом, что бы избежать резких и глубоких теней (резкие тени - неприятная особенность этой программы). В остальном все назначения цвета, текстур и прочие манипуляции идентичны предыдущему свойству. ]

          SPECULAR - способность бликовать, сверкать в косых лучах источника света. Вы наверняка не раз (если вы наблюдательны) видели, что некоторые материалы, не способные отражать изображения как заркала, тем не менее очень способны сверкать и отбрасывать блики от Солнца или другого сильного источника света. Этот параметр как раз и позволяет наделить объект способность бликовать. Причем, сам объект может быть одного цвета, а блики отбрасывать вдруг может другие. Не знаю, насколько это при самом разном наборе цветов будет выглядеть реалистично, но такова прихоть разработчиков - дать вам возможность творить самый невероятный сюр. [ Разумеется, как в предыдущем случае, можно вместо цвета назначить картинку-текстуру и заставить объект бликовать каким-то узором. Зачем-то это наверное надо... ну например для имитации ржавой местами железяки, которая какой-то своей частью бликует, а какой-то нет - наверное это тот самый случай. ]

          SPECULAR HALO - это продолжение предыдущего свойства - вокруг блика нередко можно заметить некоторый ореол. Данное свойство регулирует способность объекта иметь ореол (гало) вокруг бликов на собственной поверхности. [ Свойство, в общем-то полезное для изображения металических и стеклянных (а так же всех прочих блестящих поверхностно) объектов, но много говорить о нем не приходится - попробуйте на опыте и поймете насколько оно применимо в вашей ситуации. ]

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

          VOLUME - Если уж объект оказался прозрачным в какой-то части поверхности, то очевидно через прозрачные участки обнажилась его внутренность - его (тоже, возможно, прозрачная) плоть, так сказать. И вот какого она цвета - можно определить с помощью данного параметра. Это цвет внутренности - как например, бутылочное стекло внутри зеленое, но снаружи может быть чем-то заклеено или закрашено, но сам материал - зеленый. Степень проникновения света сквозь поверхности определяется предыдущим параметром, а уж как оно внутри - это задается с помощью параметра VOLUME. [ Обратите вниание, что текстуру тут приметять непозволительно - да и как применить плоскую текстуру к объему стекла? Зато в том месте, где у других параметров применялась текстура, здесь стоит маркировка текстурных столбцов, что бы мы знали, как какой столбец называется - A, B, C или D ]



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

          Далее;

          DIFFUSION - этот параметр работает в связке с уже известным нам параметром DIFFUSE. Даже пишется похоже. Но если ранее описанный параметр задает цвет или узор (текстуру) поверхности, которая может быт видна благодаря освещению из вне, то данный параметр (DIFFUSION) регламентирует степень проявления этого цвета или узора. Обратите внимание на выдвижной ползунок рядом - выдвините его сильнее - ярче будет объект. Можно ввести и численное значение этой степени проявления цвета или узора. А можно, при необходимости, назначить и тут тектуру. Текстура, как бы, намотается на поверхность объекта , но сама по себе видна не будет, а своими точками (ведь это точечный рисунок!) будет разрешать соответственным точкам поверхности объекта - насколько им можно проявлять в том или ином месте заявленный ранее цвет или узор. При этом точки с наибольшей яркостью на регламентирующей текстуре будут позволять проявляться заявленному цвету или узору в большей степени, а темные точки будут блокировать такое проявление и в местах соответствующих темным точкам регламентирующей текстуры объект будет темнее, бесцветнее, узор будет "проваливаться" [ Кстати, в случае назначения регламетирующей текстуры, выдвижной ползуночек действовать не будет. Его роль на себя берет текстура. ]



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

          AMBIENCE - работает в паре с уже известным нам AMBIENT. Принцип уже описан выше: AMBIENT задает цвет или узор самосветящегося объекта, а AMBIENCE регламентирует его проявление - численно или текстурно. [ Тут все настолько просто, что и добавить нечего. Надо просто привыкнуть. ]

          SPECULARITY - повторяет предыдущий фокус, но применительно к бликам и их регламентации. [ Этот параметр регламентирует проявление сразу двух ранее заявленных качеств - SPECULAR и SPECULAR HALO. Все это - одна "компания" ]

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

          BUMP HEIGHT - один из самых занятных параметров текстурирования. До настоящего момента мы имели дело с гладкими отполированными поверхностями. Но они не всегда такие нужны. Иногда поверхность должна быть шершавой, ребристой, рельефной. "БАМП" решает эту задачу. Но, ВНИМАНИЕ! одного численного значения тут мало. Обязательно нужна текстура. Именно разброс значений яркостей точек создает видимый (я бы добавил определение - "мнимый", потому как объект каким был, таким и остался и текстурирование не сказывается на форме шара) перепад высот на поверхности.

          Это надо показать на примере. Вот он наш шар - гладкий и заурядный:



          Теперь назначим текстуру (текстура, естетственно, выскочит какая попало, но позже мы научися ее менять по своему усмотрению) и чуточку (сильно ни в коем случае не надо) выдвинем ползуночек значения этого параметра. Вот, что мы получим:



          Даже в маленьком окошке предварительного просмотра материала видно, что поверхность стала шершавой.

          Для большей наглядности приведу полный рендер нашего шара:



          [ Большие значения БАМПа дают некрасивые, грубые поверхности. Заметьте, что это свойство материала единственное, которое может принимать как положительные, так и отрицательные значения. Подергайте ползунок в разные стороны и поймете, что он может получать при этом значения заставляющие поверхность шершаво выпячиваться в одну сторону (допустим наружу), а может - и внутрь, как бы наизнанку. ]

          Три последних параметра имеют самое прямое отношение к оптике и поэтому о них изложу самые скромные пока сведения:

          TRANSPARENCY - прозрачность. О ней мы уже говорили. Аналогичный параметр TRANSPARENT задавал цвет прозрачной кромки объекта и возможно узор который пропускал свет или нет, а этот параметр - TRANSPARENCY регламентирует степень прозрачности объекта в целом. При его нулевом значении, что там выше не крути, объект будет непрозрачным и наоборот, если ползунок этого параметра выдвинуть до упора, то вне зависимости от вышесделаных установок объект будет полностью прозрачен. Самое интересное применение параметра TRANSPARENCY как раз между этих двух крайностей и оно же дает возможность проявиться настройкам параметра TRANSPARENT в полной мере. [ Помните, что не взирая на полную прозрачность для посторонних лучей, объект имеющий цвет как отраженный, так и самосветящийся будет виден благодаря своему цвету. И второе, в большинстве случаев, при работе с прозрачностью пользуются только этим параметром и ранее описанный параметр TRANSPARENT не трогают оставив в изначальном "белом" положении, как и параметр VOLUME ]



          REFLECTION - способность к зеркальному отражению. Это не диффузное, рассеяное отражение, а именно зеркальное. Если мы дадим его нашему шару он станет подобием новогоднего елочного украшения. Если вместо численного значения использовать текстуру, то шар будет отражать местами - где-то больше, где-то меньше. [ в случае применения регламентирующей кекстуры ползунок остается в действии и в одном случае ослабляет отражающий эффект, в другом добавляет его. По какому именно закону - сказать сложно, но интуитивно вполне понятно ]



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

          Понятное дело, что рефракция имеет смысл только тогда, когда объект хоть немного прозрачен. В противном случае преломляться будет нечему и негде. Но если у вас в сцене задуман прозрачный или полупрозрачный объект (вода, стекло, пластик и пр.) и вы не заинтересованы в крайне долгом обсчете, проследите, что бы коэффициэнт преломления был равет 100 - это значение соответствует среде из воздуха. [ Несколько замечаний на эту тему: 1. местный коэффициэнт преломления в сравнении с принятым в физике и оптике увеличен в 100 раз. То, что здесь равно 100, на самом деле всего лишь еденица. 2. могу привести некоторые популярные значения для некоторых популярных материалов: пластик - 125, вода - 133, легкое стекло - 140, обычное стекло - 153, тяжелое стекло - 170, алмаз - 200... примерно так. 3. Конечно не стоит бояться применять это свойство материала. Но и злоупотреблять им уж точно незачем ]






          Перейдем к правой половине лаборатории материалов.



          Мы видим 4 текстурных панельки. Каждая из них в порядке сверху вниз соответствует техстурным столбцам A, B, C или D. Устроены они все одинаково. На первый взгляд. Но нам его пока достаточно и мы возьмем одну всего панельку и разберемся - что за кнопочки-пимпочки в количестве 6 штук имеют место быть и для чего.



          Начнем с верхней-правой. Рядом с ней написано "Smokes" - дым - это название текстуры. Если кликнуть по кнопочке, то выпадает весь список текстурных заготовок:



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

          Переместимся к нижней правой конопке. Важно не только подобрать подходящую текстуру, но так же важно ее правильно спроецировать (или проще говоря "намотать" (почти как обоями оклеить)) текстуру на поверхность объекта. Существуют десятки алгоритмов этой "намотки" (или иначе - "проекции"). Кликните по кнопке.



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



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

          "World Space" - текстура привязывается к пространству и даже если объект переместиться немного, текстура останется как-будто лежать в преждем месте. Этот алгорим хорош для текстурирования природных образований типа горного массива или глади океана. Возможно подойдет для текстурирования "недвижимости" - архитектуры, крупногабаритных неперемещаемых сооружений.

          "Parametric" и "Parametric Scaled" похожи по принципу на "Object Space", но геометрия "намотки" текстуры на объект несколько отличается. Попробуйте, посмотрите.

          Но что делать, если текстура подходящая и легла на объект хорошо, но масштаб мелок или наоборот - велик слишком? - Для этого предусмотрена верхняя-левая кнопка.



          Здесь заложены возможности масштабирования (верхний манипулятор и его значения), поворота текстуры вокруг оси объекта или пространства (в зависимости от типа проекции) (средний манипулятор и его значения) и смещения текстуры относительно центра объекта или пространства (нижний манипулятор)

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



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

          А теперь хочу рассмотреть ситуацию, при которой нам бы требовалось оттекстурировать поверхность объекта не фрактальной абстрактной Брайсовской текстурой, а вполне конкретной картинокой или заранее разработанной текстурой.

          Обратите внимание на две кнопочки внизу-слева на текстурной панельке. Одна маркирована буковкой "T", другая - буковкой "P". "T" - Texture - текстура - этим мы занимали все предыдущее время. "P" - Picture - картинка - это как раз то, что нас сейчас интересует. Кликаем по "P" и переключаемся в режим применения к объекту картинок собственной разработки.



          Изображение "человечка" говорит о том, что какая-то картинка уже рагружена. Это стандартная Брайсовская картинка. Что бы разобраться с ней и заменить на свою кликнем в ту верхнюю-левую кнопку, которая чуть правей:



          И попадаем в редактор вставки картинок:



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

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

          Попробуйте и так, и эдак.

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



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

          Недолго думая я сделал в Corel Photo-Paint-е вот такую "картинку":



          И загрузил ее при помощи команды "LOAD" над средним окошком (регламентирующий канал, или еще его называют - канал прозрачности, альфа-канал):



          И применим теперь этот комплект картинок кликнув по "галочке", далее в лаборатории материалов уберем все ненужное и создадим такую примерно раскладку параметров:



          Теперь применяем этот материал очередной раз кликнув по "галке" в лаборатории материалов и немного покрутившись "камерой" вокруг шара представляю вам конечный рендеринг:





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



          На этом - все. Для самостоятельного разбора оставляю файл с финальным изображением, сценой и всеми текстурными настройками - изучайте »

Андрей Климковский, NEANE Records
3 сентября 2007
Поблагодарите автора:
Вы можете поддержать автора статьи и перевести ему любую сумму — на ваше усмотрение. Даже небольшой денежный перевод — 50 или 500 рублей — очень мотивирует и дает понять, что писалась статья не зря. Регулярные вознаграждения способствуют тому, что статьи появляются на сайте чаще, а автор пишет лучше — постоянно совершенствуясь и переходя на новый уровень. Это понятно, ведь у него просто появляется на это время. Благодаря Вам! Как видите, это — взаимно.
Спасибо Вам за то, что читаете и поддерживаете нас!

Узнать больше о поддержке
Прочитал статью? Прокомментируй!