Вот и третий лог. Как и обещал темой сегодняшней стало моделирование.
В качестве инструмента выбрал программу Blender. Должен сделать небольшое отступление — раньше моделировал в 3DSMax, но хотел попробовать что-то новое. В то время Блендер был с очень своеобразным интерфейсом, который меня пугал и я думал, что ничего путного в нём не сделать, тогда я ещё сказал одному человеку(который хвалил блендер), что этот самый Блендер — полная фигня, а сейчас только им и пользуюсь(после обновления интерфейса). Должен извиниться за то, что я сказал тому человеку(для меня это по какой-то причине важно).
Долго над выбором объекта моделирования не думал и выбрал пчелу. Сначала думал сделать робота-мусорное-ведро, но подумал, что это покажется очень простым.
И ещё небольшое отступление про терминологию:
Из чего состоит 3Д модель? Любую модель можно разбить на полигоны\треугольники (именно их и рисует видеокарта), а полигон нужно определить — задать через вершины\точки. Отсюда получается, что любая 3Д модель — это набор вершин и набор индексов вершин, необходимых для определения полигонов. Когда-то находил в интернете статью, где более подробно это поясняется, если найду, то добавлю сюда ссылку.
И ещё кое-что: вершину определяют её атрибуты — позиция(xyz), текстурные координаты(uv) и вектор нормали (normal), конечно возможны и иные способы задания вершин, но эти более распространённые.
Ну ладно, пора делать модель!
Большая часть 3Д моделей начинается с примитива — куба, пчела не стала исключением. Можно заметить картинку-концепт пчелы из предыдущей статьи — она служит ориентиром для модели( такое называется референс от англ. reference ).
Пчела — симметричный объект, а кто любит делать двойную работу?) Поэтому применил к свой 3Д модели модификатор Mirror — зеркальное копирование относительно выбранной оси (в данном случаи ось Х ).
Из куба, а вернее полу-куба лихими преобразованиями вершин и добавлением новых получилась некое подобие головы.
Добавив ещё примитивов из преобразовав их в части тела получаем «воттакоевот»
А этот скриншот называется «найди 10 отличий» :)
Затем моделирую лапу как отдельный объект
Располагаю лапы как необходимо и незначительно меняю их 3Д сетку, и «склеиваю» тело и лапы в один объект
Теперь помечаю рёбра (две связанные вершины) как разрез для будущей UV-развёртки. Данная операция говорит программе, где будут проходить швы, когда мы развернём нашу модель для текстуры.
После развёртывания можно вручную править UV координаты. Теперь создаём изображение для текстуры.( В рамках программы Блендер это изображение ещё не будет полноценной текстурой)
Вот готовая UV-развёртка и изображение, которое потом станет текстурой
Подготовим материал для пчелы, кстати именно при создании материала мы попутно создаём текстуру, которая будет использовать наше изображение(которое создал чуть раньше).
Когда материал готов, можно приступить к «покраске». Для этого в Блендере существует отличный режим texture paint.
Помечаем базовые цвета для нашей пчелы
Чуть обрисовываем что нужно
Прорабатываем текстуру более детально и завершаем её
Сейчас наш материал не воспринимает свет и тень (shadeless), но выглядит это немного скучно, поэтому можно использовать Material nodes для модификации материала. Если Вы читали диз-док из первой статьи, то знаете на какой графический стиль я ориентируюсь, а именно — мультяшный стиль с эффектом rim-light.
Можно играться с выводом, например, вместо цвета текстуры выводить цвет нормали ( XYZ -> RGB).
А вот, например, заготовка для будущего псевдо-Rim-Light (засветы по краям объекта).
Такая штука получается, если использовать скалярное произведение вектора взгляда камеры и нормали вершины.
Та самая засветка краёв — к цвету текстуры прибавляем штуку из предыдущего скриншота, но с небольшой модификацией (colorRamp).
Ещё немного поиграемся с материалом убрав shadeless и заменив «свет» на «тень», теперь получилось что-то вроде чёрного контура. Добавим ещё источников света, «простопотомучто».
Вот различые вариации материалов. На самом верху, например, классический Cel-Shading с Rim-light (такой метод требует двойной отрисовки модели — для линий и для самой модели)
Было обещано, что можно будет скачать модель… ну, это действительно так!
Скачать архив с моделью в формате *.blend (формат программы Blender)!
Что дальше?
Точную тему ещё не выбрал, возможно, концепты локаций, а возможно и о архитектуре движка подумать можно. Принимаю Ваши предложения :)
Лучшие комментарии
Клёво наблюдать по шагам, как скетч в реальную модель превращается!
Так держать)
Теперь ещё анимация)
Как же это так я забыл про Первый Комментарий ?! D: