Как сделать мир в blender

Добавил пользователь Евгений Кузнецов
Обновлено: 04.10.2024

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

А начало всего где-то в векторных редакторах. На практике испытал известную троицу: Inkscape , Corel Draw и Adobe Illustrator . Предпочитаю последний, но было время, когда предпочитал Corel Draw. Не знаю почему, однако, Inkscape никогда не предпочитал, просто есть проекты полностью в нем созданные. На самом деле нет особой разницы какой редактор, нужно всего лишь сохранить результат своей работы в *SVG файл .

  • кривым нужно дать соответствующие имена,
  • кривые с заливкой лучше замкнуть,
  • цветовое пространство - однозначно RGB,
  • кривые с одинаковыми цветами и без перекрытия слоёв можно объединить в составную кривую.

Для изучения в конце статьи есть ссылки на видеоролики и файлы к этому материалу.

Импорт *SVG и распределение кривых

С помощью встроенного аддона импортирую в пустую сцену Blender содержимое *SVG файла [F4, Import/ SVG] или [File/ Import/ SVG].

Если отсутствует пункт меню импорта, то нужно активировать аддон [F4, Preferences/ Add-ons/ svg], через меню [Edit/ Preferences/ Add-ons/ svg].

У аддона отсутствуют дополнительные настройки импорта, а макет он располагает как вид сверху. Ровно так же создаются новые кривые Blender.
Изменю положение макета на соосный с фронтальным видом, повернув по оси X на 90 градусов [a, r, x, 9, 0, Enter]. И увеличу масштаб заготовки, ну, в 50 раз [s, 5, 0, Enter].

При импорте порядок кривых нарушается, поэтому нужно распределить кривые как слои в 2D редакторе. Для этого, выделяю самую дальнюю по макету кривую и двигаю по оси Y [ g, y, Move]. Затем добавляю к выделению еще одну кривую, передвигаю дальше по Y. Затем ещё, ещё и ещё. Последний слой остаётся на месте.

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

Объединение и переименование материалов

Перейду на фронтальный вид [Numpad - 1] и настрою отображение [Viewport Shading/ Lighting/ Flat].

Выровняю вертикальную ось заготовки относительно оси Z. Сделаю заливку полупрозрачной, чтобы видеть контуры [Alt+z] и передвину по оси X, выделив все объекты [a, g, x, Move]. Верну видимость, ещё раз [Alt+z] и сброшу выделение [Alt+a].

В проекте есть кривые с одинаковыми по свойствам материалами. Лучше сразу объединить эти материалы в один.
Выделяю ушки, затем голову и во вкладке материала открываю менюшку скрытую под уголком. Пункт - копировать материал по выделенному (Copy Material to Selected). Таким образом копирую материал последнего выбранного объекта на все предварительно выбранные объекты.

Аналогично, нужно объединить и переименовать материалы чёрных кривых, а так же дать узнаваемые имена оставшимся.

Подготовка кривых

Разделю объединенные для импорта объекты на отдельные кривые. Выделяю ушки. Режим редактирования [Tab]. Выделяю точку на одной из кривых, не убирая курсор нажимаю [l, p, Separate]. Кривая разделилась на два объекта. Перейду в объектный режим [Tab]. Последовательно выбирая, переименую обе кривые [F2].

Разберу все объединенные кривые, отделяя и переименовывая деталь за деталью: ушки (Ears) - 2 кривые, блеск (Shine) - 3 кривые, черное (Black) - 3 кривые, светлые части (LightFur) - 5 кривых.

Открою N-панель [n], перейду на вкладку Item, перемещу дальше по оси Y светлые части ушек так, чтобы они при трансформации скрывались за кривой головы. Для этого посмотрю координаты положения головы по оси Y, затем ушка и расположу деталь между этими значениями.

Кроме того, здесь же заблокирую лишние для деталей 2D персонажа трансформации.

Это вращение по глобальным осям X и Z, а так же перемещение по глобальной оси Y. Причем перемещение по оси Y для кривой головы оставлю свободным.

Установка ориджинов и парент связи

Выделяю бровь, переопределяю положение ориджина по геометрии [RMB, Set Origin/ Origin to Geometry] или [Object/ Set Origin/ Origin to Geometry]. Аналогично и вторая бровь. Теперь выделяю глаз, устанавливаю ориджин по геометрии, не снимая выделения перемещаю 3д-курсор в точку ориджина глаза [Shift+s, Cursor to Selected]. Затем выделю пятно блеска этого глаза и переопределяю положение ориджина по курсору [RMB, Set Origin/ Origin to 3D Cursor]. Таким же образом и второй глаз.

Нос, выделяю, переопределяю ориджин по геометрии. Перемещаю на ориджин курсор. Затем выделяю: язык, рот, блеск носа и перемещаю все ориждины одновременно на 3д-курсор.
Далее иначе, сброшу курсор в начало координат [Shift+s, Cursor to World Origin]. Открываю N-панель, вкладка View [View/ 3D Cursor/ Location] и передвигаю курсор по оси Z до места, где должна поворачиваться голова, выделяю голову и мордашку - переопределяю положение ориджинов по курсору. Еще один вариант использования курсора. Сделаю заливку полупрозрачной, чтобы видеть контуры [Alt+z], затем вручную установлю курсор [Shift+RMB], выделяю ухо и светлую часть, перемещаю ориджин на место курсора. Возвращаюсь в N-панель и изменяю значение координаты курсора по оси X на отрицательное. Выделяю второе ухо и его светлую часть, затем перемещаю ориджины на курсор.

Чтобы в процессе анимации при сбросе положения все объекты возвращались к тому месту где сейчас установлены, нужно перенести их координаты и масштаб в дельты. Для этого, выделяю все объекты, нажимаю [Ctrl+a/ Location to Deltas] и [Ctrl+a/ Scale to Deltas].

Осталось связать детали. Выделяю светлую часть ушка - объект, который собираюсь привязать, затем к чему привязывать - само ухо и создаю парент связь [Ctrl+p, Object]. По аналогии второе ушко и так далее по следующей схеме. Мордашка прикрепляется к голове. Пятна блеска к глазам. Язык прикрепляется ко рту. К носу - блеск и рот. А нос, глаза, брови и уши к голове.

Шейпкеи и драйвера

Выделяю глаз, на вкладке свойств объекта клацаю дважды плюсик возле окошка шейпкеи [Object Data Properties/ Shape Keys]. Аналогично создам шейпкеи второго глаза. Затем, выделяю оба глаза, перехожу в режим редактирования, выделяю нижние точки на обоих глазах, трансформирую в эдакие загогулины и возвращаюсь в объектный режим. Теперь форма глаза определяется значением Value соответствующего шейпкея.

На блеск поставлю драйвер отключения. Для начала изменю параметры фильтра в аутлайнере, чтобы стали видны значки параметров Disable in Viewports и Disable in Renders. После, выделяю глаз, копирую его значение Value как новый драйвер и прямо в аутлайнере вставляю в свойства прикрепленного блеска как драйвер значения Disable in Viewports и Disable in Renders. Для второго глаза так же установлю драйвер. Дополнительно отключу возможность выделять светлые части ушек и мордочки, а так же пятна блеска. Это значительно упростит выделение объектов во время работы.

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

А чтобы не лазить по вкладкам во время анимации персонажа, выведу ползунки на панель основной кривой. Для этого выделю голову, открою панель свойств объекта и добавлю три дополнительных пункта. Сразу же их откорректирую. Имена соответственно, значение по умолчанию - 0. На N-панели при выделенной кривой головы появились три ползунка. Последовательно копирую значения ползунков как новый драйвер и вставляю в соответствующие параметры объектов.

Приветствую всех , решил написать свой manual по созданию terrain для сталкера, создавать terrain мы будем в 3D редакторе Blender , ну да ладно хватит предословий начнём.
Что же нам потребуется для создания нашего terrain.

1. Blender желательно последняя версия
2. Плагин для экспорта и импорта XRay файлов
3. SDK (SoC,CS,Cop) в зависимости на что вы будете моделировать. "Мой вариант на SoC"
4. Терпение
5. Умелые руки
6. Полчаса мучения


С инструментами мы разобрались переходим к практике.
Запустим Blender и у нас Custom создаться блок нажимаем на него и удаляем, потом в низу экрана будет add (Альтернатива Shift + A)
далее выбираем mesh и plane, у нас создаться модель plane.




В правой панели , выбираем раздел модификаторы это такой гаечный ключ, нажимаем add modifier, и выбираем модификатор ocean (Рандомный ландшафт) наш plane увеличился и сморщиться.
В модификаторе будет кнопка apply нажимаем.






Конвертируем в mesh модель с помощью комбинации клавиш ALT + C и выбираем mesh from Curve/Meta/Surf/Text



Всё теперь наша модель имеет свойства mesh, теперь заново идём в панель модификаторов и выбираем модификатор Decimate и в модификаторе ставим галочку на Triangul.
И нажимаем на apply







Теперь берём и на угол ландшафта нажимаем пкм он у нас выделился и идём на другой угол и так весь квадрат в итоге должен получиться квадрат (Стены)




Всё ландшафт создали теперь перейдём к экспорту но для начала нужно создать материал для нашей модели, идём в правую панель и выбираем materials, и нажимаем new и листаем в самый низ найдём вкладку Xray там нечего не трогаем, теперь можно экспортировать саму модель File->Export->Xray Object.



Файл который вышел кидаем в rawdata/objects ну или где у вас хранятся обьэкты.
SDK - финальный этап
Выбираем Статистическая Геометрия -> Библиотека Статической Геометрии и находим наш файл у нас появляется модель без текстуры нажимаем Настройки и делаем по такой схеме
Texture





Таким образом у нас сфера покрыла всю карту.
Ставим освещение, делаем аи карту спавним нужное и комплим.


Устарела? По-моему наоборот становится всё популярнее и популярнее. Разработчики 3-4 раза в год выпускают новую версию (в maya, max по-моему раз в год, точно не знаю).

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

Модификатор ocean нужен для создания симуляции динамического океана. Для ландшафта есть аддон landscape. Хотя для низкополигональных уровней сталкера (до 100 000 треугольников) разница между океаном и ландшафтом будет не заметна. Но лучше в уроке использовать аддон landscape.

Выбираем Статистическая Геометрия -> Библиотека Статической Геометрии и находим наш файл у нас появляется модель без текстуры нажимаем Настройки и делаем по такой схеме

Цитата Майор_Семецкий(Богдан) ()
я конечно понимаю что эта программа устарела

Устарела? По-моему наоборот становится всё популярнее и популярнее. Разработчики 3-4 раза в год выпускают новую версию (в maya, max по-моему раз в год, точно не знаю).

Цитата Майор_Семецкий(Богдан) ()
В правой панели , выбираем раздел модификаторы это такой гаечный ключ, нажимаем add modifier, и выбираем модификатор ocean (Рандомный ландшафт) наш plane увеличился и сморщиться.

Модификатор ocean нужен для создания симуляции динамического океана. Для ландшафта есть аддон landscape. Хотя для низкополигональных уровней сталкера (до 100 000 треугольников) разница между океаном и ландшафтом будет не заметна. Но лучше в уроке использовать аддон landscape.

Цитата Майор_Семецкий(Богдан) ()
Выбираем Статистическая Геометрия -> Библиотека Статической Геометрии и находим наш файл у нас появляется модель без текстуры нажимаем Настройки и делаем по такой схеме

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

