Эх, путь-дорожка... Часть 3.

Третья часть нашего "дорожного урока" направлена на более продвинутое и более грамотное построение геометрии дорог. Сам урок содержит следующие разделы:

1. Продвинутый поворот на 90 градусов, плавный и крутой. Работа с инструментом Arch.
2. Как правильно текстурить сложную геометрию.
3. Func_detail.


1. Продвинутый поворот на 90 градусов


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


Используйте опорную сетку 8 или 16. Выберите нужную текстуру дороги до построения поворота. Растяните пунктирный контур до нужного размера, как пример - 256х256, в окне проекции вид сверху "Тор" и нажмите "Enter". У вас откроется окно свойств вашего поворота:
Настройки поворота


Wall width: - ширина блока (равна половине ширины дороги)
Numbers of Sides: - количество блоков в повороте
Ark: - полная окружность, половина, четверть (в градусах)
Start Angle: - угол начального блока при виде сверху
Add Height: - добавить высоты, каждый следующий блок будет приподнят по отношению к предыдущему на указанную величину (используется при построении винтовых лестниц, сейчас поставьте нуль).
Вид "Preview:" - указывает, как будет выглядеть ваша деталь в окне проекции "Тор". Нажмите "ОК", чтоб построить поворот.
Внимание! После изменения параметров, не забывайте нажимать кнопку "Preview" для обновления окна предпросмотра.
При необходимости, передвиньте полученную фигуру в нужное место.

2. Как правильно текстурить сложную геометрию


Вы наверняка видели в Интернете кучу "мудрых советов", по-типу "Как правильно текстурить изогнутые поверхности и повороты дорог", в которых предлагается подсчитать количество блоков. Потом угол поворота разделить на количество блоков и потом поворачивать текстуру на каждом блоке согласно полученному результату. В конце концов вы получали подобный кошмар:
"Кривое" текстурирование


Текстуры не стыкуются, да к тому же их приходиться "гонять" по блоку для подгонки... Увеличение количества блоков, помогало, но не на много, так как появлялось размытие текстуры...
"Кривое" текстурирование - 2


Забудьте этот бред немедленно! Выбросьте его из головы и НИКОГДА не вспоминайте и не применяйте!
Предлагаю вам более простой и эффектный способ, не требующий расчетов и ненужных телодвижений.
Выберите браш с прямым участком дороги примыкающим к повороту, возьмите инструмент "Toggle Texture Application" (можно вызвать нажатием "Shift+A") и щелкните левой кнопкой мыши на верхней грани. Этим действием, вы взяли образец текстуры для дальнейшей работы.
Забор образца


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


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


Последний шаг! Точно в таком же порядке перенесите опорную текстуру с боковой грани каждого блока на его поверхность. Левой кнопкой взяли образец с боковой грани, зажали "Alt" и правой кнопкой нанесли на поверхность. Вот и результат работы.
Результат


Для сравнения. Посмотрите на текстурирование поворота на этом рисунке, левая часть рисунка текстурировались согласно "мудрого совета", правая согласно нормы текстурирования принятого в VALVE.
Сравнение методов



3. Func_detail


Как вы наверняка знаете, движок Source разбивает браш на полигоны, и если браш пересекается с другими брашами, то количество полигонов возрастает. С повышением количества полигонов падает производительность на вашей карте. А в нашем повороте много блоков, которые будут пересекаться с другими брашами и дробить их на полигоны... Как этого избежать? Да очень просто! Превратите ваш поворот в Entity! Движок Source игнорирует Entity пересекающие браши и не делает разбивку на полигоны. Если вы разгруппировали ваш поворот на отдельные блоки, то выделите все части в один активный объект (легче всего это проделать зажав "Ctrl" и щелкая по центрам нужных блоков). Убедившись, что все части активны (имеют красный контур), нажмите "Ctrl+T", это действие преобразует ваши браши в Entity-объект и раскроет окно свойств. Тип объекта, вы можете выбрать из выпадающего списка, сейчас нам необходим func_detail. Выберите его и нажмите "Apply".
Преобразование в Entity-объект


Этот пример крутого 90-градусного поворота применим и для четырех полосной дороги. Просто повторите все действия, применив свои размеры Внимание! Параметр Wall width: - ширина блока, в любом случае должен быть равен половине ширины дороги!


Плавный поворот на 90 градусов


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


Примените технику тектурирования рассмотренную выше и преобразуйте поворот в func_detail. Вот что получается в итоге:
Готовый плавный поворот



Часть 2

Похожие новости

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

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.