Суббота, 21.12.2024, 20:21

logo

Пользовательский поиск

Форма входа

Меню сайта
Категории раздела
Форма входа
Наш сервер CS 1.6
Поиск
Наш опрос
Ваш телефон
Всего ответов: 183
Друзья сайта


Главная » FAQ [ Добавить вопрос ]


Технология Source
Здесь мы рассмотрим некоторые общие теоретические вопросы по графическим технологиям движка Source.

Альфа-каналы: 1 бит или 8 бит?
Альфа-канал может служить для двух основных целей: задание маски и частичная, вообще говоря, неравномерная прозрачность текстуры. Маска определяет, какие фрагменты будут отброшены при наложении текстуры (альфа-тестирование). В хл1 мы задавали маску для текстур, содержащих символ {, с помощью последнего цвета в палитре. В хл2 для этого можно использовать альфа-канал текстуры. Так как значение маски может быть либо 0 (фрагмент отбросить) или 1 (сохранить), то для канала достаточно одного бита. В случае задания неравномерной прозрачности (0 – полностью прозрачно, 255 – полностью непрозрачно, 127 – полупрозрачно), то потребуется 8 битов на альфа-канал.

Карты высот и карты нормалей
Карта высот – это черно-белая текстура, с помощью которой задается микрорельеф поверхности. Если мысленно расположить текстуру перед глазами, то самая светлая точка (белая) будет располагаться ближе всего к нам, а самая темная (черная) дальше всего. Таким образом мы задаем неровность поверхности. Однако на деле обычно применяют первую производную этой текстуры, называемую картой нормалей (т.к. фактически в текстуре хранится нормаль касательной плоскости). При этом вектора нормалей нужно «паковать» из диапазона [-1;1] в [0;255], т.к. цветовые компоненты текстуры, вообще говоря, беззнаковые байты. Карты нормалей обычно выполнены в характерных розово-голубых тонах, т.к. нормаль на наблюдателя кодируется цветом (128,128,255). Для построения карты нормалей из карты высот существуют различные утилиты, в том числе и плагин для Photoshop.
Кроме того, для более старых видеокарт в HL2 применяются карты искажений вместо карт нормалей (DUDV maps, или DsDt maps). Программу для их построения можно найти здесь.

Кубические карты
Каждая кубическая карта (cube map) представляет собой набор из шести текстур одинакового размера, которые как бы наложены на грани куба. Ближайшую ассоциацию с кубическими картами вызывает небо в первом Half-Life. Для доступа к кубической карте координаты текстуры задаются особым образом: они должны формировать вектор (вообще говоря, неединичный), выходящий из центра куба. Тогда та точка на одной из граней куба, которую пересекает луч, и определит цвет фрагмента. Таким образом, кубическая карта может задавать произвольную функцию от направления в трехмерном пространстве. В Half-Life 2 кубические карты используются для моделирования отражений. Если вы поняли все вышесказанное, то сможете легко догадаться, что для этого нужно: отраженный вектор в каждой точке поверхности. Он может быть вычислен как автоматически на основе положения наблюдателя и нормали, так и во фрагментной программе с учетом карты нормалей.

Parallax Mapping
Это изменение текстурных координат в точке в зависимости от положения наблюдателя. Для моделирования этого изменения используется карта высот (описанная выше). Все вычисления (в том числе и сложные, с попиксельным raytracing) реализуются при помощи вершинных и фрагментных программ, поэтому требуют наличия современного оборудования. Сама Valve писала, что эта технология не использована в хл2, однако присутствует в Source Engine, и авторы модов могут без проблем ее включить.

Что такое HDR
HDR (High Dynamic Range) – технология, зачатки которой мы видели еще в бете хл2, но полностью продемонстрированная нам в Lost Coast. Суть технололии – в расширении диапазона цветов. Например, отраженный от стен свет в сотни раз слабее, чем свет от самой лампочки. Стандартного 32-битного цветового диапазона (по 8 бит на компоненту) не хватит, чтобы обработать такую разницу и при этом сохранить достаточную точность. В работе HDR используются 16-битные цветовые компоненты (2 текстуры HILO) или форматы с плавающей точкой (float buffers, pixel format float), после чего в обычный 8-битный диапазон монитора можно перевести какой-либо участок значений высокой точности (tone mapping). То же самое используется при просчете пост-фильтров – больше не теряется цветовая информация при применении фильтра. Пример применения HDR – солнечный эффект: если мы смотрим прямо на солнце, то оно очень яркое, и более практически ничего мы не видим. Если солнца нет, и средняя освещенность меньше, то различаются более тонкие оттенки темных объектов.

Как распаковать/просмотреть GCF-файлы?
Скачайте GCFScape . Она умеет также работать с BSP, PAK и WAD-файлами первого Half-Life.

  • В первую очередь нужен сам редактор - Valve Hammer Editor (VHE) Старые версии этого редактора назывались Worldcraft, хотя, впрочем, многие по привычке используют это название.
  • Далее вам нужны утилиты, переводящие карту из формата редактора map в формат игры bsp (компиляторы). В комплекте с хаммером есть такие, но они старые, и в них полно глюков. Лучше вместо них используйте Zoner's Half-Life Tools (ZHLT), модифицированные XpCagey
  • Здесь можете найти различные полезные утилиты:hl programs
Помимо VHE существуют и другие редакторы:
Quark - www.dynamic.gamespy.com

QERadiant - www.qeradiant.com

Настройка произодится из окна Options, вызываемого из меню Tools. Окно содержит шесть закладок, но для работы редактора необходимо настроить лишь три.
Game Configurations служит для создания и редактирования профилей, каждый из которых позволяет создавать карты для определенной HL-модификации. Если профилей больше одного, то при открытии карты в редакторе вас будут спрашивать, профиль какого мода для нее использовать. Например, Half-Life, Counter-Strike, и т.д. Основной пункт этой настройки - FGD-файл, который содержит описание всех объктов (энтитей) для мода. К HL и CS уже прилагаются fgd-файлы. С остальными полями этой закладки, если вы имеете представление о структуре размещения модов в Half-Life, вы с легкостью разберетесь сами.
Закладка Build Programs содержит пути к исполняемому файлу игры (hl.exe), к компиляторам (как правило, zhlt) и к папке, куда будут помещаться готовые карты.
И наконец, в закладке Textures, вы должны указать используемые в игре библиотеки с текстурами. Они имеют расширение WAD и хранятся в папках модов (valve, cstrike, ...)

Для начала - откомпилировать.
Простой способ - нажмите в редакторе F9 поставьте везде normal. Можете поставить в RAD extra, тогда освещение будет красивее, но компиляция будет длиться дольше. Если вы не поставили галочку "Dont run the game", то после компиляции автоматически запустится игра с вашей картой.
Более сложный способ - нажмите expert. Здесь вы вручную можете задать настройки компиляторов, которые можно узнать из мануала, прилагающегося к zhlt.
"Профессиональный" способ - Компилировать из bat-файла, вызывая компиляторы из командной строки с нужными параметрами (подробнее читайте ниже). В этом случае компиляция идет быстрее, так как редактор, сжирающий кучу памяти, здесь не участвует. Также в этом случае, если добавить каждому компилятору параметр -estimate, то вы будете видеть примерную информацию об оставшемся времени до завершения.

Порядок запуски компиляторов таков: CSG (обрабатывает геометрию), BSP (создает bsp-файл, который можно запустить в игре), VIS (расчитывает информацию о зонах видимости, что убирает тормоза), RAD (добавляет в bsp-файл информацию об освещении карты - тени и т.д.)


Copyright www.akksimo.net © 2024