В этом уроке рассматривается создание простой анимации, работа с редактором Timeline и получение готового видеофайла.

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

Теперь же имеется возможность "рисовать" картинки только для избранных, то есть ключевых, кадров. Все, что между ними, программа просчитывает сама. Например, в первом кадре куб находится в точке с координатами (0, 0, 0). Переместившись по временной шкале в 20-й кадр, мы помещаем куб в точку (100, 0, 100) пространства. На этом все. Программа либо будет перемещать куб по прямой, либо по указанной нами траектории. Нам не надо для каждого кадра со 2-го по 19-й указывать промежуточные положения куба.

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

В Blender есть специальный редактор Timeline, позволяющий перемещаться по кадрам, создавать ключевые кадры и др. Кадр – это момент или короткий отрезок времени, для времени играет ту же роль, что точка для пространства. Однако у кадра все же есть длительность. Она зависит от того, сколько "прокручивается" кадров в секунду. В случае 60-ти кадров в секунду (60 FPS) кадр будет короче, чем в случае 24 FPS. Чем больше FPS, то есть чем короче длительность кадров, тем плавнее переходы, качественнее анимация. Однако увеличение FPS увеличивает размер выходного файла и нагружает вычислительные мощности компьютера.

FPS не настраивается в редакторе Timeline. Однако о FPS следует помнить, так как если вы планируете делать 30 секундную анимацию с 24 FPS, вам понадобится 720 кадров. Но с 50 FPS будет уже 1500.

В заводском стартовом файле редактор Timeline находится в нижней области.

Главный регион редактора Timeline занимает кадрированная шкала времени. Вверху у нее есть разметка с шагом в 10 кадров.

Если навести мышь на полосу прокрутки внизу, зажать левую кнопку и подвигать, вы увидите, что шкала может уходить как дальше в плюс, так и в минус. Другой способ сдвига шкалы – зажать среднюю кнопку мыши на самой шкале. Прокрутка колеса мыши, клавиши плюс и минус клавиатуры масштабируют ее.

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

В заголовке редактора Timeline в полях Start и End указаны кадры начала и конца анимации. Их можно изменить. В поле слева указан текущий кадр (не путать с ключевым), то есть то место во времени, в котором сейчас находится сцена.

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

Чтобы начать проигрывать анимацию, надо нажать Пробел. Она начнется с текущего кадра и до последнего, того, что указан в End. Затем продолжится со стартового (Start). Остановить циклическое проигрывание анимации можно повторным нажатием пробела, либо нажатием Escape. В первом случае текущим кадром станет место останова анимации. Во втором – текущий кадр вернется к прежнему значению, туда, откуда была запущена анимация.

Кроме того для управления проигрыванием анимации и переходами предназначена специальная группа кнопок заголовка:

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

Отдельно стоящая кнопка слева предназначена для автоматического создания ключевых кадров.

Создавать ключевые кадры можно и обычно удобнее непосредственно в главном регионе 3D Viewport, нажимая I и выбирая в появляющемся меню тип ключа. Однако мы воспользуемся специальным блоком в заголовке Timeline, так как он дает более полное управление:

При клике по связке ключей слева в поле Active Keying Set раскрывается список возможных типов ключей. Нас интересуют Location, Rotation, Scale и их комбинации – Location & Rotation, Location & Scale, "Location, Rotation & Scale", Rotation & Scale. Список здесь отображается не полностью, он прокручивается вверх и вниз:

Ключ Location фиксирует только местоположение объекта. Если вы в таком ключевом кадре измените размер и поворот, то это изменение не будет анимировано. Оно просто изменит объект. Если боитесь запутаться, выбирайте "Location, Rotation & Scale". Этот тип ключа фиксирует все – положение, поворот, размер. Однако на самом деле он создает целых 9 ключей в одном кадре, так как запоминает координаты X, Y, Z для всех трех трансформаций.

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

