четверг, 25 февраля 2016 г.

Создание блока.


Опишу, как я создаю блок. Мало ли, вдруг прогрессирующий склероз совсем заест. Или вдруг кто совет полезный даст.





Часть I. Моделирование.

    Начинать нужно с выбора какого же размера будет блок. Я выбрал размер 4х4х2 метра, хотя было время когда я на полном серьёзе пытался сделать размер 2х2х4. Дальше нужно определится, какое будет сечение у блока по краям, что бы он стыковался с соседними без дырок. При создании первого блока параметры можно подбирать "на глаз", и записывать куда-нибудь, для создания последующих блоков. В моем случае параметры следующие:
N --- AZ --- Y --- Z
0   :   0.0     -0.5  -0.5
1   :   0.5     -0.1  -0.5
2   :   1.0    +0.1  -0.5
3   :   1.5        -      -
4   :   1.8        -    +0.3
5   :   2.0    +0.3  +0.2
AZ - абсолютная высота точки, Y - сдвиг по оси Y, Z - сдвиг по оси Z. Сдвиг считается от соседнего ряда, причем началом координат является 3 ряд, то есть относительно него сдвигаются 2 и 4 ряд и так далее. Можно и по-другому сделать, не вопрос, просто 3 ряд является средней линией блока, от которой и осуществляется вся пляска.
    Дальше добавляю в сцену плейн, масштабирую и подразделяю. Затем выбираю точки, как показано и удаляю. Меня по сути интересовали только две точки по краям.


    Затем по очереди выделяю эти две точки и экструдирую СТРОГО по оси Х к центру блока. Это очень важно, потому что так нормали крайних полигонов соседних блоков будут иметь одинаковое направление и шов между блоками будет незаметен. Дальше  выделяю одну из точек и выдавливаю в прихотливую фигуру,  которая будет определять кривизну поверхности блока. И перемещаю полученную кривую на 1,5 метра вверх. Это будет 3 ряд. 


    Вот теперь время использовать таблицу смещений. Я начал от 3 ряда вверх. Экструдировал и смещал. Когда добрался до верха, соединил несколько точек в полигоны, хотя это и не обязательно.


    Затем снова выдавливание, но уже только по оси Y. Не снимая выделения сразу масштабируем полученную линию по оси Y в ноль.  S -> Y -> 0. Выставляем координату линии по Y равной границе блока, в моем случае 2 метра.


    Аналогично идем вниз, не забываем проверять направления нормалей.


     Вот что получилось:




Часть II. Развертка.

    Задача максимум при развертке блока - что бы текстура была без "растяжек", без швов стыковалась с текстурами на соседних блоках. В полученном блоке можно выделить три зоны: верхняя и нижняя плоскости и поверхность обрыва. Выделяем грани и Mark Seam


    Теперь разворачиваем. Результат мягко говоря на бесшовность не претендует:


    Растаскиваем острова как нам удобно, масштабируем и размещаем так, что бы по оси X острова занимали всю ширину изображения. Выравниваем кривые края острова по краю изображения. В каждом вертикальном ряду выбираем по четыре точки, и выравниваем их высоту по оси Y.


    И немного перемещаем их по оси Y, что бы точки заняли как можно более ровное положение на координатной сетке. Можно немного подвигать вершины, добиваясь лучшего результата. Экспортируем полученную развертку как изображение, она теперь будет играть ту же роль, что и таблица при моделировании меша.



Часть III. Текстурирование.

    
    Теперь надо наложить текстуры. Добавляем мешу материал и в нем создаем три текстуры - песка, камня и обрыва. Разделение текстур по высоте с помощью нодов я в данном случае использовать не буду, разделю их с помощью текстурной маски. Создаем новое изображение, перехожу в режим рисования и включаю кнопочку "тайлить по оси Х". Таким образом изображение получится бесшовным. Очень удобно.


    Рисую так, что бы размытая область приходилась на полигоны обрыва. Затем создаем полученную текстуру и накладываем как текстурную маску.


     Результат. Хорошо виден шов что из-за разреза на развертке между верхней плоской поверхностью и обрывом.  Что бы этого не было заметно, накладываем текстуры песка и камня не по UV - развертке, а по GLOBAL.


    Рисуем вторую маску. Аналогично первой, но в другом месте.


    Можно уже полюбоваться. В принципе текстурирование в данном случае закончено. Не забывайте сохранять изображения масок.


    Копирую блок и ставлю копию рядом.  Шов не заметен, разумеется, если у вас хорошие бесшовные текстуры.

   



Комментариев нет:

Отправить комментарий