Как сделать призму в блендере

Обновлено: 17.05.2024

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

Способ первый: Array + Curve

Добавляем к объекту модификаторы Array и Curve, для Array указываем необходимое количество копий объекта Count и расстояние между копиями Offset, а для Curve указываем в поле Object кривую по которой будет деформироваться данный объект.

Теперь когда у нас объекты деформированы по кривым мы видим что имеется некоторый offset между кривой и деформируемым объектом, это случается потому, что нулевая точка отсчета деформации по кривой рассчитывается от origin этой кривой, поэтому что бы такого offset не было, нам необходимо подвинуть объект либо геометрию объекта на место этого origin.

Когда геометрия удачно деформирована мы можем заметить, что раскидываемый объект в разной степени деформируется, это не является ошибкой, это особенность данного способа которая и делает его применение желаемым в одном случае и недопустимым в другом.
Для контроля раскидки у нас имеются параметры модификатора Array Fit Type, Fixed Count — создает указанное количество копий объекта, Fit Length — здесь указывается длина в которой будет размещено максимальное количество копий объекта с учетом их габаритов и расстояние между ними, Fit Curve — тоже самое что и Fit Length только здесь указывается кривая, длина которой берется для расчета количества создаваемых копий.

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

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

Способ второй: DupliFrames

Способ третий: DupliFaces

Отодвигаем в сторону объект и в меню выбираем Object → Make Dupli-Face, оригинальный объект перемещается в центр глобальных координат, а на его месте появляется новый DupliFace объект.

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

Далее мы просто добавляем к DupliFace объекту модификаторы Array и Curve, смысл в том, что бы с помощью модификаторов деформировать объект DupliFace деформации которого не влияют на дублируемый объект. Таким образом мы берём все самое лучшее от двух предыдущих способов. Мы получаем легкий для контроля, гибкий и параметризованный дублируемый объект. Камни раскиданные подобным способом автоматически считываются аддоном JewelCraft.
![DupliFace + Array + Cu/13.jpg)
С помощью этого способа мы с легкостью можем создавать сложные изделия за меньшее время.

Вывод

Каждый из представленных способов имеет свои особенности помогающие или мешающие в определенных ситуациях:

UV-развертка необходима для того, что-бы мы могли наложить текстуру на 3D-объект. А если точнее, с помощью развертки мы указываем как именно 2D текстура должна накладываться на 3D объект.

Я буду показывать на примере Blender 2.8. На примере кубика, так как его геометрия самая простая, да и он есть на сцене с самого начала. Если выбрать куб и перейти на вкладку UV-Editing, то вы увидите вот такую картину.

Как сделать UV-развертку в Blender 2.8+

Нажатием на TAB перейдем в режим редактирования и выберем все вершины нажатием A. Слева мы увидим уже готовую развертку для куба.

Как сделать UV-развертку в Blender 2.8+

Но, что делать если геометрия не стандартная? Для этого нужно подумать как разместить швы.

Швы - это разрезы на поверхности 3D объекта, которые разрезают объект так чтобы его можно было развернуть на плоскость.

Хм, наверное звучит не совсем понятно, но думаю я смогу показать все на примере. Давайте изуродуем развертку этого куба как по нашему мнению "будет лучше"(нет)😁.

Я выделил верхние несколько граней. Делается это ЛКМ в режиме выделения граней, который в свою очередь выбирается вверху слева или на цифрах на клавиатуре, нажатием 2.

Как сделать UV-развертку в Blender 2.8+

Далее нужно пометить их как швы. Жмем ПКМ и в меню выбираем Mark seam (Пометить шов). Далее снова выбираем все кнопкой A и сверху в меню выбираем пункт UV. В выпавшем меню жмем Unwrap. Слева отобразиться новая развертка.

Как сделать UV-развертку в Blender 2.8+

Кхм, даа.. Ну, что навыделяли то и получили) Все это было сделано для примера и понимания того как нужно или ненужно делать развертку. Думаю лучше вернуть старую развертку. Выделяем все кнопкой A и помечаем все грани как швы. ПКМ - Mark seam. Далее в меню вверху UV - Unwrap.

Как сделать UV-развертку в Blender 2.8+

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

Для этого выберем все грани, ПКМ - Clear seam. UV - Unwrap.

Как ни чего не поменялось? Все должно было сработать!

Ладно ладно, шучу, нужно указать стандартные швы в ручную😊.

У меня получилось что-то такое.

Как сделать UV-развертку в Blender 2.8+

Попробуйте сделать это сами, а что-бы помочь понять "как?". Представьте, что этот куб нужно собрать из картона или бумаги. Слева эта самая бумага и показывается. А швы это разрезы по собранному кубу.

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

Рисование по объекту

Ну вот вы и разобрались как делать развертку. Возможно даже уже нажали на пункт верхнего меню Texture paint. И при попытке что-то нарисовать у вас вылезла ошибка "нет текстуры". Все правильно. Мы ведь не сохранили текстуру и не назначили ее объекту.

На вкладке Texture paint в верхнем меню выбираем New и в новом окне настраиваем параметры и название будущей текстуры.

Как сделать UV-развертку в Blender 2.8+
Как сделать UV-развертку в Blender 2.8+

И сохраняем текстуру куда угодно, лучше в папку с вашим проектом.

После этого необходимо наложить текстуру на объект. В правом меню выбираем пункт "Настройки материалов" и уже в материале меняем просто цвет на текстуру.

Как сделать UV-развертку в Blender 2.8+
Как сделать UV-развертку в Blender 2.8+
Как сделать UV-развертку в Blender 2.8+

Куб почернел, так как текстура пустая. Теперь можно красить куб удобным способом. Например можно делать это прямо в Blender.

Вы уже находитесь там где нужно. Попробуйте порисовать на кубе, просто левой кнопкой мыши. Слева, на текстуре, сразу будет виден результат.

Как сделать UV-развертку в Blender 2.8+

Текстуру нужно сохранять после изменения, как мы уже сохраняли.

Так же, естественно, можно редактировать текстуру в любом графическом редакторе, например, GIMP, PhotoShop и т.д.

Ну вот, думаю к этому моменту вы уже понимаете как сделать UV-развертку в Blendr 2.8+. Спасибо за внимание и легкого моделирования!

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

Способ первый: Array + Curve

Добавляем к объекту модификаторы Array и Curve, для Array указываем необходимое количество копий объекта Count и расстояние между копиями Offset, а для Curve указываем в поле Object кривую по которой будет деформироваться данный объект.

Теперь когда у нас объекты деформированы по кривым мы видим что имеется некоторый offset между кривой и деформируемым объектом, это случается потому, что нулевая точка отсчета деформации по кривой рассчитывается от origin этой кривой, поэтому что бы такого offset не было, нам необходимо подвинуть объект либо геометрию объекта на место этого origin.

Когда геометрия удачно деформирована мы можем заметить, что раскидываемый объект в разной степени деформируется, это не является ошибкой, это особенность данного способа которая и делает его применение желаемым в одном случае и недопустимым в другом.
Для контроля раскидки у нас имеются параметры модификатора Array Fit Type, Fixed Count — создает указанное количество копий объекта, Fit Length — здесь указывается длина в которой будет размещено максимальное количество копий объекта с учетом их габаритов и расстояние между ними, Fit Curve — тоже самое что и Fit Length только здесь указывается кривая, длина которой берется для расчета количества создаваемых копий.

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

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

Способ второй: DupliFrames

Способ третий: DupliFaces

Отодвигаем в сторону объект и в меню выбираем Object → Make Dupli-Face, оригинальный объект перемещается в центр глобальных координат, а на его месте появляется новый DupliFace объект.

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

Далее мы просто добавляем к DupliFace объекту модификаторы Array и Curve, смысл в том, что бы с помощью модификаторов деформировать объект DupliFace деформации которого не влияют на дублируемый объект. Таким образом мы берём все самое лучшее от двух предыдущих способов. Мы получаем легкий для контроля, гибкий и параметризованный дублируемый объект. Камни раскиданные подобным способом автоматически считываются аддоном JewelCraft.
![DupliFace + Array + Cu/13.jpg)
С помощью этого способа мы с легкостью можем создавать сложные изделия за меньшее время.

Вывод

Каждый из представленных способов имеет свои особенности помогающие или мешающие в определенных ситуациях:

Вот несколько примеров данного эффекта в реальном мире:

Фото Matt Audet

Фото Ken Koller

Загрузите стартовый файл для прохождения урока:

Настройка сцены

heat1

Добавьте в сцену плоскость, поверните и расположите ее перед камерой так, чтобы она полностью закрывала собой вид из камеры.

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

Теперь необходимо увеличить плоскость вдоль оси Z. Для этого нажмите следующие клавиши: S, Z, 4, Enter.

Убедитесь, что Вы находитесь на первом кадре. Расположите плоскость так, чтобы ее верхняя часть закрывала вид из камеры. Нажмите клавишу I и выберите первый пункт location.

Перейдите на 250-й кадр. Расположите плоскость так, чтобы ее нижняя часть закрывала вид из камеры. Снова нажмите клавишу I и выберите первый пункт location.

Не снимая выделения с плоскости переключитесь на Graph Editor.

На данный момент наша плоскость плавно набирает скорость до определенного момента, и вконце также плавно ее сбрасывает.

Сейчас необходимо изменить тип кривой, чтобы скорость ее передвижения всегда оставалась неизменной. Выделите синюю кривую (Z Location), нажмите клавишу V и выберите пункт Vector.

Если Вы сейчас запустите анимацию (Alt + A), то должны увидеть следующий результат:

Выделите плоскость и добавьте новый материал.

Отметьте пункт Shadeless и уберите отметку с пункта Traceable

Перейдите на вкладку текстур и создайте новую текстуру.

Тип текстуры оставьте Clouds, size 0.10 и depth 1.

В меню Mapping значение size Y установите равным 4.

Измените цвет текстуры на черный.

Искривление сцены

Выделите плоскость и переместите ее на 4-й слой.

На вкладке Render Layers нажмите +, чтобы добавить новый слой.

Назовите новый слой Heat Distortion, и отметьте слои как показано на рисунке:

Переключитесь на Node Editor.

Добавьте новый слой рендера (Add > Input > Render Layer), и в его выпадающем списке выберите только что созданный слой Heat Distortion.

Добавьте нод Displace (Add > Distort > Displace), соедините его как показано на рисунке, и выставите значения X Scale и Y Scale равными 10.

Увеличение искажений на большом расстоянии

Добавьте нод Map Value (Add > Vector > Map Value). Соедините его и выставите значения как показано на рисунке:

Добавьте нод ColorRamp (Add > Converter > ColorRamp) и соедините его с нодом Map Value.

Добавьте нод Mix (Add > Color > Mix) и произведите следующие настройки:

Создание шума

Добавьте нод Defocus (Add > Filter > Defocus) и соедините его как показано на рисунке:

Выставите на нем следующие настройки:

Создание миража

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

На этом все. Перед финальной анимацией не забудьте соединить выход нода Defocus со свободным входом нода Add.

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