Как сделать текстуру в блендере

Обновлено: 03.07.2024

Материал – это набор параметров, определяющих характер поверхности объекта (а в некоторых случаях – и его объема). Они включают цвет (если быть точным, несколько компонентов цвета для разных составляющих освещенности), текстуру, параметры прозрачности, отражения и преломления и многие другие. В общем случае, эти параметры определяют закон, по которому свет должен отражаться от поверхности объекта.

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

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

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

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

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

Модель Ламберта хорошо подходит только для сравнительно гладких поверхностей. Для моделирования шероховатой, бархатистой или запыленной поверхности часто используют диффузную модель Орена-Найара (Oren-Nayar), которая основана на предположении, что поверхность состоит из множества бесконечно малых микрограней, освещение каждой из которых описывается моделью Ламберта. Модель Орена-Найара имеет параметр для контроля шероховатости поверхности (Roughness). Этот параметр определяет, сколько света отразится назад в направлении источника света.

В Blender чаще всего используются именно эти две диффузные модели. Помимо диффузной, используется также бликовая составляющая освещенности. Бликовая составляющая (specular term) – это количество света, зеркально отраженного поверхностью. Блик – это прямое отражение источника света на поверхности объекта. Если учесть, что в компьютерной графике используются идеализированные объекты, возникает закономерный вопрос: почему точечный источник света, не имеющий объема и невидимый сам по себе, отражается как относительно крупный размытый световой блик? Этот феномен также объясняется наличием микрограней: они имеют собственные вектора нормалей, отклонение которых от основной нормали поверхности меняют интенсивность зеркально отраженного света.

Для сравнительно гладких материалов (таких, как пластик или металл) обычно пользуются эмпирической моделью Фонга (Phong). Она не соответствует точному физическому описанию отражения света, но в большинстве случаев позволяет достичь приемлемых реалистичных результатов. Формула Фонга основана на простом наблюдении: блестящие поверхности дают маленькие и резкие блики, в то время как матовые – большие и размытые. Более согласованная с физикой модель, которая поддерживается в Blender – модель Кука-Торренса (Cook-Torrance). Она основана на допущении, что поверхность состоит из микрограней, каждая из которых является идеальным зеркалом.

Зная, где и как правильно применять эти модели, можно моделировать объекты, по внешнему виду максимально приближенные к реальным.

Так, для матовых поверхностей вроде камня, бетона или бумаги лучше всего подходит модель Ламберта. Блики на пластике, фарфоре, металле, матовом стекле имитируются моделью Фонга. Бархат, вельвет, ковры и некоторые другие виды тканей лучше всего воссоздаются моделями Орена-Найара и Кука-Торренса. В Blender материал объекту можно добавить в редакторе свойств, который по умолчанию находится в правой части окна программы. Переключите панель со значками на Material, добавьте объекту новый материал (если его нет) при помощи кнопки New.

Рассмотрим основные параметры материала.

Diffuse. Цвет и модель диффузной (рассеянной) компоненты освещенности. Вы можете указать цвет, нажав по нему левой кнопкой мыши – появится RGB-палитра с возможностью точного подбора каналов цвета.

Specular. Цвет и модель бликовой (зеркальной) компоненты освещенности. Форма блика зависит от выбранной модели и специфичных для нее параметров – это может быть как маленькая резкая точка, так и большое размытое пятно.

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

Mirror. Если поставить галочку напротив этого параметра, поверхность объекта будет зеркально отражать окружающие предметы. Степень отражаемости контролируется параметром Reflectivity.

Текстура

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

Прежде всего нам надо преобразовать всю нашу геометрию из набора кривых в модель, состоящую из вершин и полигонов, на которые накладываются текстуры и которые в конечном счёте экспортируются в игру. Но так как при этом неизбежно теряется часть информации (в нашем случае - кривые плавников и сетка деформации дельфина), то желательно сохранить резервную копию нашей модели. Давайте поместим оригинал на отдельный слой: выделите всё (желательно предварительно удалить лампу и камеру), продублируйте ([Shift + D]), сразу после нажатия отмените перемещение копий ([Esc]) и переместите на другой слой: [M] или Object > Move to Layer. Переключатель слоёв находится на панели окна 3D-вида. Сделать видимыми сразу несколько слоём можно при помощи клавиши [Shift]. Теперь не помешает сохраниться ;)

