Автор: Spiteful Max
Источник: http://q3mapping.on.ufanet.ru
Тебе понадобилось сделать небо над открытым пространством? Нет ничего проще:
1. Создай браш прямоугольной формы, который бы поместил в себя то открытое пространство, над которым надо сделать небо;
2. Выпотроши данный браш командой «Hollow»;
3. Теперь из пакета текстур «skies» выбери нужную тебе текстуру и натяни на получившиеся браши;
4. Ненужные браши теперь можно удалить, но учти, что если ты удалишь нужный (с точки зрения Радианта) браш, то пути для ботов могут и не прописаться.
Дополнено Max Snake:Не путайте небо(skie) и скайбокс(skybox), небо динамичное и может состоять из одного браша, а скайбокс статичен и состоит из коробки шести брашей, карта находится внутри этой коробки.
Автор: Spiteful Max, дополнил Max Snake
Сегодня мы будем делать что-то вроде неба, только оно не будет двигаться. Если у тебя открыт Радиант, можешь его закрыть, он нам пока не понадобится, а лучше всего запустить какой-нибудь файловый менеджер (Total Commander, например), хотя можно ограничиться и обычным Проводником.
Итак, приступим:
1. В папке «baseq3» создай папку «env»
2. В созданной нами папке создай ещё одну, я, например, создал «morningdew»
3. Теперь помести в неё текстуры с именами:
[skyname]_lf.tga - левая текстура среды [skyname]_rt.tga - правая текстура среды [skyname]_ft.tga - передняя текстура среды [skyname]_bk.tga - фон среды [skyname]_up.tga - верхняя текстура среды [skyname]_dn.tga - нижняя текстура среды
где «skyname» название среды;
4. Теперь в папке «textures» твоего «baseq3» создай папку с названием карты, среды - здесь без разницы. И помести в неё текстуру, которая будет отображаться в Радианте
5. Перейди в каталог «scripts» и в нём создай файл «[myskyname].shader», где «myskyname» - это название среды
6. В этот файл введи следующее: (Комментарии лучше не вводить)
//Название твоей текстуры textures/[mymapname]/[skyname] { //это как раз та текстура, которая назначается в радианте qer_editorimage textures/[mymapname]/[skyname].tga //ракеты и т.п. пропадают из поля зрения, попадая в браш с небом, т.е. не взрываются, //как при попадании в стену surfaceparm noimpact //небо игнорирует общее освещение на карте - чтобы твои источники света не светили на небо surfaceparm nolightmap //не оставлять следов от выстрелов surfaceparm nomarks //чтобы текстура неба не освещала сама себя q3map_backsplash 0 0 //насколько хорошо текстура излучает свет - тут можно ставить довольно высокие значения q3map_lightsubdivide 512 //объясняет игре, что браши с этим шейдером - небо surfaceparm sky //яркость свечения неба q3map_surfacelight 150 //параметры солнца: первые 3 номера - цвет (RGB), четвертая цифра - яркость, //пятая - компас (север = 90 degrees, дальше, кажется, против часовой стрелки... 0, -90, 180 ), //шестая - высота (12 часов дня = 90 градусов, горизонт (закат = 0 градусов, //восход = 180 градусов (или наоборот) q3map_sun 1 1 .98 100 160 60 //параметры неба - эта строка объясняет игре, что текстуры для отображения скайбокса нужно //брать из папки /[mymapname]/[skyname] и читатьвсе файлы, начинающиеся на [skyname]* skyparms env/textures/[mymapname]/[skyname] - - }
Где [mymapname] - это название той папки, которую ты создал в «textures» и «env», а [skyname] - название твоей среды.
7. Нужно вписать имя материала в список в файле baseq3/scripts/shaderlist.txt
8. Создаем в радианте коробку, покрытую калком (caulk), внутренние стороны которой покрываем текстурой textures/[mymapname]/[skyname]
9. Компилируем и запускаем карту.
Вот что получилось
Есть ещё один вариант скайбокса, который, к сожалению, незнаком многим мапперам, но который обладает наибольшими возможностями. В этом варианте вне уровня создается небольшая коробочка, в которой создаются объекты, видимые за пределами уровня, например, горы на горизонте, или высотные здания. Все эти объекты делаются в миниатюре, что позволяет избежать долгой компиляции и, самое главное, не уменьшает быстродействие при значительном улучшении качества окружающей среды.
Несколько советов:
Вы, вероятно, замечали, как убого выглядит скайбокс (skybox) в quake3 - очень четко видны границы его граней. Это происходит из-за ошибки в драйверах от NVIDIA, которые не делали различий между параметрами GL_CLAMP и GL_CLAMP_TO_EDGE (они задают, как фиксируется текстура на грани). Это так называемый баг ”ATI GL_CLAMP behavior”.
Для частичного устранения этой неприятности в q3map2 был введен ключ фазы BSP -skyfix, благодаря которому на скайбоксы стало возможно смотреть без слез. Но, как можно видеть, линии на границах граней все-таки не исчезли.
Точку в этой истории поставили следующие инструменты: dfengine.exe и quake3mme.exe. Эти исполняемые файлы заменяют оригинальный quake3.exe соответственно в моде DeFRaG (опционально) и q3MME (обязательно). И, благодаря модифицированному коду, они эффективно устраняют ATI GL_CLAMP behavior баг, не оставляя от него и следа. Однако, они не могут справиться с теми пунктирными ребрами, оставленными ключем -skyfix.
Отсюда следует правило для установки этого ключа: