Моделирование криволинейного пола Bolefloor

210bb661bcea96781159e43fede63e3e.jpg

Привет всем!

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

Приступим!

Любые полы начинаются с контура помещения. Получим его при помощи сплайна:

3e5cb218681f4165c291a29430514cec.JPG

Первым, кто придет на помощь будет FloorGenerator. Но сперва обратимся к производителю полов за справкой. Нас интересуют параметры полов Bolefloor.

80ef67bc5e87de0b7d332c63711d1757.JPG

Теперь допустимые значения нам известны: длина не более 2950 мм и ширина от 100 до 350 мм. Производитель подсказывает нам, что ширина досок покрытия естественно колеблется. Отлично, запомним это.  

И так, FloorGenerator. Он будет первым в нашем стеке модификаторов. В параметрах модификатора я установил разброс по длине доски: Max Length – 2500, Min Length – 1500; разброс по ширине доски: Max Width – 260, Min Width – 180 (эти числа могут быть любыми в пределах значений приведенных производителем). Далее при помощи параметра Min Offset % я выбрал такое положение досок относительно друг друга, при котором их торцы максимально не совпадают с соседними досками. Так полы будут смотреться наиболее выигрышно. Зазор между досками Grout Len – 0,5. Флажок с параметра Bevel я снял, эта функция сейчас нам не важна, к этой настройке мы вернемся ближе к финалу. С помощью параметра Directionразвернул полы на 90 градусов, а параметром Offset Y сдвинул полы так, чтоб крайние доски были приблизительно одной ширины слева и справа. Отлично, на этом прощаемся с FloorGenerator, он нам больше не поможет.

4749a6b74d6d2a1f06de8f3800fe7556.JPG

Добавим Edit Poly, перейдем в режим редактирования полигонов. Автоматически подсветятся верхние полигоны. Сочетанием клавиш CTRL-I инвертируем выделение и удалим боковые полигоны. 

08c210a177d00cde30456386a5ae2c9b.JPG

Для дальнейших манипуляций с продольными швами нам нужно увеличить плотность сетки. Тут поможет модификатор Quadyfy Mesh. Значение параметра Quad Size рекомендую 0,45 - 0,5. Меньше не нужно. 

a2d6e8d8b4d01a951c93bf5d80a63221.JPG

Затем, нам нужен Edit Poly, чтоб выделить полигоны, которые будут подвергаться трансформации. Выделить нужно все кроме двух-трех полигонов по периметру пола. Эти полигоны должны сохранить свою форму дабы не было щелей около стен. 

3ffd4089268a6fea9ba7ba104e4d4841.JPG

Пришло время для модификатора Noise. Его параметры на вкус и цвет, но мне подошли те, что на скриншоте ниже.

2288b694325e2cbcd0ca2c2930c90ca1.JPG

Уже хорошо заметны плавные изгибы продольных швов. Но этого мало для нас)) Их можно доработать при помощи модификатора FFD (box).

667ceb8341b7c03fe8f28fa2501ded9c.JPG

Добавим его в стек модификаторов. Изменим количество контрольных точек до 15(можно и больше/меньше) по ширине и длине. Теперь мы более точно контролируем нашу геометрию. Просто двигая эти точки поправим геометрию на свой вкус и там, где это необходимо.

7ad18f606c8cc12c6e87639487d224fa.JPG

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

Но прежде нужно наложить текстуру. Сделать это нужно именно на данном этапе моделирования. Потом сделать это будет сложнее. Подбираем нужную текстуру. Создаем материал. И применяем к поверхности.

Простой материал дерева:

cac35a230faaf6a4501b37cb0a6c487f.JPG

Присваиваем его нашему полу.

Далее сам пол можно уже конвертировать в Editable Poly, и применить модификатор Unwrap UVW. В модификаторе перейти на подуровень полигонов и выделить все полигоны наших полов. Во вкладке Peel нажать Quick Peel. Появится окно UV Editor. По порядку нажимаем Flatten by Polygon Angle (это автоматически выровняет наши плашки относительно горизонтали) и Pack: Custom (это впишет все плашки в площадь текстуры с минимальными промежутками). В итоге должно получится что-то типа этого. 

56e77ad9187c42294389d9f2ec6c1a19.JPG

63d876ab5a55c22a12bd4e8021335b3a.JPG

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

cccf1c804b4f0941fa3c93cc47576407.jpg

Почти готово, осталось придать полам объем.

Последний модификатор. Edit Poly. Кидаем прям сверху на Unwrap UVW, чтоб при необходимости  можно было вернуться и под настроить положение нашей текстуры перед финальным рендером. Идем на подуровень полигонов, выделяем все и жмакаем Extrude, задаем толщину доскам, например, 10 мм. Осталось сделать фаску.

