Итак, если вы дочитали до этого места, то вы таки решили заняться маппингом (иначе бы вы не читали это, верно?). Если так, то вам нужно будет достать несколько жизненно важных для этого программ, а именно:
Valve Hammer Editor (1.9мб, Скачать) – Стандартный редактор карт от Valve, при помощи которого были созданы карты ко всем играм на движке HL. Это – основной инструмент маппера, и именно с ним вы будете работать большую часть времени. Далее в тексте VHE. Zonner Half-Life Tools (0.5мб, Скачать) – Утилиты Зоннера, набор компиляторов карт для HL. Далее в тексте ZHLT. Game Configuration File (160кб, Скачать) – Файл конфигурации от Dmitrich’а, содержит в себе наиболее полную информацию по энтити-объектам CS (об этом позже). Далее в тексте файл конфигурации.
Когда у вас начнет получаться, вам перестанет хватать ресурсов, предоставляемых игрой, и вам понадобится второстепенный софт: Adobe Photoshop – мощнейший пакет для работы с растровой графикой. Помимо множества эффектов и инструментов, он так же предоставляет возможность быстро и просто создавать текстуры для HL\CS. По понятным причинам его нельзя скачать, но, зная наглость пиратов, можно быть уверенным, что заветный диск дожидается своего покупателя в первом попавшемся подземном переходе. TextureSDK (170кб, Скачать) – утилита, быстро и просто компилирующая ваши текстуры в .wad архив. Milkshape 3D – Редактор моделей для множества игр, включая Counter-Strike. Редактор платный, т.ч. нам дается только пробная версия, работающая всего 31 день.
Итак, если все перечисленное выше (ну, или хотя бы первые 3 пункта) у вас имеется, то можно начинать работу. Я не буду занудно описывать процесс установки VHE, скажу только что его нужно ставить на тот же диск что и CS. Если нажать 4 раза “Next” было не сложно, то у вас в главном меню должен появиться соответствующий значок, который так и просит, чтобы на него нажали. Но установка еще не закончена. Создайте папку ZHLT в папке с VHE, и распакуйте туда утилиты Зоннера. После этого распакуйте в папку с VHE файл конфигурации (на вопрос о замене файлов в папке “Sprites” отвечайте “Да”).
Часть II: Настройка При открытии VHE появляется окно с надписью : “No game configuration available. You must them up in the Game Configurations tab of the Options dialog box before creating or loading a map.
Do you wish to open new user’s guide to assist you in configurating Hammer?”
Нажимаем “Нет”. Открывается окно с множеством закладок.
В закладке “2D views”
Пометить пункт “Arrow keys nudge selected object\vertex”
Пометить пункт “Reorient primitives on creation in the active 2D view”
В закладке “Game Configurations”
Нажать “Edit => Add” и ввести имя конфигурации (например CS) а затем нажать “OK”
В поле “Game Data files” нажать “Add” и выбрать файл конфигурацию
В поле “Game Executable Directory” указать путь к папке с hl.exe (пример: C:\Half-Life\)
В поле “Game Mod Directory” указать путь к папке “cstrike” (пример: C:\Half-Life\cstrike\)
В поле “Game Directory” указать путь к папке “valve” (пример: C:\Half-Life\valve\)
В поле “RMF Directory” указать путь к папке с .rmf файлами (любая папка)
В закладке “Build Programs”
В поле “Game executable” укажите путь к файлу hl.exe (пример: C:\Half-Life\hl.exe)
В поле “CSG executable” укажите путь к файлу hlcsg.exe (пример: C:\VHE\ZHLT\hlcsg.exe)
В поле “BSP executable” укажите путь к файлу hlbsp.exe (пример: C:\VHE\ZHLT\hlbsp.exe)
В поле “VIS executable” укажите путь к файлу hlvis.exe (пример: C:\VHE\ZHTL\hlvis.exe)
В поле “RAD executable” укажите путь к файлу hlrad.exe (пример: C:\VHE\ZHLT\hlrad.exe)
В последнем поле укажите путь к папке “maps” (пример: C:\Half-Life\cstrike\maps\)
Примечание: если поля в закладке “Build Programs” не доступны, нажмите “Применить”, закройте окно настроек, нажмите в меню «Tools => Options» и снова выберите “Build Programs” – поля будут доступны для редактирования.
Примечание: в процессе создания карты вы будете неоднократно возвращаться к этому окну, т.к. именно здесь подключаются все архивы текстур, в том числе и ваши.
Если вы все настроили как написано выше можно смело нажимать “OK”: настройка редактора завершена.
Часть III: Теория
Уверен, вам не терпится начать делать карту. Если вы все сделали правильно, то уже ничего не мешает вам сделать это, и вы можете нажать «File => New» (Ctrl + N). Когда перед вами открылось 4 черных окна, вы наверняка задали себе вопрос “А что дальше?”. Думаю, стоит начать с устройства карты. Все карты bsp состоят из 4 видов объектов:
Браш (Brush – кисть англ.) – Простая геометрическая фигура. Из брашей создается вся геометрия карты: пол, стены, потолок, балконы, окна, бочки, ящики… В общем, почти все.
Точечная Энтити (Point-Entity – точечный субъект англ.) – Точка в пространстве, служащая указателем для чего либо. При помощи точечных энтити создаются источники света, точки старта игроков, спрайты, модели. Есть так же триггеры: энтити никак не отображаемые в игре, но способные взаимодействовать и игроком и другими энтити.
Брашевая Энтити (Brush-based Entity – кистевой субъект англ.) – Обычный браш, превращенный в энтити объект. Брашевые энтити имеют преимущества перед обычными брашами: им можно задавать степень прозрачности, тип отображения, световые опции. Брашевые энтити динамичны, и могут передвигаться или менять свойства в течении игры. Кроме того, брашевые энтити могут взаимодействовать с игроком и другими ентити. Энтити обоих типов могут свободно взаимодействовать между собой, если они для этого предназначены. Однако, есть и минусы: брашевые энтити не издают звуки при ходьбе, не имеют звука попадания пули, медленнее отрисовываются... В общем, есть достаточно много аргументов против того, чтобы превращать всю карту в один сплошной энтити объект (хотя бы – ошибки компиляторов).
Текстура (Texture – текстура англ.) – двумерная картинка, которая “натягивается” на игровые объекты. Текстурами покрываются браши и модели, к примеру, кирпичная стена это прямоугольный браш, покрытый “кирпичной” текстурой со всех сторон. Текстурой так же могут покрываться брашевые энтити, но не могут покрываться точечные.
Исходя из этого, стены, пол, дома, крыши и мост в cs_assault это браши, двери, лестницы и решетки это брашевые энтити (ведь они динамичны), а точки появления игроков и источники света это точечные энтити. Все карты построены таким образом, и зная это несложно догадаться как сделано то, или иное место. После создания карты она проходит компиляцию: сборку отдельных компонентов в один файл, открываемый игрой - .bsp. В качестве компиляторов мы будем использовать ZHLT, благо все что нужно было мы настроили в предыдущей части.
Часть IV: Практика
Теперь, когда мы знаем как устроены карты, пора ознакомиться с интерфейсом VHE. Интерфейс
1. Выделение. Служит для выбора и перемещения объектов, а так же для измерения расстояния между ними. Для выделения нажмите на объект левой кнопкой мыши, или растяните над ним выделение с зажатой левой кнопкой мыши, а после нажмите Enter (массовое выделение). 2. Масштаб. Левая кнопка мыши – увеличить масштаб в активном окне, правая – уменьшить. 3. Камера. Нужен для создания камер как в cs_assault (подробнее в следующих уроках). 4. Энтити. Позволяет создавать точечные энтити объекты в указанном месте. Для создания отметьте левой кнопкой мыши нужную точку в одной из плоскостей, откорректируйте ее положение в других 2х, нажмите на нее правой кнопкой, и выберите “Create Object” 5. Блок. Служит для создания брашевых примитивов. Для создания растяните с зажатой левой кнопкой мыши выделение в одной из плоскостей, откорректируйте его в остальных, нажмите на выделение правой кнопкой и выберите “Create Object”. 6. Расширенное текстурирование (см. следующие главы). Используется для покраски разных сторон браша разными текстурами, подгонки текстуры под нужные размеры, поворота текстур и т.п. Для использования нажмите левой кнопкой на нужную сторону браша, и во всплывающем окне настройте нужные параметры. Для покраски стороны браша выберите нужную текстуру во всплывающем окне или на текстурной панели (14), и нажмите на сторону браша правой кнопкой мыши. 7. Текстурирование. Окраска браша со всех сторон выбранной текстурой. Для использования делите браш, выберите текстуру в на текстурной панели (14) и нажмите на иконку текстурирования. 8. Декали, используется для создания накладываемых текстур, вроде пятен крови или следов от пуль. В качестве декелей могут использоваться только текстуры из архива decals.wad. Для использования выберите текстуру на текстурной панели (14) и нажмите левой кнопкой на любую поверхность. Является энтити объектом. 9. Разрезание, служит для разрезания брашей с учетом правил движка. Для использования выберите браш, нажмите иконку разрезание, и в нужной плоскости “разрежьте” его, растянув выделение с зажатой левой кнопкой мыши. Чтобы поменять местами основной браш и отрезаемый фрагмент нажмите Shift+X. 10. Вершинное редактирование (подробнее в следующих уроках). Для использования выберите нужный браш и нажмите на иконку. Примечание: Браши в HL имеют ряд строгих правил построения, несоблюдения которых приводит к серьезным ошибкам компиляторов и самой игры. На начальной стадии крайне не рекомендуется использование вершинного редактирования. 11. Не используется. 12. Панель инструментов. В зависимости от выбранного инструмента позволяет выбрать тип создаваемого примитива\префаба (браши) или выбрать класс энтити объекта (энтити). При выделенном браше позволяет его превратить в брашевую энтити (кнопка “toEntity” или Ctrl + T) или превратить брашевую энтити в обычный браш (кнопка “toWorld”). 13. Группы видимости. Подробнее в следующих уроках. 14. Текстурная панель. Позволяет выбирать текстуры, фильтруя их по архивам. 15. Уменьшить масштаб сетки. 16. Увеличить масштаб сетки.
Посередине всего этого хаоса находятся 4 рабочих окна, по умолчанию показывающих схематичный вид карты сбоку (side), спереди (front), сверху (top), а так же 3D вид карты (camera), настраиваемый в зависимости от ваших потребностей. В самом низу (ниже панели инструментов) находится строка состояния, отображающая статус выбранного или создаваемого объекта.
Не отмеченные на рисунке кнопки используются достаточно редко, и будут описаны в следующих уроках. Итак, начнем.
Часть V: Маппинг
На текстурной панели (14) нажмите кнопку “Browse” и выберите текстуру для пола вашей карты. Если вы затрудняетесь выбрать среди такого разнообразия текстур подходящую - воспользуйтесь полем “Filter” и введите ключевые буквы в названии текстуры. Например, для пола это может быть “floor” (пол англ.) или “flr”, для стены “wall” (стена англ.) и т.п. Можно ввести название какой либо группы текстур, например “fifties”. Группа текстур содержит в себе минимальный набор текстур, для оформления помещений определенного типа. Например, группа “fifties” содержит текстуры, хорошо подходящие к интерьеру 50 годов, о чем и говорит название группы. Со временем вы запомните названия групп, и будете быстро ориентироваться.
Выбрав понравившуюся текстуру, нажмите на кнопку блока (5), и на виде сверху (окно “top”) задайте длину и ширину пола комнаты, растянув выделение до нужных размеров. Размер создаваемого браша вы можете посмотреть в строке состояния (ниже панели инструментов), эталонным размером является 64*64*64, что равняется росту игрока. Задав ширину и длину, задайте толщину (высоту) пола на виде сбоку или спереди (окна “side” или “front”). По умолчанию деления сетки равняются 64*64, но если вым нужно создать объект мньше (а чаще всего оно так и бывает) вы можете уменьшить\увеличить сетку, воспользовавшись кнопками 15 и 16. Отрегулировав размеры создаваемого браша, нажмите на выделение правой кнопкой и выберите “Create object”. На месте выделения появятся цветные контуры созданного браша.
Чтобы увидеть как браш будет смотреться в игре, в окне 3D обзора нажмите на надпись “camera”, и в выпадающем меню выдерите “3D Textured”. Далее наведите курсор на окно, нажмите “Z” на клавиатуре (англ. раскладка) и вы сможете управлять камерой как в режиме наблюдателя: при помощи мышки и кнопок движения. Отдалившись, вы увидите ваш браш, покрытый со всех сторон выбранной текстурой. Если текстура плохо смотрится - выберите на текстурной панели другую, выделите ваш браш и нажмите на кнопку текстурирования (7) – текстура заменится новой.
Описанным выше способом создайте 4 стены, окрашенных в другую текстуру. Для стен необходимо задать высоту на виде сбоку. Оптимальной высотой стен для помещений я считаю 128, однако вы можете сделать стены любой высоты. Браши стен должны плотно без зазоров прилегать друг к другу, а так же плотно прилегать к полу. Создав стены выберите новую текстуру, и таким же способом создайте потолок. Как и пол, потолок должен плотно прилегать к стенам. В результате у вас должна получиться “герметичная” комната, абсолютно изолированная от внешнего мира (вернее – от пустоты).
Напрыгавшись от радости вокруг компьютера, вы наверняка зададите логичный вопрос “А что дальше?”. Если вы не собираетесь любоваться своей комнатой до конца времен, то неплохо было бы создать точки появления игроков. Для этого мы будем использовать инструмент энтити (4). Нажав на инструмент энтити, выберите класс энтити на панели инструментов (поле “Objects”): info_player_start для спецназа и info_player_deathmatch для террористов. Далее отметьте на виде сверху точку, в которой вы хотите создать энтити, и выровняв ее по высоте нажмите правой кнопкой и выберите “Create object”. При расставлении точек старта будьте внимательны: точка старта не должна касаться стен, а расстояние между точками должно быть не меньше 64.
Теперь, когда в вашу карту можно играть, необходимо ее скомпилировать. Во время компиляции ZHTL переведет все данные карты в понятный игре формат, и сохранит готовый .bsp файл среди других карт CS. Сейчас я не буду подробно рассказывать о компиляции, поскольку у нас сейчас другая цель. Скажу только, что чтобы скомпилировать карту нужно сохранить карту (в любой папке) и нажать «File => Run». В появившемся окне нажмите кнопку “Expert”, в выпадающем списке “Configurations” выберите “Half-Life: Counterstrike (full)” и нажмите “Go!”. На экране появится окно с записью хода компиляции, и через несколько секунд карта запустится в игре.
Поздравляю!
Урок II: Редактор Вентильного Молотка Часть I: Пусть всегда будет небо
А так же солнце, облака и другие бесполезные, но красивые декорации. И сейчас мы будем их делать. Вернее, делать мы будем именно небо. Для начала, давайте разберемся, что такое небо. Нам всем казалось, что небо в CS находится где-то вдалеке, но, набрав чит на гравитацию, мы стукались головой об воздух, а облака не приближались ни на сантиметр. Так что-же такое небо? Небо – 6 текстур размером 256*256 каждая, проецируемых на куб вне пределов карты, что создает ощущение бесконечной отдаленности. Примечание: небо так же называют “картой окружения” (environment map). Чтобы эта текстура была видна, над открытым пространством создается “крыша” со “стенами” из брашей, покрашенных в текстуру SKY (именно о них вы бьетесь головой). Сама по себе текстура прозрачна, и не видна в игре, однако если смотреть сквозь нее в “пустоту” окружающую карту, то она становится своеобразной линзой, через которую и видно небо. Браши, составляющие небо, по традиции называют SKY-Брашами. Они имеют такие-же свойства что и обычные, т.е. являются непроходимыми и непростреливаемыми из большинства типов оружий. Небо можно сделать 2 способами. Первыйспособ: создать огромную “коробку” из SKY-брашей, и поместить в нее вашу карту. Второй способ: “поставить на стены” вашей карты SKY-браши, таким образом продлив стены, и закрыть сверху еще одним (или несколькими) sky-брашами. Рассмотрим преимущества и недостатки каждого из них:
Первый (коробка):
+ Быстрое создание
- Более долгая компиляция
- Больший вес карты
- Большие требования
- Высокий шанс ошибок на больших картах
Второй (составное небо):
+ Быстрая компиляция
+ Меньший вес карты
+ Меньшие требования
- Более долгое создание
- Большая вероятность ошибки LEAK
Итак, создание неба вторым способом явно имеет больше преимуществ, но у него есть и недостатки. Если геометрия вашей карты еще не полностью готова, то чтобы протестировать ее вам придется каждый раз переделывать небо, а это сильно напрягает. С другой стороны, если геометрия готова полностью и вы делаете освещение (о нем мы поговорим чуть позже), то небо сделанное по второму способу значительно(в десятки раз!) сократит время просчета освещения, а значит – позволит больше времени работать, а не смотреть в пустоту ожидая конца компиляции. С этим разобрались, а что-же такое LEAK? Это та самая ошибка, которая появляется при “негерметичности” карты, или в случае если одна из точечных энтити находится за пределами игровой зоны. ВНИМАНИЕ: даже с этой ошибкой карта будет скомпилирована, что, порой, очень усложняет ее поиски. Будьте очень внимательны. Разумеется, когда небо состоит не из 6 больших брашей, а из десятков маленьких, гораздо выше шанс что один из них будет неплотно состыкован с другими. Вывод: при тестировании карты на ранних стадиях гораздо удобнее использовать первый способ (“коробку”), однако при тестировании освещения, и тем более – финальной компиляции, следует использовать второй способ.
Разобравшись с созданием неба можно откомпилировать карту, и если ошибка LEAK не спряталась в одном из углов, то после запуска карты в игре вы увидите над головой… А вот тут есть загвоздка. Ведь если SKY браши прозрачны и служат лишь “крышей”, то откуда берутся бескрайние джунгли de_aztec и гигантские небоскребы cs_assualt? Они хранятся в отдельных текстурах, которые лежат в папке cstrike\gfx\env. Каждое небо состоит из 6 текстур в формате tga размерами 256*256 пикселей. Файлы текстур имеют названия:
***bk.tga (зад)
***ft.tga (перед)
***lf.tga (лево)
***rt.tga (право)
***up.tga (верх)
***dn.tga (низ)
Где *** - название неба. Для того, чтобы выбрать небо на вашей карте, нажмите «Map => Map Properties» и выберите пункт “environment_map (cl_skyname)”. Сюда надо вписать название неба без двухбуквенного окончания и расширения, например, чтобы поставить небо из de_aztec, вместо “Doom1ft.tga” надо вписать “Doom1”. В случае если вы не выбрали небо, то будет установлено небо по умолчанию (разное в зависимости от версии CS). Примечание: далеко не все карты окружения идущие с игрой используются в стандартных картах. Например, вы можете найти наборы perish, DarkG, cx, forest и другие. Кроме того, вы можете использовать карты окружения из папки valve\gfx\env. Однако, надо учитывать что в пиратских версиях CS (которыми пользуется большинство отечественных игроков) зачастую идет урезанный Half-Life, и многих моделей, спрайтов и карт окружения из оригинального HL может не хватать, т.ч. используя ресурсы Half-Life обязательно добавляйте их в архив с картой. Это не относится к архивам текстур, т.ч. их вы можете использовать свободно.
Часть II: Да будет свет!
Разобравшись с небом, пора заняться освещением. Свет в CS создается двумя способами: через точечные энтити и через RAD текстуры. Начнем с первого. В VHE для создания освещения используются точечные энтити группы light.
Light – обычная лампочка, преимущественно для внутреннего освещения.
Параметры: Name – имя. Используется для включения\выключения (об этом позже). Можно пропустить. Target – цель. Для направленного освещения. Можно пропустить. Brightness – в этом поле задается цвет и яркость лампочки, в формате R G B I. Соответственно Красный(Red), Зеленый(Greenn), Синий(Blue) и Яркость(Intensity). Значения выставляются в диапазоне от 0 до 255. Поскольку, человеку достаточно сложно представить, какому цвету соответствует, к примеру, код 182 200 45, можно нажать кнопку Pick Color, и выбрать его при помощи палитры.
Appearance – при помощи этого параметра можно выбрать один из нескольких вариантов свечения. Свечение может быть постоянным, медленно мигающим, быстро мигающим и т.п. Можно оставить как есть.
Custom Appearance – в этом поле вы можете самостоятельно настроить тип свечения, пользуясь буквами от A(высшая яркость) до Z(низшая яркость). Если вы используете не все буквы, то лампочка будет гаснуть на той, которая является самой последней в алфавите из тех, что используются. Введенное в этом поле значение будет использоваться вместо выбранного параметром Appearance. Можно оставить пустым. ВНИМАНИЕ: данный параметр работает только если задано имя!
Остальные два параметра почти никогда не используются, и мы не будем их рассматривать.
Light_environment – наружное освещение. У данной энтити есть 2 особенности по сравнению с предыдущей:
1. Она ДОЛЖНА быть на любой карте (иначе освещение не будет работать вообще) 2. Она сама по себе не производит света.
Свет проецируется со SKY-брашей, что значительно облегчает жизнь мапперов (ведь теперь не надо ставить по светильнику на каждый открытый участок – достаточно неба над головой). Из уже знакомых нам первых 7 параметров здесь используется только Brightness, а так же 2 новых:
Pitch Roll Yaw – направление света. Мы будем задавать направление другим способом, т.ч. можно пропустить.
Pitch – а вот это поле обязательно, оно показывает угол, под которым падает свет. Угол задается в градусах со знаком – (минус), т.к. свет должен быть направлен ни вверх, а вниз. Однако, для ночных и вечерних карт стоит использовать как раз “вертикальное освещение”, тогда карта будет освещаться только рассеянным светом, что сделает тени более плавными, а освещение в целом – более качественным.
Параметр Shade является аналогом параметра Brightness, используемым для компиляции при помощи ZHLT Custom Build. Хотя он используется для рассеянного освещения, ночью свет все равно стоит направлять вверх.
Light_spot - аналог Light, предназначенный для создания направленного света. Отличается наличием нескольких дополнительных параметров. В этой главе мы не будем его рассматривать.
Итак, разобравшись с освещением, давайте создадим на нашей карте. Откройте свою карту (вы ведь уже начали реализовывать свои гениальные задумки, я прав?) и разместите там Light_environment. Как и все световые объекты, light_environment нельзя размещать внутри брашей. Вернее, размещать-то можно, но света прибавится не много (не смотря на то, что он проецируется с неба). Теперь, откомпилировав карту, мы увидим, что она стала неравномерно освещена, на ней появились тени. Остается только поставить в нескольких местах Light, и простенькое освещение готово. Пора заняться чем-то более сложным.
Как я уже говорил, освещение так-же возможно создать при помощи RAD-текстур (от названия светового компилятора RAD). По сути дела, RAD(световая) текстура – это любая текстура, которая прописана в файле lights.rad в папке ZHLT. Если у вас по каким то причинам нет этого файла (чего в принципе не может быть) то вам стоит создать его, он является обычным “текстовиком”, и легко редактируется\создается блокнотом. Если же у вас есть такой файл, то придется рискнуть открыть его, иначе нам никогда не понять устройство RAD текстур. Да, файл пустой, а что вы там ожидали увидеть, щупальца Ктулху, тянущиеся к вашему мозгу? Все данные о текстурах придется вбивать ручками. А если быть точнее, то так: Texture R G B I В качестве текстуры мы указываем ее название, отображаемое в браузере текстур (копировать имя нельзя, т.ч. перепечатывайте его очень внимательно). Следующие 4 параметра нам отлично знакомы, т.ч. давайте посмотрим на пример: ~light3b 218 225 243 5000 Как видно из примера, яркость для световых текстур не ограничена 255 единицами. Дело в том, что яркость излучаемого текстурами света зависит еще и от площади поверхности, покрытой текстурой, т.ч. для световых текстур не существует какого-либо предела яркости. Значение может варьироваться от нескольких десятков, до сотен тысяч (и даже миллионов) единиц, в зависимости от того, чего вы хотите добиться. Не существует определенного метода расчета яркости, т.ч. вам придется подбирать ее наугад, меняя параметр I перед компиляцией. Я могу дать лишь один совет: постарайтесь правильно подобрать цвет, он должен быть максимально приближен к доминирующему цвету на выбранной вами текстуре.
Теперь, когда мы рассмотрели оба вида освещения, пора подумать об их применение. Без сомнения, создание Light энтити – дело пары секунд, и с их помощью создавать освещение очень просто, НО световые текстуры создают гораздо более качественный свет, что крайне важно на больших картах (и особенно – во внутренних помещениях). Однако, Light энтити можно триггерно включать, выключать, и динамически изменять параметры (с.м. 3 урок), чего нельзя проделать со световыми текстурами. У световых текстур так же есть менее существенный, но все же минус: более долгое время компиляции. В свете этого можно сделать вывод: RAD текстуры нужны для создания чего-то постоянного и плавного, к примеру – горящего окна, или люминесцентного светильника. Light энтити в любом случае нужны для создания света (light_environment), а так же просто незаменимы при создании динамичного света. Примечание: в компиляторах ZHLT Custom Build появилась возможность создания “мигающих” RAD текстур (аналог Appearance для группы Light), однако, созданное таким образом освещение ЗНАЧИТЕЛЬНО проигрывает в качестве даже обычным “лампочкам”, не говоря уже о грамотно настроенных световых текстурах. Использовать его КРАЙНЕ НЕ РЕКОММЕНДУЕТСЯ!
Привет у меня такая проблема. Немогу создать старт игрока(CT,T)у меня есть только строчка start_player, а start_player_teror или conterteror нету.Что делать?