Инструменты пользователя

Инструменты сайта


q3:создание_собственного_неба_-_скайбокс

Различия

Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.

Ссылка на это сравнение

q3:создание_собственного_неба_-_скайбокс [06.02.2010 12:10]
Nt-kop4ik
q3:создание_собственного_неба_-_скайбокс [06.07.2020 03:50]
Строка 1: Строка 1:
-====== Небо ====== 
-  
-**Автор: Spiteful Max**  
  
-Источник: http://q3mapping.on.ufanet.ru   
- 
-Тебе понадобилось сделать небо над открытым пространством? Нет ничего проще:  
- 
-1. Создай браш прямоугольной формы, который бы поместил в себя то открытое пространство, над которым надо сделать небо;\\ 
-2. Выпотроши данный браш командой "Hollow";  
- 
-{{:q3:небо_1.jpg|}} 
- 
-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" название среды;  
- 
-{{:q3:p31_1.gif|}} 
- 
-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. Компилируем и запускаем карту.  
- 
-Вот что получилось  
- 
-{{:q3:p31_2.jpg|}} 
-====== Создание продвинутого скайбокса ====== 
- 
-Есть ещё один вариант скайбокса, который, к сожалению, незнаком многим мапперам, но который обладает наибольшими возможностями. 
-В этом варианте вне уровня создается небольшая коробочка, в которой создаются объекты, видимые за пределами уровня, например, горы на горизонте, или высотные здания. Все эти объекты делаются в миниатюре, что позволяет избежать долгой компиляции и, самое главное, не уменьшает быстродействие при значительном улучшении качества окружающей среды. 
- 
-  * Создаем наш уровень с обычным скайбоксом. 
-  * Создаем небольшую комнату за пределами уровня, в ней создаем entity _skybox (в контекстном меню после щелчка правой кнопкой) 
- 
-{{:q3:skybox1.png?800}} 
- 
-  * Располагаем ентити  примерно в середине этой небольшой комнаты (если есть такая необходимость можно в любом месте). Этот энтити показывает ту точку, откуда будет направлен взгляд игрока на окружение уровня. 
-  * Относительно этого энтити располагаем другие объекты, которые должны быть в окружении уровня (скалы, высотные здание и тп) 
-  * компилируем уровень, смотрим результат 
- 
-{{:q3:skybox2.jpg|}} 
- 
-Несколько советов: 
-  - текстуры на элементах окружения желательно использовать высокодетализированные, с небольшим растяжением по вертикали и горизонтали 
-  - можно использовать в окружении любые эффекты, текстуры, туман, воду и прочее 
-  - _skybox энтити играет роль начала координат в окружении. Чтобы получить представление о том, как будет выглядеть окружение после компиляции, достаточно совместить его вместе со всем оружением с началом координат (точка "0 0 0") на вашей карте, и увеличить всю коробку в _scale раз 
-====== Использование ключа -skyfix ====== 
- 
-Вы, вероятно, замечали, как убого выглядит скайбокс (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//. 
- 
-Отсюда следует правило для установки этого ключа: 
- 
-  * если карта сделана для дефрага, либо вы хотите уведеть свою карту в мувике, //-skyfix// **не нужен**; 
-  * если это карта для других модов, и вам не важно, как она будет выглядеть в муве, то //-skyfix// **нужен**. 
q3/создание_собственного_неба_-_скайбокс.txt · Последнее изменение: 06.07.2020 03:50 (внешнее изменение)