По изображению видно, что фаска не более чем 2х2 мм. 

c631923db546c2c0c4ed2f7065457312.jpg

Я сделаю 1.5х2 мм. Но это дело вкуса. Нам никто не мешает сделать ее меньше или больше. Фаску делаем при помощи Bevel.

9e95ff3d8357ffe85072651b7c9c4864.JPG

Готово!

Можно смело рендерить. 

733d1dc75c942de7eb4023a27435987b.jpg

Всем спасибо за внимание. Надеюсь, что этот алгоритм пригодится кому-то ещеsmiley-smile.gif

Комментарии (43)

+19
Tmin
У плотника перед укладкой полов был недельный запой или глаза смотрят в разные стороны ! )))
Но он точно Мастер с большой буквы!!! Зазоры подогнал в ИДЕАЛ !!! )))
0
PavelStulov
Да что их там подгонять)) Взгляни на процесс производства. Там даже карта укладки есть. Пазлы сложнее собирать чем эти полы)))) http://www.bolefloor.com/?lang=ru#p=#video-7 
+1
Sult
Очень интересный и полезный урок. Спасибо сенсей ;)
+2
PavelStulov
Пожалуйста, друг)
+18
Di06
а...а зачем?
+2
StunBreaker
Не плохо - но слишком долго, ещё и руками переворачивать UVW полигоны некоторые, это вы ещё не проводили тесты на сплайне круга, уж я точно знаю что вас там ждет )

не сочтите за рекламу - не проще это было бы сделать моим скриптом? Там UVW в один клик ложится автоматом в правильной раскладке - ничего руками доводить не надо, а на готовую геометрию кидаем уплотнение сетки + Noise..
p.s. ещё можно и Z рандомно по высоте раскидать у каждой доски, у FG нет такой функции.
+1
PavelStulov
Привет)) В действительности на практике это происходит все быстрее чем в уроке. Я просто разжевывал все до мелочей и кучу картинок прикрепил. Перевернуть придется кое что, да...но такая ерунда случается только с квадратными досками. Их бывает всего 2-3 ну максимум 5 на всю площадь. Это минутная работа.

С вашим скриптом я ознакомился. Он правда хорош, но воспользоваться не успел. С задачей сделать такие полы я столкнулся еще в середине зимы. И у меня есть сомнения,что после того как я положу текстуру на полы сделанные вашим скриптом и начну кривить их при помощи Noise, текстура погнется вместе с досками. В уроке я спецом сперва гну доски, а потом делаю Unwrap. Вообще, я буду очень рад если найдется альтернативное решение с такими полами. А то когда я получил задачу сделать такие полы меня на пару минут в ступор кинуло. И абсолютно никакой инфы в интернете.
+1
StunBreaker
"Перевернуть придется кое что, да...но такая ерунда случается только с квадратными досками" - не совсем так, перед созданием своего скрипта я перепробовал сотни разных форм поверхности - и в том числе круг (или полу круги) на таких участках UVW не понимает куда повернуты локали у полигонов - этот момент пришлось доводить программно...

попробуйте создать круглый сплайн приличного размера - примените FG+UVW и увидите сколько будет таких "перевёртышей" =)

"И у меня есть сомнения,что после того как я положу текстуру на полы сделанные вашим скриптом и начну кривить их при помощи Noise, текстура погнется вместе с досками" - ничего подобного не возникнет если вы сначала примените Noise, а уже потом один клик по "авто развертке" =) ибо в вашем уроке была бы такая же каша если сделать наоборот.

Вам спасибо в любом случае за труды ! =)
+1
PavelStulov
Я абсолютно со всем согласен. Мой способ только для прямоугольных помещений. Хотя любую геометрию стен можно обхитрить при большом желании. Ну пусть полы выходят за пределы стен, никто этого не узнает ;) Corona вообще не реагирует на пересечения. У меня так куча знакомых дизайнеров делает и не парятся. Потом рассказываешь им про FG и у них переворот сознания случается ))))

И вам спасибо за интерес к моей статье)
P.S.
А вот круто было бы протестить ваш скрипт для этих полов. Я б протестил, отписался)
+2
StunBreaker
Если интересно то вот: http://polariton.ad-l.ink/78RFnvFrh/image.png 

после генерации просто накинул - Noise =) + Клик по авто развертке, можете заметить что все плашки раскиданы в одном направлении. руками было бы затратно по времени править их, если ещё и будет большая площадь )

p.s. сейчас только заметил что стык по вдоль между досками у вас ровный, мне надо было из Noise исключить эти швы )
+3
Kenzo80
Есть люди которым нравится такой "пьяный" пол?))
+2
PavelStulov
Конечно, ведь спрос рождает предложение) смотрятся они кстати очень здорово в помещении.
+1
AlexBaranovv
Мне очень нравятся, даже собирался заказывать... не потянул))
+19
ck_petya
За труды, спасибо.

