23.11.2017  08:16  2017  
Главная | Регистрация | Вход Приветствую Вас Гость | RSS
Меню
Категории
Общее по Source [19]
Counter-Strike: Source [1]
Half-Life 2 [35]
Half-Life 2: Deathmatch [0]
Left 4 Dead 1/2 [6]
Portal [0]
Portal 2 [0]
Postal III [0]
Флудилка
Наш опрос
Самая любимая кампания в Left 4 Dead 2
Всего ответов: 217
Часики =^_^=
Случайная картинка
Кто тут ?

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » Статьи » Tutorials » Общее по Source

Брашворк: Арки и Торы
Начнем с самого простого
1. Поворот дороги.
Изображение
Давайте
сразу определимся - ширина дороги будет равна 512-ти юнитам. Имхо самый
приемлемый вариант. Для радиуса поворота я выбрал значение 1024.
Выбираем инструмент Block Tool - acrh.
ИзображениеИзображение
Переходим
на вид сверху Top (x/y) и рисуем квадрат 1024х1024 (по радиусу). Жмем
Enter и перед нами появляется окно параметров арки.
Изображение

Давайте разбираться
Wall width - толщина стенки арки.
Number of Sides
(max 2048) - кол-во брашей, из которых будет состоять арка, чем выше
это число, тем плавнее и реалистичнее будет смотреться арка. Но прежде
чем забивать туда астрономические цифры вы должны прочесть Важное примечание:при создании арки программа просчитывает координаты вершин брашей с точностью до одного юнита,
поэтому если вы создали маленькую область арки и указали в Number of
Sides большое значение, то не удивляйтесь, что ваша арка получится
кривой, бесформенной и т.д. А при скейлинге уже готовой арки, вершины
могут меняться по координатам с точностью до тысячных долей юнита, но
даже это не всегда спасает от кривизны и даже может вызвать ошибку
компиляции, поэтому будьте аккуратней.
Arc (0-360)- угол арки
Start Angle
- угол, с которого будет начинаться арка (против часовой стрелки). На
форму арки не влияет, влияет лишь на расположение по отношению к
мировым осям
Изображение

Add Height
- добавление высоты, например для создания винтовых лестниц. В этом
поле указываем высоту одной ступеньки (обычно 8 ). В Number of Sides
будем указывать количество ступенек.

Вернемся к нашей дороге
Нам нужен поворот 90 градусов, поэтому Arс ставим 90.
Wall Width - 256, «почему в 2 раза меньше фактической ширины?» - возможно спросите вы, - а вы посмотрите на превью: программа думает что вся область превью – это созданный нами квадрат 1024х1024, теперь мысленно разделите область Preview на 4 части
Изображение
и увидите, что арка нам нужна шириной не 512, а 256, что мы и забиваем в поле Wall width, НО
при нажатии на ОК эта арка растянется и заполнит всю созданную нами
область 1024х1024, то есть площадь арки увеличивается в 4 раза и ширина
дороги становится 512.
За этот небольшой недочет разработчикам "респект".
Number of Sides - 8. Далее - ОК.
Красим
арку в текстуру дороги со скейлом 1:1 (если текстура 512х512). Для того
чтобы текстура легла как надо открываем Texture Application (Shift+A)Изображение выделям каждый фэйс по отдельности и указываем Rotation, руководствуясь схеме ниже.
Изображение
Для
каждого фэйса нужен свой угол. Это не идеальные значения, по идее, если
сложить все углы должно получиться 360, а здесь 361,5, но это не портит
нам картину. После того как все углы указаны и применены, выделяем все
фэйсы и выравниваем по краю (кнопка R или L) или по центру (С).
Изображение

Примечание: смотрите, чтобы при выравнивании текстур галочка treat as one была снята.

