Раскидка объектов по кривым в Blender
Портфолио
В данном уроке мы рассмотрим три способа раскидки объектов по кривым, каждый способ имеет свои плюсы и минусы которые мы рассмотрим на простых примерах со стандартными объектами и на упрощенных производственных ситуациях. Этот урок будет полезен не только ювелирным и 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
Делаем parent дублируемого объекта с кривой, выделяем объект, потом кривую, нажимаем сочетание клавиш Shift + P, и выбираем пункт Object в всплывающем меню.
Далее в настройках кривой, в свитке Path Animation (Включаем свиток Path Animation если он отключен) включаем опцию Follow
Сейчас объект деформируется по кривой с offset, но в этот раз что бы поставить его на место нам необходимо расположить его не на origin, а в начало кривой, вручную нам этого делать не придется, выделяем объект и нажимаем комбинацию клавиш Alt + O. После заходим в настройки объекта и активируем параметр Frames в свитке Duplication и отключаем опцию Speed. Наш объект успешно копируется вдоль кривой.
Теперь что бы уменьшить количество копий заходим в настройки кривой и меняем параметр Frames до необходимого.
Данный способ лучше всего подходит для раскидывания объектов без деформации, когда их точное количество знать не нужно.
Мы так же можем заметить что деформаций как при предыдущем способе не происходит, к тому же объект раскидывается по длине всей кривой изначально и нам не нужно прибегать к «буферной геометрии» как в предыдущем способе для создания расстояния между первой копией и последней при замкнутой кривой.
Способ третий: DupliFaces
Отодвигаем в сторону объект и в меню выбираем Object → Make Dupli-Face, оригинальный объект перемещается в центр глобальных координат, а на его месте появляется новый DupliFace объект.
В настройках DupliFace объекта отключаем параметр Scale т. к. это заставляет копируемый объект зависеть от размеров фейса который его дублирует (Inherit Scale — настройка для коррекции размера при включенной опции Scale).
Далее мы просто добавляем к DupliFace объекту модификаторы Array и Curve, смысл в том, что бы с помощью модификаторов деформировать объект DupliFace деформации которого не влияют на дублируемый объект. Таким образом мы берём все самое лучшее от двух предыдущих способов. Мы получаем легкий для контроля, гибкий и параметризованный дублируемый объект. Камни раскиданные подобным способом автоматически считываются аддоном JewelCraft.
С помощью этого способа мы с легкостью можем создавать сложные изделия за меньшее время.
Вывод
Каждый из представленных способов имеет свои особенности помогающие или мешающие в определенных ситуациях: * Первый способ: если необходима деформация копируемого объекта * Второй способ: если необходимо сохранить изначальную форму объекта и не нужно знать точное количество копий * Третий способ: если необходимо сохранить изначальную форму объекта, сложные деформации копируемого объекта и необходимо знать точное количество копий — идеально для раскидки камней