Свет небосвода
Небосвод (Skybox) - это короб неба, не имеющий пространственной глубины и состоящий только из текстуры неба (не использует точечный объект мира sky_camera для отображения миниатюрных трёхмерных моделей).
Содержание
Добавление небосвода на карту
Простой элемент мира (не Объёмный объект мира) со служебной текстурой tools/toolsskybox
.
В игре, небо будет видно сквозь каждую поверхность, к которой применена служебная текстура toolsskybox
.
Элементы мира со служебной текстурой toolsskybox
не обязательно должны создавать замкнутые короба.
toolsskybox
вокруг вашей карты.Смена отображаемого неба
Если Вам не нравится стандартная текстура неба "sky_day01_01", Вы можете поменять её имя в диалоговом окне Map Properties. Открыв карту в редакторе Hammer, выполните следующие действия:
- Перейдите в меню Map
- Из выпавшего списка выберите Map Properties...
- В окне Object Properties выберите поле Skybox Texture Name.
- Впишите имя неба из списка текстур неба.
Освещённость
Освещенность проецируется на карту из каждой поверхности покрытой служебной текстурой toolsskybox
, и представляет собой прямой солнечный (или лунный) рассеянный свет, отраженный от облаков и т.д.
Такие настройки освещения, как направление, цвет, яркость и прочие зависят от конкретного изображения, используемого в 2-х мерном небе. В статье Список текстур неба предлагаются некоторые настройки для небосводов от Valve. Отметим также, что настройки env_fog_controller должны соответствовать настройкам небосвода.
Свет небосвода (Skybox lighting) поступает на карту от каждого toolsskybox-текстурированного элемента карты и представляет собой прямой солнечный/лунный свет и рассеянное освещение. Его основные свойства контролируются тремя объектами карты, используемыми в комбинации (в некоторых играх - четырьмя):
light_environment
определяет направление, цвет и интенсивность прямого солнечного света, а также цвет и интенсивность рассеянного зенитного света.shadow_control
определяет цвет, направление и расстояние затухания динамических теней, которые создаютсяlight_environment
. Без этого объекта карты динамические тени будут глючными и неконфигурируемыми.env_sun
помещает светящийся спрайт в небосвод для отображения видимого положения Солнца на небе.env_cascade_light
отбрасывает на карту резкие тени в реальном времени, обычно копируя настройки из объекта картыlight_environment
. (только в )
Чтобы разобраться во всем этом, просто убедитесь, что на вашей карте есть только один из этих объектов, и что углы тангажа и рысканья установлены одинаково для всех трёх объёктов. (Pitch - это угол возвышения Солнца над землей, а Yaw - его компасный пеленг).
Эти параметры освещения - направление, цвет, яркость и т.д. - довольно специфичны для фактического изображения, используемого для небосвода. В статье Список текстур неба предлагаются некоторые настройки для официальных игровых скайбоксов. Объект карты worldspawn
определяет, какой Небосвод использовать. Также обратите внимание, что туман будет выглядеть неправильно, если настройки env_fog_controller
не соответствуют используемому небосводу.
light_environment
и env_sun
, но не для shadow_control
. Переопределение Pitch также не может быть отключено, и его значение отсчитывается против часовой стрелки от горизонтали (поэтому прямо вниз -90°), тогда как вращение <angles> Pitch's по часовой стрелке (поэтому прямо вниз +90°). Обходной путь для этого - убедиться, что ваше переопределение Pitch просто повторяет значение <angles>; например, если ваши shadow_control
, light_environment
и env_sun
<углы> равны "45 -60 0", установите переопределение Pitch на "-45".Создание собственных 2D текстур неба
- Создаем собственные текстуры. Вам понадобится шесть изображений, одного и того же разрешения:
- <название_неба>bk (Сзади)
- <название_неба>ft (Спереди)
- <название_неба>up (Сверху)
- <название_неба>dn (Снизу)
- <название_неба>rt (Справа)
- <название_неба>lf (Слева)
- Затем конвертируйте в формат VTF. Убедитесь, что у вас "Clamp S" и "Clamp T", иначе при низкой детализации текстур Вы увидите швы.
- Создавайте материалы для каждой текстуры в папке
\materials\skybox\
, используя следующий шаблон:
sky { $basetexture "<VTF>" $hdrcompressedtexture "<VTF>" $nofog 1 $ignorez 1 }
Теперь, в редакторе карт, перейдите в Map > Map Properties > Skybox Texture Name и введите имя вашего неба без сторонних тегов.
Создание 2D-неба для Goldsource с помощью Source
Это поможет Вам создавать на карте зону внутри 2D-скайбокса, чтобы использовать её в Goldsource (на движке HL1). Вот простой пример:
- Создайте большое открытое пространство с небольшой деформацией, деревьями, туманом и скрытыми краями. Обзовите это carrotjuice .
- Запустите карту в игре, и включите читы ( sv_cheats 1 ).
- Активируйте режим noclip, просто введя в консоли "noclip", и нажмите Enter.
- Пролетите в центр небосвода.
- Откройте консоль и впишите "mat_envmaptgasize 256", нажмите Enter.
- Теперь впишите "envmap" и нажмите Enter. Созданы 6 фалов TGA, которые хранятся в папке с именем "cubemap_screenshots", находящейся в каталоге вашего мода ( например, HL2DM: Steam\SteamApps\youraccount\Half-Life 2 Deathmatch\hl2mp ).
Поскольку карта носит название carrotjuice , имена 6 TGA-файлов следующие:
carrotjuicert.tga carrotjuiceft.tga carrotjuicelf.tga carrotjuicebk.tga carrotjuiceup.tga carrotjuicedn.tga
Теперь их можно скопировать или перенести в папку с вашим HL1-модом - gfx\env, чтобы использовать в качестве неба на вашей карте.
Руководства по созданию собственных текстур неба
Уроки, созданные Project-S:
См. также
- light_environment, env_sun и shadow_control это точечные объекты мира, отвечающие за настройку света от неба, который исходит из служебной текстуры toolsskybox на карте.
- Sky List - Список материалов неба из различных игр и модов, основанных на Source и GoldSrc
- Sky Writer - Инструмент для рендеринга сцен 3ds Max прямо в Source в виде неба HDR.
- Skybox Optimization - Руководство по оптимизации элементов небосвода.
Статьи об окружающей среде | |
---|---|
Скайбоксы и карты окружающей среды | Скайбокс (2D) • Скайбокс (3D) • HDR-скайбоксы • Создание скайбокса в Terragen • Создание скайбокса в Terragen - дополнительно • Список скайбоксов |
Рельеф и деформация поверхности | Деформация • Создание отверстий в деформированных поверхностях • Цифровые модели местности • Creating custom terrain with Worldmachine |