Есть еще один вариант создания поворота - дисплейсмент. Его я не буду подробно расписывать ( http://www.snarkpit.net/index.php?s=articles&article=146 ), а лишь расскажу принцип. Создается система арок такого вида (1):
Изображение
И
по ней рисуется дисплейсмент, то есть соединяются вертексы
дисплейсмента с вертексами арок. Затем арки удаляются. Способ
геморрный, зато смотрите результат (3) - текстура сама растягивается и ложится практически идеально.
ЗЫ: 2 – случай, который мы только что рассматривали.

2. Коридор с арочным потолком и плавными поворотами.
Изображение
Тут
я не буду отвлекаться на текстуры. Ширина коридора пускай будет равна
128, а толщина стен 16. Сделаем сначала прямую часть коридора.
Изображение

Затем
выбираем Block Tool - acrh, переходим на вид сверху и рисуем квадрат
160х160 (ширина коридора с учетом толщины стен), Параметры арки можете
посмотреть на скрине.
ИзображениеИзображение
Итак,
у нас получилась вытянутая арка, сжимаем ее до размеров 160х80, жмем
Ctrl+M и крутим ее как надо (действуйте по ситуации), ставим на место
потолка и растягиваем по всей длине коридора. Ну вот, самая легкая
часть готова.
Изображение

Делаем плавный поворот. Для удобства копируем готовый коридор и ставим оба вот так
Изображение
Чтобы
создать наружный поворотный сектор стены надо вспомнить, как создавали
дорогу. Выбираем Block Tool - acrh рисуем квадрат со сторонами равными
ширине коридора + толщины стен. Создаем арку с параметрами:
ИзображениеИзображение
Я
выбрал значение Number of Sides - 8 (запомните этот момент, мы потом
его еще вспомним) Обратите внимание, что арка занимает только ¼ часть
от всей области превью, поэтому Wall width указываем значение в 2 раза
меньше фактической толщины. ОК, сделали.
Делаем противоположную
стену: копируем арку (только что созданную) уменьшаем ее до квадратика
16х16 и переносим ее на место. Обратите внимание на то, что при
уменьшении арки уменьшается ее толщина. Хотя это и очевидно, я уже
сталкивался с работами, в которых люди этого не учитывали и для
создания поворота ж\д рельсов также копировали и уменьшали первую
созданную рельсу (с внешней стороны поворота) и разумеется вторая
получалась тоньше, потом спрашивают "а почему так?". В таких случаях
надо отдельно создавать арки для внутренней и внешней частей. В нашем
же случае этим можно пренебречь.
ИзображениеИзображение
Так. Дальше самое интересное

Потолок.
Выбираем Block Tool - torus и рисуем квадрат 320х320 (позже поясню откуда эти цифры). Смотрим на параметры торуса.
Изображение

Верхняя превьюха показывает форму поперечного сечение тора (Cross
Section Preview), нижняя - вид сверху (Top View Preview). Вот тут я
должен кое-что разъяснить, Внимание:если
назначить Rotation Arc меньше 270-ти градусов, торус (как и в случае с
аркой) будет занимать не всю область Top View Preview, при создании
растянется и получит неправильную форму.
Нам лишний геморрой с
вертексами не нужен, поэтому можно указать угол (Rotation Arc) в
диапазоне от 270 до 360 (удобнее выбирать значение, кратное 90), потом
всегда можно обрезать. Поэтому мы и рисуем квадрат 320х320, чтобы
получить в итоге круг (радиус тора=160).
Cross-Section Radius
- радиус Поперечного сечения (не путайте с радиусом тора!) – будет
равен 80-ти – это максимально возможное значение для данного случая.
Подумайте сами, при радиусе тора 160, радиус сечения никак не может
быть больше 80-ти. Если вы нажмете на Compute Max Radius,
то он вам выдаст максимальный радиус сечения, рассчитанный из высоты
нарисованного вами бокса R=h/2. Ранее я всегда говорил «рисуем
квадрат», игнорируя третье измерение; при создании тора тоже не
обязательно учитывать высоту, главное надо ввести нужное значение в Cross Section Radius и высота бокса потеряет свой приоритет.
Значение Rotation Sides
мы выбираем, опираясь на тот момент, про который я говорил, что вы
должны запомнить, указывая Number of Sides 8 в параметрах арки, когда
делали поворот стены. Т.к. тогда была арка в 90 градусов, то здесь
торус в 360, то есть в 4 раза больше, поэтому в Rotation Sides мы
указываем значение тоже в 4 раза больше 8х4=32, если вы хотите указать
Rotation Arc 270 (3х90), то в Rotation Sides указываем 8х3=24 (вот
почему я говорил что удобнее выбирать значение угла кратное 90)
Должно получиться так (при Rotation Arc = 360):
ИзображениеИзображение

Далее, используя Clipping Tool (Shift+X)Изображение, отсекаем все лишнее…
ИзображениеИзображение

Чтобы сделать поворот коридора больше радиусом,
выбираем Block Tool – acrh (начинаем с создания стены) и рисуем большой
квадрат со сторонами равными радиусу поворота стены. На этот раз мы
создадим каждую стену отдельно (без копирования)
ИзображениеИзображение
Не
забываем указать толщину стены в 2 раза меньше чем на самом деле (если
вы не понимаете для чего это надо делать, внимательно прочтите первую
часть тутора про создание поворота дороги).
У нас получилась внешняя
стена поворота; чтобы сделать внутреннюю, переключаем Snap on Grid на
16 (по толщине стены) и рисуем еще один квадрат поменьше, захватывающий
внутреннюю стену. Параметры арки такие же.
Изображение

В итоге у вас должно получиться:
Изображение

Рисуем потолок.
Выбираем Block Tool - torus и рисуем квадрат с учетом того что он
превратится потом в круг (Rotation Arc = 360) то есть в 2 раза больше
радиуса поворота 672х2=1344:
Изображение
ИзображениеИзображение

Опять же используем Clipping Tool для отрезания лишних частей и ставим крышу на место
Вспомните
как мы делали повороты дорог. Таким же образом можно сделать пол в
туннеле. Можно конечно сделать прямоугольный в виде блока - ваше дело.

Изображение



3. Трубы с плавными поворотами.
Изображение
Беру данные от балды: диаметр - 96, толщина стенок – 8, кол-во брашей из которых будет состоять секция трубы 16.

Для начала сделаем отверстие в стене, от которой будет идти труба.

Выбираем Block Tool - acrh и рисуем квадрат со сторонами = радиус трубы + толщина стенки трубы =56 (надеюсь формула понятна) смотрим на параметры:
Изображение
Это будет четверть, поэтому не сложно догадаться что Number of Sides = в 4 раза меньше чем у трубы. Толщина стенки будет равна 8 (не забываем что арка расстянется)
Далее берем в ручки VertexTool и смотрим средующий скрин
Изображение
Тут я думаю ничего объяснять не стоит, на скринах все отчетливо ясно.

Чтобы сделать трубу, выбираем Block Tool - acrh и создаем (96х96) арку с параметрами:
Изображение
Поворачиваем ее перпендикулярно к стене и совмещаем трубу с отверстием.
Изображение

Делаем поворот. Выбираем Block Tool – torus, радиус поворота я выбрал 192 (сразу считаем 192х2=384).
Изображение

Обратите внимание на форму сечения – теперь это не арка, а круг. Cross-Section Radius равен радиусу трубы (для тех кто в танке: диаметр – это два радиуса, 96/2=48)
Как
вы могли заметить, я специально опускаю все подробности, чтобы,
опираясь на всё ранее сказанное, вы сами попробовали сориентироваться в
своих действиях. Теперь попробуйте без моих подсказок создать поворот,
только уже с другим радиусом. Удачи!


Примечания:
1.
Т.к. арки и торы относятся к сложной брашевой геометрии и имеют в
основном декоративный характер, любые созданные из них элементы
вынуждают компилятор резать карту на множество ненужных листьев самых
различных форм, что занимает много времени. Поэтому такие элементы
нужно превращать в func_detail.
2.
При создании тора не обращайте внимание на то, что на верхнем превью
арка может занять не всю область. Размер арки на верхнем превью зависит
от высоты созданного вами бокса, а я уже говорил, что значение Cross Section Radius имеет больший приоритет, чем высота бокса.
3. Термин радиус поворота в данном туторе подразумевает радиус поворота по внешнему краю.



Источник: http://forum.csmania.ru/viewtopic.php?f=27&t=9276
Категория: Общее по Source | Добавил: MARK2580 (14.06.2012)
Просмотров: 595 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Video
Поиск
Форма входа
Source SDK [Steam]
Эффект перекатывания

Форум
  • Обзоры аддонов для Garry's Mod! (0)
  • Архив декомпилированных карт (1)
  • Скриншоты с наших карт (20)
  • Half-Life 2 Episode One (15)
  • Half-Life 2 Episode Two (36)
  • Обсуждение Half-Life 2 (29)
  • Ссылочки
  • Planet Phillip

  • GAMEbanana

  • Gamer-Lab.com

  • Half-Life Inside

  • CompSong

  • Anime Art

  • Кореша сайта
    Mapper720.Ru - сайт о маппинге Half-life 2

    Banners


    Copyright HL2-Fun © 2009-2017