Всем привет. Так получилось, что прошлое объяснение "как и чего" вылилось в целый урок (как это у меня часто бывает). Полазив по форуму и почитав посты типа: "я текстурировать не умею", "у меня плохо получается", "я с текстурированием на вы" и т.д., я понял, что смысл от того, что тыкаешь авторов носом и указываешь недостатки стремится к нулю. Поэтому было решено продолжить объяснение уже в качестве урока, тем более, что народ (в лице Altair'a) стал требовать. Есть на форуме товарищи, которые по каким-то причинам не могут даже модель сделать не то, что текстурировать. Бывает и такое: открыл 3д-редактор, ничего не понял и закрыл. Так вот: специально для них будут рассматриваться и аспекты моделлинга. Сам работаю в Блендере версии 2.49b, но попытаюсь объяснить так, чтобы это можно было повторить в любом 3д-пакете.
И так, приступим. В качестве референса основной формы была взята вот такая бочка.
Этап I. Моделлинг мид-поли (хай-поли)
Немного отвлекусь и скажу, что в Блендере работаю в 1 окне 3д-вида:
но это не мешает настроить интерфейс под себя как в том же 3д-Максе:
для этого достаточно навести мышку на боковой край рабочей области, появится знак двухсторонней стрелочки, затем нажимаем ПКМ, появляется меню с 2-мя надписями: Split Area (Разделить рабочую площадь) - появляется линия, по которой вы можете разделить рабочее поле на двое. Новые рабочие поля можно получать также разделением существующих, путем деления их границ. No Header (Убрать заголовок) - убираем вспомогательное меню окна. Чтоб вернуть окна вида обратно наводим на разделительную линию между полями, нажимаем ПКМ и активируем Join Areas (Соединить рабочие площади), появляется стрелка, указывающая какую площадь оставить, объединив их.
Для навигациями между видами в окнах используется цифровой блок (на ноут-буках, к сожалению, его не встречал), который активируется клавишей Num Lock. Вот их значения: 1 - вид спереди 3 - вид сбоку 7 - вид сверху 5 - изометрический вид 0 - вид с камеры 2,4,8,6 - позволяют вращать объект с шагом в 15 градусов
1) Приступим к созданию основной формы. Сначала удалим базовый куб: наводим на него курсор, жмем ПКМ, он выделился ореолом, затем жмем Delete и Enter. Создадим цилиндр: наведем мышку на то место где хотим его создать, нажимаем ЛКМ, появляется "прицел привязки", затем зажимаем ЛКМ, появляется меню, в котором выбираем: Add(Добавить) >>> Mesh(Фигуру) >>> Cylinder(Цилиндр). Затем выбираем его свойства: Vertices - сколько граней будет в цилиндре, чем их больше, тем он округлее и глаже, поставлю 50 Radius - радиус цилиндра, чем больше тем он шире, не буду менять Depth - высота цилиндра, не меняю Cap Ends - убирает или добавляет верхнее и нижнее дно для цилиндра
Жмем на ОК и создаем цилиндр.
2) Ориентирование в 3д-пространстве. Уже становится ясно, что для бочки цилиндр не подходит - высота слишком мала. Сейчас мы это исправим. Мы будем играться с масштабом по осям. Есть в Блендере горячая клавиша S (Scale) - которая позволяет увеличить или уменьшить общий масштаб модели. Нам это не подходит так как нужной формы не добиться, но если после нажатия клавиши S указать направление пространства для управления масштабом, то мы легко добьемся поставленной цели. И так жмем S, затем указываем направление в пространстве по которому нам нужно растянуть модель: например, S,Z, далее показывается направление оси на модели, и вы мышкой растягиваете и сжимаете модель, когда подвели на сколько нужно нажимаем ЛКМ. Если нам по каким-то причинам что-то не нравится - жмем ПКМ.
Обоснуем принцип: сначала мы указываем клавишу для того, чтобы отмасштабировать модель (клавиша S), затем указываем ось по которой будем масштабировать (клавиши X, Y или Z) и растягиваем как нам надо. Ничего сложного. Непреодолимым препятствием здесь будет только то, если вы не знаете клавиш на своей клавиатуре...
3) Полигональное моделирование. Не нужно сходу орать: "Йа боюся!", "Это - черная магия!", "Ацкие полигоны - от них, блин, никуда не спрячешься..." и тому подобное. Повторюсь, уровень на котором я моделю - доступен всем абсолютно, даже казалось бы новичкам. Просто практики больше нужно. Далее 2 совета на будущее: - не стоит показывать модели, которые вы сделали за 2 часа и намекать на то, а кто быстрее? Ясно что за 2 часа ничего путнего у новичка не выйдет. - не стоит выкладывать лоу-поли модели, запеченные в рендере, показывая уровень своего мастерства - хорошее лоу-поли делают только ретопологией по хай-поли. И вылаживают модель уже со всеми картами, чтобы складывалась общая картина. Почему? Потому, что сами будете тормозить свой прогресс. Выложите модель калаша из 2,5 тыс поликов, а окружающие, допустим, так не умеют вот и любой скажет что - это круто! Да и в принципе, скажут чтоб не обидеть. И свято веря, что это круто, вы дальше будете штамповать эту халтуру, а когда серьезная команда предложит вам пройти тест на вступление - попросту его запорите. Поэтому умерим пыл по скорости захвата Вселенной и продолжим работу. Напомню, что одна законченная работа 10-ти незаконченных стоит.
Прежде, чем приступить к полигональному моделлированию, вспомним из чего состоят наши модели: - Вершины или Вертексы (Vertices) - элементы модели, представляющие из себя точки соединений линий, образующих полигоны. Вершины также могут предназначаться для определения коллизий в игровых движках, для работы процедурных разрушений, анимации, различных эффектов и др.
- Линии или Эджи (Edges) - элементы модели, представляющие из себя линии, образованные из 2х вертексов, которые показывают ограничение и ориентирование пространства полигона
ведь одну и туже поверхность можно построить с помощью эджей разными способами и именно они нам дают такую гибкость
- Полигоны (Polis) они же Фейсы (Faces) - элементы модели, представляющие из себя треугольные (трисы (Tris)) или квадратные (квады (quads)) плоскости образованные соединением линий и вершин. Кроме как отображения текстурных разверток на моделях и забивание игровых движков до коматозных состояний толку от них нет.
Теперь то мы знаем кто наш враг и как с ним бороться. Начинаем издеваться над цилиндром. В Блендере для того чтоб начать редактирование сетки полигонов жмем кнопку Tab. При чем, когда входим в режим редактирования нижнее меню изменяется и открывается доступ к вершинам, линиям и полигонам.
можно выбирать один из элементов нажимая на значке, а можно вызвать список комбинацией Ctrl+Tab и выбрать там. Так же есть настройка отсечения элементов по виду. Клавиша активации расположена рядом с значками элементов в виде куба. Что это дает? Это сокращает риск "задеть" элементы на противоположной стороне от той,с которой вы работаете. То есть выставив вид сверху вы можете спокойно редактировать верхнюю сторону и не опасаться, что вы сдвинете или заденете элементы нижней, но только при условии ее целостности.
Начнем редактирование. Для него нам понадобится метод подразделения линий, поэтому активируем значок с линиями (или жмем Ctrl+Tab и выбираем Edges). Нам нужны конкретные линии и если активированы все (выделены желтым цветом), то нажимаем деактивацию кнопкой A ( этой же кнопкой можно ее вернуть, также кнопка работает и в объектном режиме выделяя\снимая выделения со всех объектов). Итак активируем те линии с которыми будем работать. Для этого: входим в режим вида спереди (1) или сбоку (3), нажимаем клавишу B, которая является маркером выделения (или активной зоны), затем зажимаем ЛКМ и указываем зону с которой будем работать - активируем продольные линии сторон цилиндра:
Для начала узнаем на сколько частей нам нужно поделить цилиндр, для того чтоб еффективно и точно воссоздать референс формы:
Мы узнали что основную форму можно воссоздать, если предварительно разделить наш цилиндр 10-ю линиями. Далее делим (подразбиваем) существующие линии на несколько рядов. Вызываем меню операций клавишей W и выбираем там Subdivide Multi и указываем сколько раз нам нужно провести разделение: напротив Number of Cuts устанавливаем значение 10 и нажимаем ОК.
Начинаем воссоздавать основную форму: переходим в режим вертексов, с помощью кнопки В выделяем и активируем предпоследний от верхнего и нижнего края ряды вершин (каждый из рядов требует отдельной активации выделением):
Затем установим ряды туда, где должны заканчиваться верхняя и нижняя кромки бочки. Для этого нажимаем S, Z и устанавливаем их куда нам нужно - вот сюда
Чтобы провести следующую операцию и не потерять точность, важно перед глазом иметь какие-либо ориентиры: нужно точно знать где начинается и заканчивается наша бочка, так как я делил цилиндр точно на 10 одинаковых отрезков, то достаточно контролировать высоту посредством нижней кромки. Для этого выхожу из Режима редактирования клавишей Tab и выравниваю цилиндр по кромке нажав на указатель позиции.
Далее входим опять в режим редактирования, выделяем 2 линии вертексов сверху и снизу (вместе с верхними стенками) с помощью клавиши В, а затем начинаем их масштабировать клавишей S. Сильно растягивать не надо - у меня где-то пол-клеточки, тут вобщем особого глазомера не надо:
Далее жмем кнопки S, Z и сравниваем нижний край по кромке - верхний крайсравняется автоматически. После нажимаем А, чтобы убрать все выделения. Затем клавишей В выделяем линии вертексов вверрху и внизу с которых начинается расширения бочки - у нас бочка ровная, нам это не нужно. Затем нажимаем S, Z и подтягиваем линии вертексов до тех пор, пока стороны бочки не будут ровны во всех местах, в итоге получим верхнюю и нижнюю крышки:
Но нам еще нужно получить 2 обода посередине. Для получения верхнего обода выделяем от центра бочки верхние 3 линии вертексов и нажимаем знакомую комбинацию клавиш S, Z и стягиваем их примерно до такого уровня
в нижними 3-мя линиями вертексов выполняем тоже самое и получаем вот такой результат:
Затем в верхней группе из 3 линий вертексов выделяем среднюю и немного растягиваем с помощью клавиши S, после тоже делаем и с нижней группой из 3-x линий вертексов:
Чтобы не потерять точность при дальнейших операциях: поделим кольцевые верхние и нижние кромки дна - переходим в режим линий, выделяем линии верхнего и нижнего кольца, жмем W и выбираем Subdivide, деля тем самым линии на двое.
Ту же операцию проводим и с нашими 2-мя кромками: выделяем вертикальные ряды линий образующие кромку, при этом не задевая горизонтальные, и тоже делим их методом Subdivide.
Теперь надо подкорректировать форму кромок: переходим в режим работы с вертексами, выделяем 2 линии вертексов, полученные при делении линий кромок, нажимаем S и стараемся вытянув вертексы, скруглить форму кромки:
То же проделываем и с нижней кромкой. Результат:
Теперь приступим к редактированию верхней и нижней крышек. 1) Верхняя крышка Переходим в вид сверху (кнопка 7 на цифровом блоке), выделяем вертексы посередине сверху и снизу, нажимаем Delete, в выпадающем списке выбираем Vertices и активируем ЛКМ.
Переходим в вид спереди (кнопка 1 на цифровом блоке), выделяем верхнюю линию вертексов, затем опять переходим в вид сверху (так будет легче контролировать результат), нажимаем клавишу Е, затем в меню выбираем Only Edges (только линии), активируем, затем сразу же нажимаем ЛКМ, чтобы разорвать привязку к мыши (иначе элементы будут тянуться за курсором мыши, а нам это не нужно), затем корректируем направление экструдии - нажимаем S и начинаем стягивать линии к центру, выравнивая по внутренней линии кольца.
Далее переходим в вид спереди, нажимаем Е и экструдируем линии вниз до уровня чуть ниже окончяния верхнего кольца, чтобы точнее проводить операцию нужно сразу разрывать связь с мышкой (ЛКМ), а затем с помощью стрелок указателей корректировать направление. Далее с помощью клавиши S чуток сужаем диаметр:
Продолжаем экструдировать: переходим в режим сверху, жмем Е и с помощью S стягиваем линии немного к центру
затем из вида спереди экструдируем линии вниз и с помощью S чуток стягиваем к центру, далее экструдируем линии вверх до того начального положения экструдированных вертикальных линий и с помощью S стягиваем немного к центру, получая при этом бороздку
далее преходим в вид сверху и экструдируем линии к центру, пока вертексы не соединятся в центре затем нажимаем W и выбираем Remove Doubles - тем самым мы удаляем 49 дублируемых вершин
2) Нижняя крышка У нас уже есть верхняя крышка и это - отлично, т.к. из нее будем делать нижнюю. Выделяем вершины, которые будем копировать, нажимаем SHIFT+D (копируем), поднимаем сетку вертексов вверх и нажимаем кнопочку окклюдера - нам сейчас понадобится.
Переходим в режим сверху и редактируем крышку без боязни зацепить всю остальную конструкцию бочки.Переходим в режим редактирования линий и выделяем все линии центрального круга. Затем нажимаем кнопку W и разбиваем поверхность методом Subdivide.
Затем выделяем линии кольца посередине и также разбиваем их Subdivide. Переходим в режим вертексов, выделяем кольцо вертексов, полученное в результате разбиения, растягиваем его с помощью S от центра к соседнему кольцу вертексов, а после стрелочкой указателя поднимаем кольцо вершин немного вверх:
По тому же не хитрому методу сделал еще небольшую впадину в середине
Все - осталось только крышку на место поставить. Для этого: выходим из опции окклюдера, переходим на вид спереди и отзеркаливаем все вертексы крышки - нажимаем кнопку М (Mirror или Зеркало) указываем по какой координате зеркалить - в данном случае по высоте (кнопка Z). При отзаркаливании в режиме редактирования обычно инвертируются нормали и полигоны выворачиваются на изнанку. Чтобы это исправить, предварительно выделив все отзеркаленные вертексы, нажимаем W и выбираем опцию Flip Normals. Далее удаляем ряду ненужных вертексов, дабы избежать долгого геморроя при стыковке. Вот эти ряды:
Далее опускаем крышку к дну и точнее стыкуем с тамошними вертексами, выделяем линию стыковки или все вершины (кнопка А) вызываем меню через W и нажимаем Removed Doubles, удаляется 50 вертексов и геометрия стыкуется.
Теперь осталось подготовить геометрию для использования модификатора Multiresolution. Для этого выделяем вертикальные ряды линий в 3-х местах, нажимаем W выбираем Subdivide Multi и выставляем значение 2. Затем в каждой из 3-х секций вытягиваем линии вертексов c помощью комбинации S, Z до вот такого положения:
Затем выделяем линии вертексов ни крышках снизу и сверху и подразделяем методом Subdivide.
После выделяем сверху центральное кольцо вертексов и тянем его от центра к краю, но не до конца:
Затем выделяем линии посередине нажимаем W и метод Subdivide Multi на 3.
Точно так же и с низу выделяем кольцо и тянем от центра к краю, но не до конца:
Затем выделяем вот эти линии и делим методом Subdivide.
Для чего делаются эти "танцы с бубном"? Чтобы Мультирес (Multiresolution) все подразделил и СГЛАДИЛ как нам нужно. Ну теперь пришло время и его добавить: идем в панель по окном 3д-вида находим кнопку Add Multires, нажимаеи на нее, выбираем метод Catmull-Clark (по умолчанию) и жмем два раза Add Level
Наша бочка заметно округлилась и прибавила в геометрии, но для снятия всех необходимых карт (да и для 3д-скуптуры) самое оно.
Дело осталось за малым - сделать пробки для верхней крышки. 1) Сделаем маленькую пробку. Выходим из режима редактирования клавишей Tab и создаем цилиндр на 20 граней (при создании отключаем Cap Ends). Уменьшаем его, перемещаем куда нам удобнее и входим в режим редактирования. Переходим в режим сбоку выделяем верхние вертексы, затем переходим в режим сверху и начинаем их экструдировать (клавиша Е) стягивая к центру где-то на четверть. Далее переходим в боковой режим и экструдируем вертексы немного вниз, переходим в режим сверху и экструдируе мертексы к центру, соединяя в одной точке - далее жмем W и выбираем Remove Doubles - удаляем лишние вертексы (должно удалиться 19).
Затем выходим из режима редактирования, копируем пробку (SHIFT+D) и перемещаем ее в сторону - на ее основе будем делать большую пробку. Далее возвращаемся к первой пробке, входим в режим редактирования и подгоняем ее под Мультирес: выделяем линии центра и верхние линии обода, а затем делим методом Subdivide. Затем нижнюю линию вертексов подтягиваем вверх. После выходим из режима редактирования, применяем Multiresolution на 2 левела - также как и с бочкой:
2) Сделаем большую пробку (не хочу делать по рефу - лучше что-нибудь свое, для большей практики). У нас есть копия маленькой пробки - с ней и будем работать. Выделяем вертекс посередине и удаляем: нажимаем Delete и выбираем Vertices. Затем выделяем внутреннее кольцо вертексов и нажимаем SHIFT+F - для того, чтобы замостить пустоту полигонами. В результате плоскость собирается из треугольников, но нам нужны квады для дальнейшей работы. Объединяем треугольники в квады клавишами ALT+J. Затем сами проконтролируйте, чтобы все треугольники попарно объеденились в квады - просто войдите в вид сверху:
Так все нормально. Далее входим в режим редактирования линий и удаляем вот эти линии. Чтобы выделить более 1 элемента (вертексов, линий или полигонов) зажимаем клавишу SHIFT и выделяем элементы на ПКМ. Далее в местах над образовавшейся пустотой выделяем по 2 вертекса с 2-х сторон и объединяем их в полигон клавишей F. Затем выделяем 4 вертекса вокруг соседней пустоты идущей вниз и также создаем новый полигон - с противоположной стороной поступаем также. Базовая форма получена.
И это все? Нифига - не все! Сделаем на крышке крутую каемку, чтоб не опростоволосится! Находясь в виде спереди выделяем ряд вертикальных линий внутренней и внешней стенки, далее делим их методом Subdivide. Затем на верху выделяем линии от центра и через одну - и удаляем их. Затем выделяем 4 вертекса в какой-нибудь из бороздок, нажимаем F и создаем там полигон. На оставшихся боковых стенках в бороздке - тоже создаем по полигону. Так для каждой бороздки - это не долго: у меня заняло промерно минуту. Так как бороздки не были изначально задуманы - пришлось импровизировать на ходу...
Затем выделяем два нижних кольца вертексов, чуток их сужаем по высоте клавишами S, Z. Затем немного расширяем клавишей S и поднимаем вверх.
Далее выделяем вертикальные линии наружного кольца и делим их методом Subdivide Multi выставив 2. Затем выделяем два новообразованных кольца вертексов и растягиваем их с помощью S, Z. Затем выделяем горизонтальные линии двух новообразованных колец и делим методом Subdivide Multi на 4. После выделяем вот эти линии сверху и снизу новообразованных полигонов и немного растянем их от центра через клавишу S.
Далее выделяем самый нижний ряд вертексов, экструдируем их клавишей Е, а затем с помощью S немного растягиваем от центра. Далее экструдируем линии немного вниз. После выделяем 2 группы вертексов сверху и делим методом Subdivide. Далее переходим в вид сверху, выделяем линии центра и перегородки - делим их Subdivide Multi со значением 4.
Осталась самая малость. Переходим в вид спереди, выделяем вертикальные внешние линии крышки и методом Subdivide Multi делим на 4. Осталось только добавить Мультирес. Жмем на Add Multires и на Add level жмем 2 раза. Крышка готова.
Осталось только все собрать воедино. Берем наши крышки и одеваем на бочку. Масштаб крышек можно чуток уменьшить с помощью S, ну и большую крышку я чуток сплюснул комбинацией S, Z. Вот что получилось:
Этап II. Ретопология модели (создание лоу-поли)
На данном этапе мы будем делать геометрию низкополигональной модели, для непосредственной ее интеграции в движок. Тут уж есть варианты на выбор - нужно по движку смотреть. Для кого-то - 500-600 трисов ни почем, а кто-то (не будем показывать пальцем) и от 300 уже загинается. В принципе можно сделать бюджетную модельку - просто цилиндр (всего лишь 92 триса), но мы будем делать модельку среднего достатка (на 270 трисов), чтоб труд наш зря не пропадал. Итак, открываем нашу уже сделанную и настроенную хай-поли модель и рядом с ней создаем 24-х гранный цилиндр. Затем переходим в вид сверху - теперь нам нужно четко выставить центр только что сделанного цилиндра к центру хай-поли модели бочки. Переходим в режим Wareframe клавишей Z или жмем на соответствующий значок внизу окна 3д-вида, чтобы точнее выставить координаты нашего цилиндра. Для этого входим в режим редактирования нашего нового цилиндра настраиваем его центр по центру бочки.
Далее, от вида спереди, меняем режим отображения сетки на Solid нажав клавишу Z. Затем выделив все вертексы цилиндра (кнопка А), растягиваем его клавишей масштабирования S, до тех пор, пока он полностью не покроет стороны хай-поли бочки, но не более - как только закроет стороны, дальше растягивать не нужно. Далее выровняйте вырхнее и нижнее дно цилиндра по донышкам бочки:
Основную форму покрыли и это - главное. Теперь удаляем вертексы в центрах донышек нашего цилиндра - больше они не понадобятся. Затем выделяем верхнее кольцо вертексов и переходим в вид сверху, после чего экструдируем вертексы клавишей Е и нажимаем ПКМ, чтоб разорвать связь с мышкой. Далее с помощью клавиши S и мыши начинаем стягивать кольцо вертексов немного к центру, пока полигоны не закроют верхнюю кромку бочки. Затем экструдируем вертексы и тянем их вниз до основания крышки,немножко стягиваем к центру с помощью S (воизбежание артефактов и ошибок при запекании текстур) и там с помощью SHIFT+F соединяем их, образуя новые полигоны.Потом делаем ретопологию большой пробки. Тут особо объяснять нечего: создаем новый 12-ти гранный цилиндр в режиме редактирования, отцентровать по центру большой пробки, удалить центральный вертексы, верхние вертексы объеденить создав новые с помощью SHIFT+F и подкорректировать высоту по хай-поли. Но у нас еще и маленькая пробка,что ее разве тоже геометрией делать? Да щазз! Пусчай отсекается как амеба - мы ее схалтурим, чтоб вложиться в бюджет геометрии. Для этого создадим обычный плейн и подгоним под размер маленькой пробки, и опустим этот плейн до уровня верхушки пробки:
С верхом закончили - перейдем к дну, тем более, что у на уже есть хорошие ориентиры. Выделяем вертексы сверху: на кромках и крышке, а затем копируем их комбинацией SHIFT+D, отзеркаливаем клавишей М по оси Z (M, Z). Чтобы вернуть нормали полигонов в прежнее положение жмем W и Flip Normals, а затем копию крышки подтягивем на место где будет дно и соединяем вертесы, удалением лишних с помощью клавиши W и Remove Doubles. Далее чуток подтягиваем центральнуе полигоны нидней крушки, чтоб они закрывали собой хай-поли. Далее создаем плейн, корректируем его под размеры выступа, который не закрыло наше дно, флипим плейн выворацивая полигоны на изнанку (кнопка W и Flip Normals), и затем подгоняем, так, что бы этот плейн прикрывал наш выступ.
Наша лоу-поли модель готова, но в дальнейшем ее еще ждет оптимизация.
Сообщение отредактировал Hanzo - Сб, 15 Окт 2011, 20:33
Этап III. Подготовка текстурной развертки для лоу-поли (использование швов развертки и настройка расположения ее островков)
Итак, продолжим. Сначала создадим швы развертки, по которым будет "выкраиваться" текстура нашей модели. Зайдем в режим редактирования лоу-поли модельки (клавиша Tab), затем перейдем в режим редактирования линий и теперь будем выделять линии разреза текстурной развертки, стараясь создавать островки с минимальными текстурными искажениями. Сперва выделим линии образующие развернутый цилиндр и нажмем комбинацию клавиш CTRL+E выбрав в меню опцию Mark Seam (Обозначить место шва), после чего вы увидите, что наши линии выделились густым оранжевым оттенком - первый островок готов. Затем также выделите линии кромки и внутреннего кольца и опять примените к ним Mark Seam. Такие же операции проделайте с большой пробкой и дном бочки:
Теперь создадим на нашей лоу-поли модели текстурный слой - жмем F9 и заходим в меню редактирования (сначала открытое по умолчанию), там находим вкладку Mesh, и в ней напротив UV Texture нажимаем кнопку New:
Все - текстурный слой создан. Для удобства работы с разверткой и одновременного доступа к опциям, модификаторам и прочему я обычно делю нижнюю панель на двое: жму на разделяющую линию между опциями и окном 3д-вида ПКМ, выбираю Split Area (деление площади) и указываю линией где разделить:
Затем корректирую размер кнопок в окнах как мне удобно: удерживаю курсор мышки на нужном окне и зажав CTRL подкручиваю колесико мыши, настраивая интерфейс. Далее настраиваем окошко для работы с текстурой: нажимаю на крайнюю левую пиктограмму в любом из 2х полученных окошек и выставляю там окошко редактирования текстуры - UV/Image Editor (в принципе тем и хорош интерфейс Блендера, что абсолютно любой может создать свою индивидуальную рабочую обстановку):
Теперь можно глянуть на развертку: Заходим в режим редактирования, выделяем все полигоны модели (кнопка А), наводим мышку на окно развертки жмем Е и Unwrap:
Мдаа... Походу дела получилось ЧТО-ТО довольно кривое... Я сейчас выделю островки цветом и покажу, чтобы понятнее было, где у нас что расположено:
1 - тело бочки или ее внешние стенки
2 - нижняя кромка
3 - верхняя кромка
4 - нижняя внутренняя стенка
5 - верхняя внутренняя стенка
6 - верхняя крышка бочки
7 - нижняя крышка бочки
8 - маленькая пробка
9 - выступ нижней крышки
10 - боковая стенка и верх большой крышки
Ну вроде разобрали наши запчасти, но качество самой развертки оставляет желать лучшего - кривая, да и раскидана как попало. Надо это исправить. Входим в режим редактирования, в панели редактирования находим вкладку UV Calculation и вместо Angle Based выставляем Conformal как метод анврапа. Посмотрим что получится:
Все выровнялось почти как положено. Почему почти? Да потому, что хорошую и действительно "продуманную" развертку ни один 3д-редактор за вас не сделает - он выровнял все островки, распределил их - работу свою сделал. Теперь дело за нашими руками. Создадим новую текстуру и наложим на нее "тестовые клеточки". В окне для текстурирования выберем вкладку Image, далее жмем "New..." а в следующем меню вам предложат выбрать разрешение по вертикали и горизонтали (оставим как есть - 1024х1024 пикс), выставить альфа-канал, а также добавить тестовую сетку UV Test Grid, активируем ее и жмем ОК. Сетка сразу добавляется в окно текстурирования:
Если по каким либо причинам надо убрать "тестовую сетку" или уменьшить/увеличить разрешение текстуры - в окне текстурирования жмем N, затем появляется окошко Image Properties, где все и выставляется:
Подготовительная стадия работы с текстурными островками. Сначала нужно убрать наши островки из основного поля, в котором непосредственно будет проводиться их редактирование и расположение. В Блендере версии 2.49b (не знаю как в других, с ними не работал) перетаскивание каких-либо объектов может происходить не захватом (т.е. удержанием ЛКМ), а какбы подцеплением объекта (как рыбку на удочку) - вы зажимаете ЛКМ, чуть-чуть ведете мышку в сторону, отпускаете ЛКМ и при этом вы уже получаете полный контроль с привязкой к мыши - т.е. куда поведете мышь туда и будет двигаться объект. Когда вы поставите его на нужное вам места - просто нажмите ЛКМ еще раз - все удобство заключается в том, что не нужно постоянно держать палец на кнопке: 2 щелчка и все готово. Выделяем всю развертку кнопкой А, затем "подцепляем" ее мышкой и уносим за рабочее поле, где и оставляем:
Приступим к настройке самой развертки. Подвох заключается в том, что геометрия лоу-поли модели, которую мы свами сделали - не есть окончательный вариант, а дополнительные полигоны там имеются всего лишь для качественного снятия карт. На ниже приведенной картинке: слева - модель которая есть сейчас, справа - которая будет в финале:
Вернемся к развертке. В данном конкретном случае меня не устраивает площадь островка внешней стенки бочки (и это сразу бросается в глаза) - слишком не экономен и для своего размера мало места занимает, а в идиале должен простираться от одного конца развертки до другого, - для того чтобы повысилась четкость и не было проблем с продольным швом. Исправим это: заходим в режим редактирования нашей лоу-поли модели, устанавливаем режим работы с полигонами и с помощью клавиши В выделяем все полигоны внешней стороны бочки. Затем заходим в окно текстурирования и анврапим выделенную часть (E, а затем Unwrap) - по этой части мы теперь и будем ориентировать все размеры остальных островков, дабы добиться пропорциональности в текстурировании с более-менее однородной детализацией.
Затем возьмемся за нижнюю и верхнюю крышки бочки - в частности за кромки и донышки. Выделяем нужные нам полигоны: входим в вид сбоку и выделяем полигоны - крышек, кромок, маленькой пробки и выступа нижнего дна. Затем переходим в вид сверху и как бы фотографируем развертку из окна 3-д вида - жмем U и выбираем Project From View, получаем вот такие склеенные между собой островки. Затем наводи мышку на окно 3д-вида, нажимаем 2 раза А чтобы выделить все полигоны модели, затем в окне текстурирования выделяем наши крышки клавишей В и немного разворачиваем клавишей R - разворачиваем так, чтобы убрать нижний угол и получить прямую линию у основания - эта линия будет ориентиром при масштабировании.
Далее отмасштабируем эти крышки, а масштабировать будем по развертке внешней стороны бочки. И так, устанавливаем наши крышки так, чтобы нижний край крышек оказался между 2-мя линиями любого из полигонов внешней стороны бочки. Затем с помощью клавиши S отмасштабируем крышки так, чтобы вертексы основания крышек четко соединились с линиями внешней стороны бочки.
Теперь крышки отмасштабированы как положено и мы их поднимаем выше, чтобы они ни с чем не соприкасались. Далее выделяем и масштабируем островки внутренних крышек вместе с плоскостями (выпуклость дна и маленькая пробка) - для того, чтоб не выделять все вертексы в ручную в панели окна текстурирования есть кнопки смены объектов редактирования (все режимы показаны на рисунке):
Выставляем "режим островков" и зажав SHIFT выделяем ПКМ 4 островка: 2 квадрата и 2 окружности в центре. Затем растягиваем их от центра клавишей S, оставляя небольшой зазор между ними и островками кромок. Теперь нам нужно разделить верхнюю крышку от нижней: для этого сначала снимаем выделения с крышек (кнопка А), затем переходим в режим 3д-вида, выделяем полигоны верхней крышки, а в окошке текстурирования кнопкой В выделяем островки нашей крышки и сдвигаем в сторону от прежнего места, затем направляем мышь в окно 3д-вида и выделяем все полигоны на модели. После в окне текстурирования подтягиваем островки обоих крышек в верхний левый угол и располагаем их рядом:
Теперь возьмемся за узкие внутренние стенки верхней и нижней крышки - уже сразу становится ясно, что текущая развертка нас не устраивает ввиду дальнейшей оптимизации модели. Так что же делать? Чего-нибудь придумаем, голова-то нам на что! Выделяем полигоны верхней и нижней внутренних стенок переходим в вид спереди и ... разворачиваем их как обычные цилиндры - жмем U и выбираем Cylinder From View. В итоге получаем развертку из 2 узких отдельных цилиндров. Далее снимаем с них выделение (кнопка А), а затем клавишей В выделяем нижний и накладываем точно на верхний - полигон к полигону, линия к линии. Если какой-то островок по высоте немного больше, стягиваем его вертексы к месту расположения другого островка, чтобы они были более-менее одинаковы. А потом выделив 2 островка поднимаем их немного выше поля редактирования. Затем активируем все полигоны на модели, и настраиваем масштаб островков относительно внутреннего кольца верхней или нижней кромки крышки, регулируя масштаб кнопкой S. После того, как отрегулировали нам нужно уменьшить высоту островков комбинацией клавиш S, Y. Нам нужен ориентир и для этого хорошо подойдут разноцветные крестики и черно-белые клетки на тестовой развертке, которые должны быть равномерны. После нужно еще немного уменьшить и ширину клавишами S, X.
Далее нам нужно отделить нижнюю внутреннюю стенку от верхней. Для этого выделите островок нижней стенки и перенесите его в нижний край развертки под островок внешней стенки бочки, чтобы уровни их начала и конца совпадали. Затем выделите островки внешней стенки и оба островка внутренних стенок и подымите вверх, чтобы от низа поля остался отступ равный по высоте островку внутренней стенки (можно чуть больше). Теперь осталась островки большой пробки. На пробке довольно мелкие элементы, и чтобы они смотрелись не сильно размазано, допустимо увеличение масштаба ее островков в 1,5 - 2 раза больше по отношению к масштабу островков самой бочки. Выделяем оба островка большой пробки и после увеличения с помощью клавиши S, располагаем островки так, чтобы сэкономить место на развертке:
Этап IV. Бейкинг текстур (запекание карт Ambient Occlusion и Normal map)
Итак, начнем. Теперь главное - не бояться возможных ошибок расчета. А они будут.... а может и не будут - как повезет. Настраиваем рабочую область - составляем ее из 3 окон: окно 3д-вида, окно текстурирования и окно настроек. В окне текстурирования выставляем разрешение 2048 х 2048 - с таким разрешением точность запекаемых карт будет намного выше, а и по текстуре с таким разрешением рисовать гораздо удобнее. В окне настроек откроем вкладку Scene(Сцена) клавишей F10 или нажмем на ее значке. В свою очередь во вкладке Scene активируем пункт Bake(Запекание):
Теперь выделяем те части, которые будем запекать - лучше и удобнее это делать в Wareframe режиме: сначала выделяем те части которые будем запекать (хай-поли модель бочки и 2 пробки) - удерживая SHIFT и нажимая ПКМ на элементах. Затем уже выделяем ту модель, в которую будем запекать (лоу-поли бочка) и нажимаем Tab - входим в режим редактирования модели и смотрим в окно текстурирования - если развертка появилась, то все нормально. Теперь можно выходить из режима редактирования. Далее переходим в окно настроек и жмем F5 или на вкладку Shading (Затенение). Далее активируем ее подпункт World buttons в панели значков рядом. В подпункте выбираем пункт Amb Occ (Ambient Occlusion) и выставляем метод расчета как Raytrace (построение освещения методом трассировки лучей) а рядом напротив в колонке Samples (Проход) выставляем качество трассировки - обычно 10 или 15 проходов (но надо учитывать то, что чем лучше качество, тем дольше просчет запекания) Возвращаемся во вкладку Scene >> пункт Bake. Здесь выставляем метод запекания - Ambient Occlusion, далее активируем кнопку Selected to Active (это обозначает, что запекание в текстуру будет проходить именно с объектов хай-поли, и не позволит лоу-поли запекать саму себя), затем активируем кнопку Normalized (нормализировать расчет согласно материалу) и жмем заветную кнопку BAKE:
Прошло некоторое время и мы получаем вот такую текстуру:
Теперь нам нужно ее сохранить. В окне текстурирования нажимаем вкладку Image, далее жмем Save As... , далее нажимаем на двунаправленную стрелочку и выбираем один из своих логических дисков для дальнейшего сохранения файла. Скажу сразу, что кирилица распознается 3д-пакетом как набор непонятных символов. Потом в строку с надписью Untitled вбиваем свое название, которое будет именовать нашу запеченную текстуру. Назовем ее, например, - bochka_ao и нажмем Save Image:
Текстура сохраняется в выбранной директории по умолчанию в формате изображения TGA. Далее будем запекать нормали из пространства тангентов: в панели Bake выставляем Normals, а в панели расположенной пониже слева указываем способ просчета нормалей - в нашем случае это Tangent, затем жмем BAKE:
Через некоторое время получаем вот такую текстуру:
Сохраняем ее как и предыдущую под любым именем, например, bochka_norm. К сожалению, без ошибок не обошлось, и маленькая пробка не отрендерилась на бочке. Но мы знаем, что если проблему нельзя решить напрямую, то ее всегда можно.... обмануть. Да, именно так. Что для этого надо: сначала сохранитесь (вообще я сохраняюсь довольно часто, видимо привычка), затем войдите в режим редактирования и удалите все полигоны на лоу-поли модели кроме квадрата, на который рендерилась маленькая пробка. Теперь мы будем рендерить только эту пробку и запекать с ней АО и нормал - это будет на порядок быстрее, чем было до этого, когда развертка пеклась полностью. Единственное, что стоит отметить - нужно выставить параметр Margin на 0 (дефолтно он стоит на 2). Для чего вообще этот Margin? Этот инструмент дублирует пиксели краев у островков на развертке, дабы избежать глюков со швами (проступающая черная полоса на стыках). Ну собственно выставляем и запекаем:
Сохраняем обе карты где и как вам удобно, чтоб потом легче было разобраться. Дальше возвращаем лоу-поли модель в исходное состояние и отлаживаем 3д-редактор в сторону - теперь пришла пора порисовать!
Этап V. Редактирование полученных карт (восстанавливаем карты Ambient Occlusion и Normal map).
Далее будем работать с Пеинт-Нетом. Берем полученные текстуры (а их у нас аж 4 штуки) и закидываем в программу для редактирования растровых изображений Paint.NET (русской версии) - чтобы это сделать побыстрее я выделяю сразу все 4 текстуры, а потом перетаскиваю на иконку программы, которая расположена на Рабочем столе (главное не промахнуться =)) и жду их полного импорта. Похоже все импортнулись. Вот на что, условно можно поделить рабочее поле редактора Paint.NET:
Ничего лишнего и все что нужно для работы. Выбираем в панели импортированных изображений текстуру маленькой пробки с запеченным AO (черно-белая тестура), затем в панели инструментов активируем инструмент "Волшебная палочка", выставляем параметр чувствительности на 70% и нажимаем указателем на светлый край текстурного островка маленькой пробки. Должен выделиться весь островок, но если некоторые точки остались не выделенными увеличьте немного параметр чувствительности и повторите выделение снова. Когда выделите весь островок, скопируйте его клавишами CTRL+C. Затем выберите текстуру бочки с запеченным AO и вставьте скопированный элемент клавишами CTRL+V - теперь пробка как будто там и была - ошибку запекания мы исправили:
Далее, если меня не устраивают какие-либо перетемненные участки на текстуре - я их выделяю с помощью инструмента "Волшебная палочка" играясь с параметром чувствительности, а затем выделив все что мне нужно с помощью ПКМ и зажатой клавиши CTRL (внутренние обода верхней и нижней крышки, углубление на верху большой пробки и верхние углубления на боковой стороне большой пробки) захожу в панель настроек, выбираю там там пункт "Коррекция", затем "Оттенок и насыщенность..." и чуток увеличиваю параметр "Освещенность" до +20 единиц. Вроде как более-менее стало. Можно сохранять карту AO - она отредактирована и готова, хотя не исключено, что при дальнейшем ее использовании для получения диффузной текстуры, она будет опять редактироваться:
Затем находим текстуру Normal Map (синяя текстура) маленькой пробки и с помощью инструмента "Волшебная палочка" аналогичным способом копируем и вставляем островок с пробкой на текстуру Normal Map бочки:
Теперь все как положено, осталось отредактировать некоторые элементы. Что бы рассмотреть все косяки я специально перевожу цветную нормал мапу в черно-белый цвет: выбираю в настройках "Коррекция" и "Сделать черно-белым", так как он более адекватно все покажет. Косяки не заставили себя долго ждать и сразу проступили. Из основных косяков, которые по-любому будут бросаться в глаза в финальной версии стоит выделить, то что внешняя и внутренние стороны побиты вертикальными линиями ровно на 24 части - количество граней нашего низкополигонального цилиндра:
В итоге в игре такая карта нормалей не будет показывать гладкость сторон, а наоборот усугубит положение и мы будем явно видеть природу низкополигональной модели, даже если ее полигоны будут со сглаживанием. Исправим эти 3 островка следующим методом: возвращаем нашей нормал мапе синий цвет, выделим крайний вертикальный ряд пикселей, где будет составлять - количество пикселей высоты островка, а в длинну всего 1 пиксель, затем захватим и растянем от 1 конца до другого. В итоге получаем корректный результат:
Альтернативный вариант получения карт нормалей для движка Unity 3, учитывая особенности формата DXTnm. А теперь главный, как принято сейчас выражаться, "ЭПИК ФЕЙЛ": на движке Unity 3D версии начиная с 3.х.х карты нормалей не будут корректно отображаться ввиду особенностей ново введенного формата DTXnm. То есть ту карту, что мы запекли движок не принимает такую как она есть, он конвертирует ее под себя, в результате чего он может: - инвертировать некоторые участки текстуры и там, где у вас были впадины появятся выпуклости - просчитать зоны динамических переходов освещения\затенения на текстуре некорректно и потом наблюдаются очень неприятные моменты. Известно так же, что новый формат корректно определяет исходное изображение нормал мапы из черно-белого изображения карты высот, а не из цветного, о чем и написано в переведенном гайде http://docs.unity3d.ru/Manual/HOWTO-bumpmap.html Вручную, как написано в гайде, мы рисовать конечно не будем. После запечения двух карт АО (бочка и маленькая пробка) мы запечем еше одну карту с АО и на этот раз только верхней крышки без маленькой и большой пробок. Хай-поли пробки опустим вниз, из полигонов на лоу-поли оставим крышку с кромками и внутренними стенками и запечем карту АО:
Далее берем и закидываем в Паинт-нет 3 текстуры: готовая текстура АО, текстура с маленькой пробкой АО и только что запеченная текстура верхней крышки. Сначала выделяем "чистую" верхнюю крышку, копируем и переносим на готовую объединенную текстуру АО. Далее на текстуре маленькой пробки обрезаем окружающее пространство выставив чувствительность "Волшебной палочки" на 50%. Затем выделяем окружность с маленькой пробкой и копируем. Потом создаем новый слой на текстуре уже с новой крышкой и вставляем пробку поверх нее:
Далее будем редактировать некорректные элементы - в данном случае впадины и выпуклости. Сначала отредактируем маленькую пробку на крышке, а точнее ямку внутри. Выбираем "Волшебную палочку", выставляем чувствительность 35-38% и жмем в центр маленькой пробки - то, что выделилось удаляем клавишей Delete. Затем выбираем инструмент "Заливка", в панели цвета выставляем красный цвет и заливаем только что удаленный фрагмент их центра пробки:
Почему именно красным цветом? Да можно в принципе любым, главное чтоб диапазон цветовой гаммы не совпадал с исходной черно-белой текстурой. На случай, если впадины нам покажутся сильно глубокими или наоборот, мы в любой момент сможем открыть текстуру и долго не мучаясь, их подкорректировать. Если же мы закрасим впадины градациями серого цвета, то неизбежно будем мучиться при редактировании, а потом еще и потеряем точность, задев соседние пиксели. Далее нас интересует большая пробка стой же проблемой - внутренняя выемка, состоящая из 2 полукругов не однородна в своем затемнении, а значит это будет не впадина, как предполагалось, а "что-то с чем-то вперемешку". Поэтому с помощью "Волшебной палочки" выделяем эти 2 полукруга регулируя чувствительность, удаляем их и заливаем красным цветом:
Осталось всего пара элементов. Займемся боковой стороной крышки: выбираем инструмент "Выбор прямоугольной области" затем выделяем и копируем вот эту область.
Затем вставляем ее из буфера, а после, с помощью инструмента "Перемещение выделенной области", тянем верхний ползунок этого кусочка вниз, как бы выворачивая его на изнанку, так чтобы он занимал прежний размер. Далее подтягиваем полученный отрезок вверх на место его затемненной копии:
Теперь рисуем инструментом "Карандаш" маленькое поле - 7 пикселей в длину и 1 в высоту: 1 и 7 пиксели - серые, 2 и 6 - светлее, а 3,4 и 5 - почти белые. А потом, с помощью инструмента "Перемещение выделенной области" растягиваем.
Затем копируем полученный фрагмент и подгоняем его, образуя перегородку на боковине большой пробки. Такие же перегородки расставляем и в остальных местах:
Далее будем работать в программе Photo Filtre Studio для окончательной дорихтовки. Для начала подредактируем островок боковины большой пробки: выбираем инструмент "Смазывание" и выставляем его на режим "Точный" и смазываем стыки на текстуре. А затем с помощью этого же инструмента смазываем цветовые переходы перегородок:
Геморройно конечно, но результат должен вполне устраивать. Сравним?
Так-так, посмотрим. Модель справа - это модель со стандартным норма-маппингом, а слева - модель сделанная из АО карты специально для Юнити. Разрешение текстур 1024х1024. Рассмотрим ошибки.
Обыкновенная нормал-мапа:
1 - выступающие обода вывернулись наизнанку
2 - некорректное затенение на стыке крышки и внутренней стенки
3 - неккоректное отображение маленькой пробки
4 - впадины обладают менее плавным переходом и большей ступенчатостью
5 - на большой пробке вообще не понятно как нормали работают
6 - борт верхней крышки практически не виден Нормал мапа из АО:
7 - на текстуре проступает шум - и это пожалуй единственный недостаток. Подавить его можно в графических редакторах настройками "размытие по Гаусу" либо "Мягкостью".
Сообщение отредактировал Hanzo - Сб, 29 Окт 2011, 23:12
Этап VI. Создание диффузной текстуры (от подборки материала до проработки деталей)
Все текстуры для работы беру с различных сайтов, но в основном с "mayang" или "CG Textures". Главное - это подобрать текстуру с более-менее однородной поверхностью без засветов и пересветов. Взял вот такую вот текстуру разрешения 2560х1920 и отправил в Пиант-Нет:
Далее будем редактировать ее до последующего затайливания. Видно, что на ней есть надписи, вдавленные полоски и прочий ширпотреб, который нам вообще не нужен - будем их обрезать. Если мы будем перемещать курсор мышки на области с картинкой, можно заметить что цифры в нижнем правом углу изменяются: первая строка цифр - это координаты ширины изображения, вторая строка цифр - это координаты высоты изображения. Нам нужно полностью срезать место ограничивающее все то, что нам не понадобится. Резать будем по высоте, а следовательно наведем курсор на место предполагаемого среза и посмотрим на цифровую строку координат ширины изображения и запомним ее значение - у меня например это 1430. Затем заходим в верхнее поле настроек изображения и выбираем там пункт "Изображение" и далее "Размер полотна...". В пункте "Размер полотна..." выставляем в значении "Высота" цифры которые запомнили на координатах, в данном случае 1430, а в значении "Ширина" выставляем цифры равные ширине нашей базовой текстуры АО - 2048 и жмем ОК и сохраняем в формат PNG. Смотрим результат:
Далее нам нужно затайлить текстуру - для этого я использую PixPlant2. Организация рабочего пространства в нем более чем удобная: главное окно поделено на 2 поля, которые мы переключаем с помощью вкладок: 1 поле - Texture - область редактирования и тайлинга текстур 2 поле - 3D Material - область получения и настройки набора текстур составляющих материал (диффуз, нормал, спек и т.д.) Нас интересует только 1-е поле для редактирования и тайлинга текстур. На него перетаскиваем мышкой нашу текстуру. Далее в соседнем малом окошке Seed Image жмем кнопку Add (Добавить) и выбираем там Add Seed from Texture Canvas. Внизу в окошке Tiling (тайлинг) выставляем значение Horisontal (горизонтальное повторение текстуры) и жмем Generate (Генерировать). Генерировать можно пока не надоест.
Затем сохраняем полученный фаил: File >> Save Texture...>>> даем имя и сохраняем по дефолту в PNG. Теперь нам нужна еще одна текстура металла для маленькой и большой пробок - подойдет обычный серый металл. Нашел вот такой металл, разрешение 800х600:
Возвращаемся к Паинт-Нету. Перетаскиваем туда полученный таил, а также текстуру АО и текстуру серого металла. Перво-наперво настроим наш таил на нужный нам цвет Допустим это будет холодный синий. В панели слоев выбираем "Добавить новый слой..." и создаем новый слой для изображения. Затем в панели инструментов выбираеем "Заливку", а в панели цвета приблизительный оттенок. Далее в цветовой палитре активируем вкладку "Больше", изменяем интенсивность альфа-канала прозрачности и заливаем слой итоговым оттенком:
Если вы хотите сделать темнее или светлее заливку, это можно отрегулировать в пункте "Коррекция" в вкладках "Оттенок и насыщенность..." либо "Яркость и контрастность...". Далее объединяем слои кнопкой "Объеденить со следующим слоем", затем выделяем итоговое изображение CTRL+A и копируем в буфер CTRL+C. Далее создаем новый слой на текстуре АО, вставляем недавно отредактированный таил клавишами CTRL+V и подгоняем его до уровня чуть выше верхней внутренней стенки бочки. Затем в настройках слоя выбираем пункт "Свойства слоя...", выбираем режим смешивания "Умножение" и жмем ОК. В итоге мы умножаем черно-белый цвет АО карты и холоднай синий цвет материала:
Очень важно знать, что пока слои не объединены их можно свободно редактировать по отдельности. Доститочно просто активировать нужный слой. Вы можете вырезать, рисовать и применять эффекты к активному слою без опасности задеть другой слой. Слои делятся на: основной "Фон" - это начальное изображение и второстепенный "Слой 2 (3,4,.... и т.д.)" Основной слой в данном случае - это карта АО, второстепенный - материал синего металла. Рядом с ними стоят галочки, которые отключают или включают их видимость:
Так вот, активируем основной слой "Фон" и с помощью панели инструментов выделяем элементы: - маленькую пробку выделяем с помощью "Выбор области овальной формы". Тут нужна определенная сноровка для точного выделения - нужно представить что сам круг, который мы выделяем вписан в квадрат. Чтобы точно выделить окружность нужно начать с верхнего угла мнимого квадрата провести удерживая клавишу мыши окружность, остановив курсор в нижнем противоположном углу квадрата, следя за точностью охвата поверхности: - боковую сторону большой пробки выделяем обычным прямоугольным выделением, зажав CTRL, что бы не сбросить предыдущее выделение малой пробки:
- верхнюю сторону большой пробки выделяем "Волшебной палочкой" играя с чувствительностью, опять же зажав CTRL:
И так мы выделили все 3 островка, у которых будет совсем другой материал. Теперь копируем их CTRL+C и выбираем в панели изображения материал серого металла. Назначаем изображению серого металла размер 2048х2048 (по размеру изображения АО) и добавляем новый слой. На новый слой вставляем наши пробки клавишами CTRL+V. Далее в настройках слоя перемещаем "Фон" вверх (он закроет собой часть островков) и в свойствах слоя указываем режим "Умножения" - в результате пробки проступят сквозь материал. Далее клавишами CTRL+A выделяем изображение металла и инструментом "Перемещение выделенной области" сдвигаем изображение так, чтобы оно не закрывало нижний слой, на котором расположены пробки:
Затем из куска изображения копирую и вставляю нужные мне куски текстуры:
Далее выбираем слой с пробками АО и на свой вкус рихтуем их: осветляем,добавляем четкости и т.д., если вы видете, что стоит что-то подправить. Затем заливаем слой с пробками черным цветом, выбираем верхний слой металла и объединяем слои:
Пробки можно пока отложить - доделаем бочку. Возвращаемся к изображению бочки и выбираем слой с синим таилом, далее копируем его, вставляем и тянем вверх, закрывая верхние крышки и пробки (эти пробки нам не понадобятся, т.к. мы уже сделали другие)
Далее опять же редактируем слои, если нужно. Затем объединяем слои и снова создаем новый слой. Переходим к пробкам. С помощью "Волшебной палочки" с чувствительностью 1 % вырезаем черный фон вокруг островков:
Затем выделяем все изображение CTRL+A и копируем его. Возвращаемся к текстуре бочки и вставляем пробки в новый слой. Получаем вот такую текстуру:
Объединяем слои и сохраняем текстуру в формат PNG.
Теперь можно добавить на бочку, например, предупреждающую окраску или наклейку. Сказано - сделано. Будем готовить маску для наклейки. Открываем Паинт-Нет и закидываем туда нашу готовую текстуру бочки - будем по ней ориентироваться. Далее выделяем прямоугольную область на нашей бочке где будет находиться наклейка смотрим вниз и читаем цифры "Размер прямоугольника" - у меня допустим 291х241, но я сокращу до 240 и буду использовать для создания нового изображения:
Далее создаем новое изображение разрешением 256х240: нажимаем "Файл", далее "Создать", выставляем - ширину 256 и высоту 240, жмем ОК. Теперь нам нужен инструмент "Карандаш" с черным цветом для разметки и внимательность при измерениях. Ставим в левом верхнем углу точку на координатах широта 0 и высота 0, теперь перемещайте мышку вправо и ставим на координатах ширина 40 и высота 0. теперь идем в самый низ - ставим точку на координате ширины 140 и высоты 239 и еще одну ставим на координатах ширины 180 и высоты 239. Как-то криво Паинт рулит координатами, ну да ладно. Затем проводим 2 параллельные линии с помощью инструмента "Линия или Кривая":
Заливаем пространство посредине линий черным цветом регулируя чувствительность так, чтобы закрасилось абсолютно все кроме белого фона (у меня это варьировалось от 89% до 92%). Затем делим расстояние от первой отмеченной точки до самой дольней на двое 180/2 = 90. Находим на черной линии точки 90 и соседнюю 91 и ведем от них вниз карандашом 2 небольшие красные линии - ориентиры:
Это нужно для точности деления, которое будем делать дальше. Далее прямоугольной областью как-бы разрезаем линию на половину и красные черточки тоже вертикально делим на половину, но вертикальный срез ведем не до конца. Затем капируем выделенную область, создаем новый слой и вставляем в него. Затем тянем в самый конец правой стороны текстуры и устанавливаем как на рисунке:
Далее активируем основной слой с линией, выделяем правую половину линии копируем ее, вставляем в новый слой и тянем до конца влево и в свойствах слоя ставим режим "Умножение":
Осталось только выровнять среднюю линию по центру. Выбираем основной слой, выделяем все CTRL+A и регудируем инструментом перемещения ставя центральную черную линию по центру. Затем объединяем слои, и заливаем черной заливкой красные полосы ориентиров и альфу белого фона, образовавшуюся в результате смещения:
Осталось совсем немного и маска будет готова. Теперь ним надо дотянуть этот "узор" до разрешения в 2048 по ширине. Выделяем все и копируем, затем ставим в "Размер полотна" ширину 512, вставляем скопированный кусок и аккуратно стыкуем рядом. Затем опять выделяем все и копируем, указываем ширину 1024... и т.д. до 2048. Вот, что получилось:
Тепеть сделаем окантовку из горизонтальных полос. Выбираем инструмент "Прямоугольник" сверху выставляем "Сплошная фигура" и с помошью него добавляем вверх и вниз горизонтальную линию. Все, наша маска готова:
Сохраним маску отдельно, так как ее можно использовать не только для бочек и в будущем она сможет нам еще пригодиться. Теперь будем искать для нашей маски материалы.
Нашел вот такой материал крашенного пластика:
Поверхность, конечно, не сильно однородна, но в данном случае это и не надо. Далее сокращаем ширину текстуры до 2048, сохраняем в формат PNG и отправляем в PixPlant 2, где тайлим ее по горизонтали. Полученный таил закидываем в Паинт-Нет вместе с текстурой маски. Сначала отредактируем текстуру маски. Так как у нас будут полосы предупреждающих линий сверху и снизу бочки, сделаем их дубликат. Полностью выделяем предупреждающую линию, копируем и делаем разрешение текстуры 2048х512. Затем вставляем линию и стягивем ее в самый низ текстуры:
Далее с помощью инструмента "Волшебная палочка" выделяем все черные линии и удаляем их, а затем добавляем на текстуру новый слой. Теперь переходим к красному таилу. Выбираем прямоугольный участок на текстуре площядью примерно 2048х512(или чуть больше) и делаем его черно-белым с помощью настройки "Коррекция" и "Сделать черно-белым" :
После в настройке "Коррекция" в параметре "Оттенок и Насыщенность..." выводим параметр "Освещенность" на уровень -70. Добавим немного резкости: зайдем в "Эффекты", далее "Для фотографий" и выставим нужный уровень параметра "Резкость":
Далее копируем выделенную область и вставляем ее вновый слой на текстуре маски и опускаем этот слой вниз и объединяем их - теперь черные полоски имеют фактуру:
Теперь будем делать слой желтого материала. Возвращаемся к нашему красному материалу и отменяем все опереации клавишими CTRL+Z, пока выделенная область не станет черно-белой без каких-либо преобразований. Затем в настройке "Коррекция" в параметре "Оттенок и Насыщенность..." выводим параметр "Освещенность" на уровень 60-65. После с помощью инструмента "Заливка" заливаем выделенную площадь желтым, близко к оранжевому цветом с альфаканалом. А затем если угодно немного добавить резкости:
Копируем полученный желтый прямоугольник, создаем на текстуре маски новый слой смещаем его вниз и вставляем желтый прямоугольник. Затем переходим в первый слой с черными полосками, выбираем инструмент "Волшебная палочка" и зажав SHIFT жмем на белый участок маски и удаляем его. Получается практически готовая наклейка на бочку, осталось только подзатереть немного:
Сохраняем полученное изображение в PNG и переходим к программе Photo Filtre Studio - будем делать первичное царапанье и затирание поверхности полоски. В этой программе инструментов хватает, а вот их образцов не сильно много. Но если вы научитесь играть с настройками тех же кистей то получится вполне неплохой результат. Познакомимся с рабочей областью редактора:
Мы будем работать с инструментами редактирования изображения, с верхней колонкой, где расположены кисти, эффекты и т.д. Выберем инструмент "Пипетка" и кликнем ей на одной из желтых полосок, в результате чего мы активируем желтый цвет как основной - теперь мы будем им рисовать. Осталось выяснить, с какими же кистями мы будем работать - какие наиболее подойдут для затирания. 1) Инструмент "Кисть" круглая с методами "Пастель" и "Рашкуль":
3) Инструмент "Художественная кисть" с методами "Мазок", "Масляная краска", "Мастихин" и "Грубые пастели"
Комбинируя все эти приемы можно добиться неплохого результата, ну и рисование руками тоже никто не отменял. Как рисовать и затирать поверхности - дело сугубо индивидуальное и каждый может представлять это по разному. Поэтому предлагаю попробовать самим комбинировать методы для получения подходящего результата. Основные параметры с которыми нужно играться - размер кисти, "Давление" и "Шаг". Размер кисти - указывает на площадь наносимого кистью изображения. В параметрах "Кисти" и "Художественной кисти" за настройку размера отвечает параметр "Радиус", который измеряется в пикселах. В параметрах же "Графической кисти" за настройку размера отвечает процентное отношение к исходному размеру изображения самой кисти (слева - настройки Обычной и художественной кистей, справа - настройки графической кисти):
Давление кисти - указывает на прозрачность наложения кисти по отношению к основе текстуры, т.е. регулирует так называемые "мягкость"/ "жесткость" кистей. Регулируя ползунок "Давление" вы сами подбираете тон того или иного элемента, который вам нужен на данный момент:
Шаг кисти - указывает на отступ перед нанесением следующего "мазка" кистью, тем самым увеличивая или уменьшая плотность нанесения. Регулируется параметром "Шаг" в % и предподготовленных настройках "Авто" и "Минимум":
После недолгих потуг получился вот такой фуфломицин (скорее потому, что художник из меня никакашный):
Возвращаемся в Паинт-нет и подгружаем 2 текстуры - готовую текстуру бочки и только что сделанные потертые полоски. Затем переходим к текстуре потертых полосок, выделяем инструментом прямоугольного выделения желтый прямоугольник посреди затертых полос, удаляем его и копируем все изображение:
Далее переходим к текстуре бочки, создаем на ней новый слой и копируем туда потертые полоски. Далее выделяем их по одной, а затем перемещаем в зону верхней и нижней половины внешней стенки бочки. Особое внимание нужно уделить тому, что бы горизонтальные края полосок не вышли за рамки изображения иначе будет прерывание тайлинга текстуры:
Объединяем слои и сохраняем текстуру в формат PNG. Далее наша задача - найти текстуру поцарапанного металла. На CG Textures я нашел вот такую текстуру металла для царапин разрешением 2928х2000:
Теперь подготавливаем текстуру в Паинт-Нете, подгоняя ее под разрешение текстуры бочки. Заходим в пункт меню "Изображение", далее "Изменить размер..." и выставляем параметр ширины в 2048 и жмем ОК. Затем выделяем все и копируем. Теперь подгоняем размеры самого изображения - в пункт меню "Изображение", далее "Размер полотна..." выставляем параметр высоты в 2048 и жмем ОК. Затем создаем новый слой и вставляем скопированное изображение. Теперь нам нужно состыковать два фрагмента без видимых прерываний. В настройках слоя указываем пункт "Повернуть вертикально" и активируем его, отзеркаливая изображение по вертикали:
Далее подвигаем и стыкуем оба фрагмента. Не очень красиво с эстетической точки зрения, но в данном случае это не суть важно:
Далее объединяем слои и сохраняем в PNG. Если считаете нужным можете затемнить, подвести резкости и затайлить текстуру в PixPlant2 по горизонтали. Теперь будем прорисовывать царапины в PhotoFiltre Studio. Открываем редактор и закидываем туда текстуру бочки с желтыми полосками. Затем в панели инструментов редактирования выбираем инструмент "Штамп", далее в панели чуть ниже ставим галочку напротив "Текстура", тем самым указывая, что для прорисовки будем использовать текстуру. Далее появится окно директорий, в котором нужно найти и выбрать вашу текстуру:
Теперь с помощью кисти можно прорисовывать царапины, но пока мы этого делать не будем. Сначала обозначим основные зоны, где могут появиться царапины:
Основные зоны подверженные царапинам - это все выступающие части элементов бочки. Также возможны царапины и в случайных местах. Необходимо научиться играть с мягкостью и нанесением интенсивности повреждений - ведь некоторые царапины доходят до металла, а некоторые слегка поцарапают краску. Теперь немного затемним места будущих потертостей, как бы симулируя паленую краску вокруг царапин. В панели инструментов активируем "Графическую кисть", выбираем черный цвет, параметром "Давление" подбираем оттенок умеренной мягкости и прорисовываем зоны возможных мест будущих царапин - обозначим зону, например, на ободе внешней стороны бочки:
Теперь мы попробуем прорисовать царапины. Переключаемся на инструмент "Штамп", ставим "Радиус" кисти на 1 и прорисовываем царапины с параметром "Давление" в 75% от базового, а затем проходимся по второму разу в некоторых местах выкрутив "Давление" на 100%. Благодаря этому не хитрому методу можно добиться вот такого результата:
Рисую потертости используя 4 метода штриховки:
1 - прямые горизонтальные и вертикальные штрихи 2 - зигзагообразные горизонтальные и вертикальные штрихи 3 - косые штрихи под углом 4 - округлые штрихи Штриховка по возможности плотная, но если нужно разнообразить, то можно и с маленькими просветами. После недолгих мучений вышло что-то такое:
Что было проделано: - сделаны потертости во всех нужных и не нужных местах - островки внутренних стенок были затемнены в местах стыка с верхней и нижней крышками - это делалось с тем учетом, что конечный вариант модели будет с ровными внутренними стенками - добавлены потертости на боковой стороне большой пробки, выделил ее ребристость - на нижней крышке царапины затемнены, т.к. влияние внешней среды больше приходится на места непосредственной близости к поверхности ( в данном случае к земле), но это совсем не обязательно - каждый может делать по-своему Теперь сделав все что нужно, можно сохранять изображение.
Этап VII. Окончательная оптимизация лоу-поли модели (оптимизируем лоу-поли до 270 трисов, оптимизируем карты диффуза и нормалей для экономии развертки)
Сначала отредактируем модель.Выделяем лоу-поли модель бочки и отодвигаем ее в сторону от хай-поли мешей. Далее активируем режим полигонов и начинаем убирать все лишние полигоны с модели: квадратики с малой пробкой и с донным выступом, а так же внутренние стенки сверху и снизу. Выделив полигоны нажимаем Delete и Faces:
Затем переходим в вид сверху выделяем любые 2 парные вершины внутреннего кольца, жмем F и создаем линию объединяющую эти вершины, а затем жмем CTRL+E делая эту линию швом будущего островка. Далее выделяем все парные вершины внутреннего кольца, жмем F и выбираем пункт Skin Faces/Edge-Loops. В результате образуются полигоны новой внутренней стенки. Теперь нам нужно откорректировать ее развертку. Направляемся в окно текстурирования, жмем Е и Unwrap. Затем выделяем все полигоны развертки.
Назначаем развертке созданную диффузную текстуру: активируем режим редактирования Tab, заходим в окно текстурирования, выбираем "Image", далее "Open..." и в папке выбираем текстуру и загружаем. Затем сужаем островок внутренней стенки клавишами S и X, пока он не дойдет до краев островков внутренних стенок на текстуре:
Осталось подредактировать геометрию. Выделяем полигоны верхней крышки, жмем S и растягиваем ее впритык к внутренней стенке, то же делаем и с нижней крышкой - потеря детализации будет не заметна, можно не бояться. далее отредактируйте большую пробку - немного растяните и поставьте на свое место. Может случиться так, что новые полигоны вывернуться на изнанку при создании и не будут видны - мы исправим это. Выделяем все полигоны на модели и жмем CTRL+N и Recalculate Normal Outside (Пересчет нормалей поверхности):
Но и это еще не все еще раз мы вернемся в Блендер. Теперь будем настраивать текстуры в Паинт-Нете - подгружаем текстуру диффуза и нормала (т.к. модель делается для Юнити и тестироваться будет там же, то в качестве нормала буду использовать специальную черно-белую нормал мапу). Таперь раскидаем островки максимально плотно по текстуре, учитывая особенности построения лоу-поли модели. Начнем с нормал-мапы. Выбираем инструмент "Выделение прямоугольной области" и выделяем островок нижней внутренней стенки. Затем с помощью инструмента "Перемещение выделенной области" перетягиваем его в нижний угол текстуры. Главное - соблюдать точность. Далее выделяем внешнюю стенку бочки и стыкуем ее аккурат нижней внутренней стенке, а пустое место оставшееся сверху заливаем черным цветом. Теперь будем рассчитывать, на сколько нам поднять верхнюю внутреннюю стенку. Дело в том, что внутренняя стенка окончательной лоу-поли модели по высоте точно такая же как и внешняя. Если мы разместим островок верхней внутренней стенки впритык к островку внешней стенки, то текстуры потянутся. Что можно сделать? А вот что: текстуры не будут тянуться, в том случае, если отступ между внешней стенкой и любым островком будут такого же размера как и сам островок. Но получается, что с обоих сторон на отступы остаются равные полоски - это не существенно, но все-таки хочется использовать текстурное пространство по максимуму. Поэтому мы убираем отступ между нижней внутренней стенкой и внешней стенкой бочки стыкуя их впритык, а увеличиваем отступ между верхней внутренней стенкой и и внешней стенкой бочки в 2 раза. Осталось только посчитать на каком уровне точно разместить островок верхней внутренней стенки. Берем инструмент "Карандаш", активируем синий цвет, проводим рядом с верхней внутренней стенкой ровную линию, которая равна ее высоте. Затем с помощью "Волшебной палочки" выделяем эту линию, копируем и вставляем впритык к внешней стенке бочки, еще раз копируем эту линию и пристыковываем к первой линии увеличивая высоту, а затем выделяем островок внутренней стенки и стыкуем сверху к полоскам и четко к боковому краю, а затем заливаем вырезанное пространство черным цветом. Вот с таким отступом уже можно что-то думать - например спрятать боковину большой пробки. А затем выделяю прямоугольной областью верхнюю и нижнюю крышку, а так же верх большой пробки и переношу вниз. Но пустое пространство все разно осталось. Сохраняем текстуру под отдельным именем.
Далее отредактируем диффузную текстуру. Создаем новый слой на текстуре нормала, затем переходим к текстуре диффуза выделяем ее всю нажимая CTRL+A и копируем на CTRL+C. Далее возвращаемся к текстуре нормала и вставляем ее в новый слой CTRL+V, а в свойствах слоя выбираем режим смешивания "Разница". Этот эффект дает возможность точно состыковать диффузные фрагменты по фрагментам нормалей с точностью до пиксела. Начиная с низа прямоугольной областью выделяем фрагменты и налаживаем на точно такие же - это не долго, занимает минуты 3. Теперь в свойствах слоя выставляем режим "Нормальный" и нажимаем ОК. Текстура вернулась в состояние прежней цветовой гаммы. Сохраняем текстуру под отдельным именем.
Этап VIII. Создание карты спекулара и карты зон бампа (делаем спекулар и детализируем нормал-мапу)
Берем нашу диффузную текстуру и делаем ее черно-белой, а затем "Контрастность" выкручиваем на 40%. Спекулар готов.
Вот с нормалом посложнее будет. Возвращаем диффузной текстуре цвет. Сначала "отсеиваем" желтый цвет попросту удаляя полоски с ним - я чуток помучился с "Волшебной палочкой", т.к. имелась царапина. Далее выкручиваем контрастность так, чтобы из видимого остались только царапины, а пробки удаляем. Затем места удаленных элементов заливаем черным цветом. Далее на "Волшебной палочке" выставляем чувствительность 40% и удаляем весь черный цвет. К тому, что осталось еще раз применяем "Контрастность", пока цвет не станет абсолютно черным. Затем выбираем светло-серый цвет и заливаем им все черные полосы , предварительно зажав клавишу SHIFT. Далее копируем все эти царапины, создаем новый слой на нормал-мапе, вставляем в него и сохраняем текстуру. Маску с царапинами следует тоже сохранить, чтобы не тиская параметр "Bumpness" в Юнити вы могли осветлив цвет легко регулировать глубину царапин. Потом просто создадите новый слой на нормале и перекините отредактированные царапины:
Теперь готовы все текстурные карты, осталось лишь развертку подогнать.
Сообщение отредактировал Hanzo - Вт, 15 Ноя 2011, 05:33
Этап IX. Подготовка модели перед импортом в движок (подгоняем развертку, разбиваем модель на трисы)
Заходим в Блендер и применяем к бочке новую текстуру: в итоге получаем жалкое зрелище - сдвинутые координаты. "Блин, их же теперь ровнять и сдвигать надо... это долго и нудно" - скажите вы. "Неа! Не долго и совсем не нудно" - отвечу я вам, - дело 3-х минут". Не будем откладывать в долгий ящик и приступим. В панели текстурирования активируем режим редактирования "островков". Выбираем островок внешней стенки и стыкуем его с текстурными координатами, далее выбираем островок внутренней стенки и стыкуем его со своим местом на текстуре начиная с низа. А верхние его точки выделяем с помощью кнопки B и подтягиваем вверх до верхнего края островка верхней внутренней стенки. Затем выделяем островок боковины большой пробки и ставим на свое место. Теперь выделяем квадратным выделением (клавиша В) верхнюю и нижнюю крышки вместе с пробкой и ставим их на свои текстурные координаты:
Выходим из режима редактирования . Проверяем текстуры на модели: покрутим ее, посмотрим верх и низ. Ну вроде все нормально. Теперь входим обратно в режим редактирования, выделяем все вершины кнопкой А и делим полигоны на трисы CTRL+T. В итоге как и оговаривалось мы сокращаем базовую геометрию с 322 до 270 трисов:
Этап Х. Интеграция модели в движок.
Очень надеюсь, что вам и без меня известно как импортировать модели и текстуры в движок Юнити 3Д. Но если нет, то все очень просто: выделяем в папку модель и ее текстуры, а затем просто перетаскиваем в окошко "Project". Только не нужно спрашивать где это окошко. Интегрируем модель в Юнити настраиваем карты и вуаля (текстура 1024х1024):
можно сделать даже с ЙАДОМ:
Р.S. Некоторые этапы урока специально были добавлены, хотя можно обойтись и без них. Все это сделано для того, чтобы дать читателю понять, не он подстраивается под материалы, текстурные развертки и прочие аспекты 3д, а на оборот он подстраивает это все под себя как хочет и когда хочет. Пробуйте, творите, совершенствуйтесь!
В данном уроке использовалось следующее программное обеспечение:
Для навигациями между видами в окнах используется цифровой блок (на ноут-буках, к сожалению, его не встречал), который активируется клавишей Num Lock. Вот их значения: 1 J - вид спереди 3 L - вид сбоку 7 7 - вид сверху 5 I - изометрический вид 0 M - вид с камеры 2 K, 4 U, 8 8, 6 O - позволяют вращать объект с шагом в 15 градусов
У меня на ноуте Acer Num Lock использует те-же клавиши клавиатуры что есть, т.е. он не вынесен в отдельный блок кнопок. На них нанесены цифры синего цвета. Цифры 7, 8 и 9 совпадают с стандартными цифрами на клавиатуре, во втором ряду сверху под функциональными клавишами F1-F12. В цитате выше я добавил те клавиши которые активируются при включении Num Lock. Не знаю, во всех-ли Acer включается так Num Lock, у меня так: Рядом с левым Ctrl есть клавиша Fn с надписью синего цвета, ее нужно нажать и держать как обычно держим клавиши Ctrl, Alt или Shift. Затем нужно нажать на клавишу с синей надписью NumLk, у меня на клавише F11.
Hanzo, в блендере есть модификатор вращения?
Если есть, то метод создания цилиндрического объекта можно сильно упростить. Достаточно создать сплайн повторяющий сечение половины бочки в разрезе и воссоздать по нему объект путем вращения. Поиск | Правила | Новые сообщения
Hanzo, в блендере есть модификатор вращения? Если есть, то метод создания цилиндрического объекта можно сильно упростить. Достаточно создать сплайн повторяющий сечение половины бочки в разрезе и воссоздать по нему объект путем вращения. smile
Эту бочку можно создать несколькими способами, но когда я нашел самые оптимальные, было уже поздно... Насчет модификатора вращения не скажу - не видел.
В принципе, можно и через модификатор вращения, но мне кажется если сделать полигональным способом а не сплайном, то в последствии из хай поли будет легче сделать лоу поли. И если нет фото предмета в профиль то сложно его половинку начертить (для меня), легче сразу с целым работать. - ИМХО
Hanzo сделал правильный урок, тем что показал пример всего процесса, методом который он выбрал для урока. Пусть человек повторит этот его путь и чему-то научиться с помощью этого и других уроков. А нужные способы моделирования ученик потом выберет сам, главное что будет потом из чего выбирать и возможность придумывать свои пути.
Quote (Hanzo)
Насчет модификатора вращения не скажу - не видел.
Не пользуюсь Blender 2.49, как там точно не знаю, к сожалению, а модификатором вращения в Блендере 2.5, 2.6 - является Screw.
Кому надо, вращайте на здоровье. Чудный инструмент. Настраивается ось вращения, шаг (полигональность), угол вращения, направление нормалей, возможность установить один из объектов центром вращения (обычно добавляют Empty - объект пустышку). Плюс - как следует из названия - можно сдвигать вращение ракушкой, делая винт, спираль и т.д с настройкой количества итераций. Если использовалась кривая Безье, а нужен стал меш, то преобразуем объект в меш комбинацией Аlt-C.
По ссылке Dekterev-а, там на seaman зря бочку катили (кое-кто думает, что если его инструмент не устраивает, то и другим он не подойдет, а на самом деле у людей разные задачи бывают). Если кому надо вращение, то Spin для нужд игрового лоуполи вполне подойдет, и есть в любом Блендере.
Hanzo Класный урок, почерпнул для себя много нового. Единственное - ты мог бы написать урок по моделингу и текстурированию домика, причем как снаружи, так и внутри? Мне надо нарисовать частный домик, внутри три комнаты+коридор, в каждой комнате свои обои, ну и на полу ковры разные(в кухне плитка на стенах и линолеум). Потолки везде одинаковые. Не могу сообразить как сделать такую штуки. То есть я мог бы ее слделать, если использовать кучу разных текстур, но мне надо чтобы их было ну максимум пара-тройка (диффузных в смысле), а лучше одна. И какое вообще разрешение текстур выбирать в этом случае?
Кстати, да, про постройку зданий и внутренней отделки я бы тоже не прочь почитать. Согласно протоколу испытаний, начиная с этого момента, мы перестаем говорить правду. Три, два, один.
aklemen, домик делается элементарно,как и все его внутренности.
Quote (aklemen)
каждой комнате свои обои, ну и на полу ковры разные(в кухне плитка на стенах и линолеум). Потолки везде одинаковые. Не могу сообразить как сделать такую штуки.
ну а материалы тебе на что?Для всех ковров и линолиумов создается отдельный материал и все. Где арахисы - там и зима.
Единственное - ты мог бы написать урок по моделингу и текстурированию домика, причем как снаружи, так и внутри?
ну это каждый может сделать - не так это и сложно. Единственное, что надо - планировка и используемые материалы... ну и обладать глазом опытного дизайнера - без этого никуда. Я, к сожалению, не дизайнер помещений, но технику и приемы подсказать могу.
Quote (aklemen)
То есть я мог бы ее сделать, если использовать кучу разных текстур, но мне надо чтобы их было ну максимум пара-тройка (диффузных в смысле), а лучше одна.
А зачем вам пара-тройка текстур? или одна?
Quote (aklemen)
И какое вообще разрешение текстур выбирать в этом случае?
Это нужно смотреть по обстоятельствам. Среднее разрешении 512, максимальное 1024. Больше думаю не стоит. Не нужно делать гигантские атласы на 2048 или на 4096. Делайте ровно столько текстур сколько материалов на вашем объекте, но естественно существуют свои хитрости. Все зависит от элемента, на который вы налаживаете текстуры - от его формы и расположения. Почему не стоит делать гигантские атласы? Наверное потому, что вы проиграете в рендеринге больше, чем выиграете. Выигрыш: - меньше вызовов отрисовки Проигрыш: - возможны глюки с мип-мапами - на модели появляются дополнительные полигоны - возможны колоссальные потери при составлении спекуларных карт и карт нормалей при юзании шейдеров, не все предметы используют карту блеска и нормалей (к тому же разрешение некоторых незамысловатых карт нормалей можно свободно сократить в 4 раза без потери качества) и в этом случае их места в атласе просто будут пустовать... и в результате чего на ветер может выброситься добрая половина текстуры aklemen, выбирайте сами, что вам больше подходит. Но от себя скажу, что если бы атласы были так востребованы их бы только везде и юзали. Как мы видим в играх их не используют, но даже если и используют, то не на прямую, а объединяют в массивы текстур в препроцессе рендеринга программно. Я тоже их пару раз юзал но ИМХО - это бред...
Quote (FunnyAlien)
Кстати, да, про постройку зданий и внутренней отделки я бы тоже не прочь почитать.
Будет время - сделаю. Но будет долго, т.к. будут юзаться свои текстуры, естессно с описанием процесса изготовления.
Не обязательно какую-нибудь гостиную, я вообще про помещения. Например тот же подвал, или морг. Согласно протоколу испытаний, начиная с этого момента, мы перестаем говорить правду. Три, два, один.
Hanzo Вообще передо мной для начала стоит две задачи - сделать домик и сделать здание школы, чтобы затем импортировать все в Unity. Про домик я написал, так как он попроще. Минимум текстур я хочу использовать, чтобы движок не перегружать. Проблема вот в чем (для меня во всяком случае). Возьмем для начала основание школы, это такой прямоугольник, где-то 40*70 метров (я примерно говорю, точно не помню). Если брать текстуру 1024*1024. Если рисовать так же, как ты бочку делал, то есть на одной текстуре весь пол (допустим в коридоре он плитка, в классе линолеум), то уместить на одной текстуре приведет к почти нулевому качеству (текстуру 20408*2048 придется уменьшать раз в десять, чтобы соблюсти пропорции, детали не разглядишь). Вообще для меня это задача совсем нетривиальная и я даже не знаю с какой стороны к ней подойти. Скептик Спасибо за ссылку на моделирование домика, тоже интересно, хоть и очень простой вариант и текстурирования нет.
aklemen, открою для тебя один секрет-стены можно тайлить(то есть покрывать одной и той же текстурой).Тебе даже 512*512 хватит главное чтобы швов не было Где арахисы - там и зима.