Убедитесь, что выделен только один слой, а в другом есть копия текущего, выделите всё содержимое текущего слоя и выполните скрипт Object > Scripts > Apply Deformation. Object > Convert Object Type работает несколько иначе, и в эти подробности мы пока что углубляться не будем. Сразу после выполнения скрипт выделит готовые модели и предложит переместить их. Их можно отодвинуть в сторону, а старые удалить вместе с сеткой трансформации. Если после выполнения скрипта модель будет похожа на гранированное стекло, ничего страшного: это лишь режим отображения модели, не влияющий на её геометрию. Его можно переключить на вкладке Edit на панели.

Теперь всё готово к наложению текстуры. Разделите 3D-вид на две части и переключите одну их них в режим UVImage Editor (далее просто окно текстуры), в основном же окне выделите тело дельфина и перейдите в режим UV Face Select, выделите все грани (для них мы назначаем текстуру), и в окне текстуры откройте файл с картинкой (_Image > Open_). Для того, чтобы лучше видеть проблемы при наложении тексуры, советую выбрать что-нибудь нейтральное, например, шахматную доску из pattern.jpg.

Попробуем переключить 3D-вид в режим Textured. Выбрать его можно рядом с основным режимом (в данном случае UV Face Select). Картина не очень приятная: каждый полигон занимает всю текстуру полностью. Нам же надо создать развёртку этой модели и "наклеить" на неё, как карта наклеивается на глобус. Развёртка создаётся командой Face > Unwrap UVs > Unwrap в 3D-виде или UVs > Unwrap в окне текстуры. Затаив дыхание, выполняем команду и.

Облом. По аналогии с глобусом, один целый лист бумаги наклеить не получится: нужно разрезать его на части. От нас требуется указать программе, где именно резать. Идем в Edit Mode, снимаем выделение, позиционируем и выделяем две меридианы, составляющие осевое сечение дельфина. Чтобы выделить идущие друг за другом "кольцом" рёбра, составляющие меридиану, надо при выделении удерживать [Alt]. Чтобы добавить к текущему выделению, удерживайте ещё и Shift. Если вы "промахнулись", снимите выделение и начните сначала. И не забывайте сохраняться ;)

Укажем, программе, что выделенные нами ребра являются швами, исходя из которых должны создаваться развёртка: Mesh > Edges > Mark Seam. Идём обратно в режим UV Face Select, снова выделяем все полигоны и снова даём команду создать развёртку.

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

Brainy Man • Уроки по Blender

Brainy Man • Уроки по Blender

Brainy Man • Уроки по Blender запись закреплена

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

реалистичная трава в блендере

В этом уроке будет использоваться рендер Cycles , но вы можете взять и использовать технику в Blender Internal , но тогда Вы не сможете точно следовать по шагам при создании материалов. Лично я Cycles нашел простым и более быстрым для достижения реалистичного результата.

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

Часть 1: Введение в траву

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

Часть 2: Настройка сцены

Так, теперь вы знаете, как трава выглядит в реальной жизни, давайте попробуем сделать ее в Блендер. Теперь, если Вы посмотрите ниже на одну из фотографий травы в Блендер , всплывет примерно такая сцена:


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


Если вы не являетесь подписчиком и не может загрузить сцену из исходных файлов, не волнуйтесь! Я покажу вам здесь некоторые базовые вещи, но творчество остается за вами.
Вы видите, что моя сцена освещена только одним солнечным светом (Sun Lamp) (рис. 2-3), которая находится под углом. Для настройки Окружения, я никогда бы не расположил солнце непосредственно на передней, задней или с обеих сторон, если это конечно не необходимо. Это было бы неестественно, поэтому, расположим его на какой-нибудь угол. Я также окрасил его слегка желтым цветом, потому, что солнце примерно такого цвета цвета. Довольно просто!



Для текстуры фона я использовал изображение которое можно получить по этой ссылке heiwa4126, которое правда, используется по ограниченной лицензии Creative Commons. Я использую его в качестве текстуры окружения, потому, что это дает некоторые интересные цветные отражения.


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

Часть 3: Создание Объекта