Крайняя правая кнопка с ключом и крестиком удаляет из текущего кадра выбранный тип ключевого кадра, если он там есть. Например, текущий кадр 20-й. Мы выбираем тип Location и удаляем его. Если в 20-м кадре был именно такой ключ, то он удалится, но если там был назначен Rotation, то ничего не произойдет. Если вы не знаете точно, какой тип ключа находится в текущем кадре, а хотите очистить его от всех ключей, выбирайте "Location, Rotation & Scale".

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

Пусть мы хотим, чтобы куб за период с 1-го по 30-й кадр немного поворачивался. В первом кадре мы создали ключ, зафиксировав исходную позицию куба.

После этого делаем текущим 30-й кадр и здесь поворачиваем куб. Далее надо создать еще один ключевой кадр, уже в 30-м кадре. Проще нажать I в редакторе 3D Viewport. Также можно воспользоваться раскрывающимся окошком Keying в заголовке Timeline.

  1. перемещаясь по шкале времени,
  2. меняя в текущих кадрах объект и
  3. фиксируя изменения с помощью ключей,

мы можем создать относительно сложную анимацию.

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

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

Как получить файл с готовым фильмом? Скорее всего, сначала понадобиться выполнить некоторые предварительные настройки на вкладке Output редактора Properties.

Здесь на панели Output из списка файловых форматов (File Format) надо выбрать AVI JPEG.

AVI JPEG сжимает картинки. Поэтому файл получается существенно меньше, чем при AVI Raw. Обратите внимание, где сохраняется ваш файл. При необходимости измените каталог.

Также имеет смысл поменять значение последнего кадра, если анимация была короче.

Запуск рендера анимации выполняется из редактора 3D Viewport при выборе в меню заголовка пункта Render → Render Animation (Ctrl + F12).

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

Практическая работа

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

Курс с инструкционными картами к части практических работ:
android-приложение, pdf-версия

Мод World Blender добавит в игру новое измерение в котором будут сочетаться сразу все биомы которые есть в игре. Помимо необычного смешения биомов в новом мире смогут соседствовать элементы из энедер мира и обычного. Так например можно будет встретить насыпь в виде дорожек из адского камня окруженную глыбами льда и рядом будут произрастать тропические деревья. В общем необычный и насыщенный мир в котором не работают обычные законы природы.

Для того чтобы попасть в новый мир, нужно построить портал размером 2х2х2 блока из сундуков и поместить в каждый слот по уникальному блоку, а затем используя звезду незера активировать её на одном из сундуков (возможно нужно еще присесть).

Или использовать команду: /execute in world_blender:world_blender run tp ~ 70 ~

Это первая статья из цикла по работе в Blender. Вот ссылки на все три, выбирай ту, которая тебе нужна:

Эта статья поможет новичкам, которые хотят научиться работать с материалами в Blender. Ты узнаешь, как правильно настраивать материалы и какие дополнительные расширения использовать, чтобы облегчить работу. Внимательное изучение статьи займет около 10 минут. Если возникнут вопросы — пиши в чат-бот (кнопка справа внизу). Там на связи живой менеджер :) Он поможет разобраться. Ну что, давай начнем!


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

Если ты ни разу в жизни не пользовался Blender, для тебя у нас есть бесплатный курс Intro Blender. Ты научишься моделить простые формы, выучишь хоткейсы и поймешь как устроен технический процесс моделинга в Blender. Но помимо Blender, тебе понадобятся дополнительные программы. Они помогут облегчить процесс работы.

Substance Painter — программа для текстурирования 3D-моделей и создания текстурных карт для них. Отсюда будем импортировать текстуры.

Node Wrangler — аддон с инструментами, который улучшает и ускоряет воркфлоу основанный на нодах (node-based workflow).

Активируем его так:

Во вкладке Edit заходим в настройки Preferences и ставим галочку в Addons. Для удобства ищем аддон через поисковую строку.

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