Использовать это в работе, я конечно же, не буду.
+2
PavelStulov
И вам спасибо за внимание. Но кто знает, я тоже присел когда в ТЗ увидел эти полы)))
+3
cherkio
все таки вышло не так как на референсе, жаль
0
PavelStulov
Давай разберемся вместе )) получится!
+2
PavelStulov
упс. пардоньте не так понял вас. Я с этого референса брал за основу только фактуру и цвет. Геометрию стыков можно любую сделать. все зависит от времени которое вы готовы потрать на эти полы.
+6
paz
Я бы сплайнами и нойзом сделал.
+1
rnax
Не хватает хаоса в щелях, поэтому смотрится не естественно...
+10
Tmin
Делай по алгоритму который дал paz - и будет точно с референсом.
Хотя нормальные советы тут уже не ценятся, даже не плюсует за них никто ! (((

https://b3.3ddd.ru/media/tinymce_images/tmin/0ed0d558de43219367fb5a408b8652ec.JPG 
+2
sevostyanov
дайте, пж, ссылку, где paz описывает сей алгоритм... сейчас не надо, но интересно почитать
0
Tmin
Смотрим пост выше - " Я бы сплайнами и нойзом сделал."
Это сам алгоритм, и лучше его не описать!
А уж как его использовать? Это каждый в меру своей испорченности ... )
Например берешь равный пол и "фрезеруешь" стыки сплайнами.
+3
sevostyanov
Гыы)) ответ из разряда "а я бы лучше сделал!"
чел тут описал, разжевал все, скрины сделал, а тут оказывается вон как))
Зачем такие алгоритмы писать не понимаю. Равносильно, что написать "Я бы в программе 3д моделирования это сделал"

Не сочтите это за наезд, уважаю и ваш труд и труд автора, но если тут говорить о каком-то алгоритме, то наверное стоит его описывать иначе зачем вообще о нем заикаться?
+2
Tmin
"Не сочтите это за наезд, уважаю и ваш труд и труд автора, но если тут говорить о каком-то алгоритме, то наверное стоит его описывать иначе зачем вообще о нем заикаться? "
Тоже не сочтите за наезд, но жевать азы дело не благодарное. Да и не к чему это!
+2
Guppi
Это щас было из серии школы 1 класса, "я могу залезть на дерево, но не хочу"
0
Danku
Тоже интересно посмотреть на этот алгоритм.
0
shdwalex
Э народ ну харэ "не догонять"..)) Алгоритм - это слово, которое использовал человек, имея в виду Метод. Метод, как и написано заключается в замене геометрии Сплайнами(что лично по мне теже яйца только в профиль), а ФФД на Нойз (где как раз и кроются более гибкие настройки искажений Нойз+фракталНойз. И да - это базовые знания, никакого таинства.
0
Tmin
Кто же тебе алгоритм разжевал ?! Или ты настолько крут.... )))
0
Maketer
Поломал голову немного, но не думаю, что все сделал рационально)
+1
Tmin
Кстати параллельные изгибаемому шву лупы можно убрать на стадии моделинга и при необходимости дорезать потом.
0
PavelStulov
да не, тут строгий технологический зазор в щелях. В производстве ЧПУ используют и какие то проги для раскроя. http://www.bolefloor.com/?lang=ru#p=#video-7 
+1
alexkopylov
Круто, спасибо. Ничего сложного, но полезно. Взял на заметку.
0
PavelStulov
Пожалуйста))
+2
3ton
Половое покрытие-это сильно.
0
epush
Пока не наштамповали, нужно свой залить в базу))
+1
shizgara
Автору спасибо. Но в реале это не будет использовано никогда. Как практик говорю.
+1
Arrow92
Спасибо, пригодится))
+1
Anna1975
Спасибо автору! Мне нравится такой пол, есть заказчики, которым тоже понравится!
0
paz
Мне просто это не интересно, если честно. 7 лет проработал дизайнером-визуализатором. сыт по горло. да и описывать элементарные вещи, пардон... какой смысл? вы что заплатите за это?

Просто вспомнил про сплайны, так как в одной из последних работ была метода мной использована, конечно не по интерьерам.
Сейчас в работе мега-крутой урок на космическую тематику.
0
giglen
1. сплайны
2. noise на точки.
3. все
4. ах да, забыл, еще 1 нойз турбуленс
+1
Galya87_21@mail.ru
Спасибо Вам ОГРОМНОЕ!!!! Все получилось!!! Вы мне очень помогли!!!