Хорошо, теперь давайте на самом деле сделаем несколько травинок! Во-первых, перейдите на слой, в который вы знаете, что не будете нуждаться. Я обычно просто использовать последний. Затем добавьте плоскость (Plane) и поверните (Rotate) ее на 90 градусов по оси X в режиме объекта (Object Mode).
Мы делаем это в Режиме Объекта для изменения локальных координат так, чтобы когда мы создадим систему частиц ( Particle System), трава была направлена ??вверх.
Затем перейдите в режим редактирования (Edit Mode) выделите верхний край, выдавливайте (Extrude) и уменьшайте его. С делайте это примерно 3 раза и использовав Alt + M соедините верхний край в одну точку. Убедитесь, что начало координат находится у основания травинки. Масштабируйте основание вдоль оси X, чтобы сделать его тоньше. Затем переместите грани по осям X и Y, пока вы не получите примерно такой же результат, как на рисунке 3-1:


Прежде, чем мы продублируем больше травы, мы должны сделать пару вещей, чтобы потом проще было в долгосрочной перспективе. Во-первых, установить для травы сглаживающие тени. Переименуйте их в "травинка" ( grass blade), и если вы хотите сохраните Ваши объекты. Присвойте траве материал, а также создать группу для него (как показано на рисунке 3-2). Мы займемся материалами позже, но это в последствии сэкономит время и избавит Вас от необходимости добавлять материал на все травинки по одному. Если вы хотите, вы можете добавить Subsurf модификатор, для улучшений, но это не является необходимым, если вы не делаете крупный план.


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


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


Часть 4: Использование частиц

С моделирование сетки травы мы закончили и можем переходить к частицам. Вернитесь к первому слою, и создайте на нашей земле (поверхности) новую систему частиц 'hair' типа. Переименуйте название настроек, как и в общих на 'glass', и удостоверьтесь, что стоит флажок на 'advanced'.

В визуализации параметров системы частиц, выберите группу 'glass', и продублируем ее (Dupli Group). Настройки должны выглядеть как на рисунке 4-1:


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

Теперь давайте сделаем траву правильного размера. В настройках 'Physics', измените размер до 0,01, а случайный размер (random size) до 0,3.


Трава выглядит сейчас неплохо, но она еще безусловно, нуждается в некоторых изменениях - эта слишком однородна. В настройках скорости (Velocity), поставить random 0,25. Это позволит добиться, чтобы трава не стояла совершенно одинаково вверх. Не устанавливайте слишком высокое значение, хотя она и будет менять размер.

Установите флажок 'Rotation' и установите 'Phase' и 'Random' значениями до 1. Случайная величина не работает, если фаза (Phase) установлена ??в 0.




Теперь мы можем использовать кисть ('Add') (c силой strength=1), и нарисовать зону красным, там где мы не хотим, чтобы была трава. Она может быть неточной, но старайтесь быть осторожными, чтобы не получить проплешины или если Вы не хотите траву в камнях.


Хорошо, теперь вернемся к объектному режиму. В настройках частиц, внутри панели 'Vertex Groups', выберите 'glass' для плотности. Флажок 'negato', чтобы трава была рядом с путем, а не внутри.


Теперь, трава выглядит здорово, но слишком редко. Чтобы заполнить пространство, естественно, мы должны увеличить частицы (' Emission') до 7000, а также добавить некоторых детей ( Children). Помните, что если вы только увеличите частицы вы получите очень густую траву (слипания). Если у вас будет маленькое количество частиц, но много детей, вы получите несколько очень толстых кустов. В большинстве случаев вам понадобится хороший баланс.

В панели ' Children', выберите ' Interpolated'. Это даст более равномерного распределения, чем ' Simple'.
Выберите для отображения столько, сколько вы считаете, что ваш компьютер сможет обработать. Мой может обрабатывать около 5, но я могу просмотреть и 20 в циклах. Измените 'Render' до 25.

Шероховатости ( 'Roughness') помогут дать траве больше вариаций. Равномерность ( 'uniform'), добавит шум в текстуру испускания и направления детей. Перейдите в вид сверху и установить это значение очень большим, если вы хотите понять, что я имею в виду. Случайную ('Random') шероховатость используют больше в волосах, но она может быть полезна и здесь, чтобы дать траве немного больше изменений.

Установите Children и Emission параметры примерно как у меня ниже на рисунке 4-7 (за исключением дисплея, если у вас старый компьютер):


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

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

Читайте также: