Ru/Skybox (2D): Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
Line 47: Line 47:
#* <skyname>RT Справа
#* <skyname>RT Справа
#* <skyname>LF Слева
#* <skyname>LF Слева
# [[Creating a Material|Convert them to VTF.]] Make sure that you "Clamp S" and "Clamp T" or you'll see seams when running with lower texture detail.
# [[Creating a Material|Затем конвертируйте в формат VTF]]. Убедитесь, что у вас "Clamp S" и "Clamp T", иначе при низкой детализации текстур вы увидите швы.
# Создавайте материалы для каждой текстуры в папке <code>\materials\skybox\</code>, используйте следующий шаблон:
# Создавайте материалы для каждой текстуры в папке <code>\materials\skybox\</code>, используя следующий шаблон:
  sky
  sky
  {
  {
Line 57: Line 57:
  }
  }


Now, in [[Hammer]], go to Map > Map Properties > Skybox Texture Name and type in your skybox name without any side tags.
Теперь, в [[Hammer|Хаммере]], перейдите в Map > Map Properties > Skybox Texture Name и введите имя вашего скайбокса без посторонних тегов.


== Создание 2D неба для [[Goldsource]] и, использование в Source ==
== Создание 2D неба для [[Goldsource]] и, использование в Source ==

Revision as of 20:55, 16 August 2015

Template:Otherlang2

2-мерный скайбокс - это коробка неба, не имеющая геометрической глубины и состоящая только из текстуры неба (не использует сущности sky_camera для отображения миниатюрных 3D-моделей).

Skybox Template.jpg

Добавление неба на карту

Простой world brush (не brush entity) с текстурой tools/toolsskybox.

В игре, скайбокс будет виден сквозь каждую поверхность, к которой применен toolsskybox.

Браши toolsskybox не обязательно должны быть коробками.

Template:Note:ru Template:Note:ru

Смена отображаемого неба

Sky change.png

Если вам не нравится стандартное небо "sky_day01_01", вы можете поменять его имя в диалоговом окне Map Properties. Открыв карту в Хаммере, выполните следующие действия:

  1. Перейдите в меню Map
  2. Из выпавшего списка выберите Map Properties...
  3. В окне Object Properties выберите поле Skybox Texture Name.
  4. Впишите имя неба из списка скайбоксов.

Template:Note:ru

Освещение неба

Освещение неба проецируется для каждой поверхности toolsskybox, и представляет собой прямой солнечный (или лунный) рассеянный свет, отраженный от облаков и т.д.

Настройки освещения - направление, цвет, яркость и т.д. зависят от конкретного изображения, используемого в 2-х мерном скайбоксе. В статье список скайбоксов предлагаются некоторые настройки для скайбоксов от Valve. Отметим также, что настройки env_fog_controller должны соответствовать настройкам скайбокса.

Toolsskybox.gif

Небосвод является основным источником света для большинства карт и фактически представляет собой одну из важнейших частей создания карты.

Обзор

Свет небосвода (Skybox lighting) поступает на карту от каждого toolsskybox(en)-текстурированного элемента карты(en) и представляет собой прямой солнечный/лунный свет и рассеянное освещение. Его основные свойства контролируются тремя объектами карты, используемыми в комбинации (в некоторых играх - четырьмя):

  • light_environment определяет направление, цвет и интенсивность прямого солнечного света, а также цвет и интенсивность рассеянного зенитного света.
  • shadow_control определяет цвет, направление и расстояние затухания динамических теней(en), которые создаются light_environment. Без этого объекта карты динамические тени будут глючными и неконфигурируемыми.
    • Note.pngПримечание:shadow_control является устаревшим и не работает в ветке движка CS:GO engine branch, и был заменен на env_cascade_light. Используйте этот объект вместо него.
  • env_sun помещает светящийся спрайт в небосвод для отображения видимого положения Солнца на небе.
  • env_cascade_light отбрасывает на карту резкие тени в реальном времени, обычно копируя настройки из объекта карты light_environment. (Во всех играх начиная с Counter-Strike: Global Offensive)(также в Xengine)
  • newLight_Dir отображает световые лучи, исходящие от диска/круга на небосводе; не создает никакого реального освещения (код освещения отключен). (только в Xengine)
  • light_deferred_global создает динамические тени и освещение, подобно env_cascade_light. (только в Alien Swarm Deferred)(также в Lambda Wars)

Объяснение

Чтобы разобраться во всем этом, просто убедитесь, что на вашей карте есть только один из этих объектов, и что углы тангажа и рысканья установлены одинаково для всех трёх объёктов. (Pitch - это угол возвышения Солнца над землей, а Yaw - его компасный пеленг).

Эти параметры освещения - направление, цвет, яркость и т.д. - довольно специфичны для фактического изображения, используемого для небосвода. В статье Список текстур неба(en) предлагаются некоторые настройки для официальных игровых скайбоксов. Объект карты worldspawn определяет, какой Небосвод(en) использовать. Также обратите внимание, что туман будет выглядеть неправильно, если настройки env_fog_controller не соответствуют используемому небосводу.

Note.pngПримечание:Pitch можно переопределить для 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".

Template:Warning:ru

Создание собственных 2D текстур неба

  1. Создаем собственные текстуры. Вам понадобится шесть изображений, одного и того же разрешения:
    • <skyname>BK Сзади
    • <skyname>FT Спереди
    • <skyname>UP Сверху
    • <skyname>DN Снизу
    • <skyname>RT Справа
    • <skyname>LF Слева
  2. Затем конвертируйте в формат VTF. Убедитесь, что у вас "Clamp S" и "Clamp T", иначе при низкой детализации текстур вы увидите швы.
  3. Создавайте материалы для каждой текстуры в папке \materials\skybox\, используя следующий шаблон:
sky
{
	$basetexture "<VTF>"
	$hdrcompressedtexture "<VTF>"
	$nofog 1
	$ignorez 1
}

Теперь, в Хаммере, перейдите в Map > Map Properties > Skybox Texture Name и введите имя вашего скайбокса без посторонних тегов.

Создание 2D неба для Goldsource и, использование в Source

It is possible to create an area of your map into a 2D Skybox to be used in Goldsource (the HL1-engine). Here's an simple example:

  1. Create a large outdoor area with some displacement maps and treelines, and fog to hide the edges. Lets call it carrotjuice .
  2. Load the map ingame and turn cheats on ( sv_cheats 1 ).
  3. Activate the noclip-mode by simply opening the console and enter "noclip" and hit Enter.
  4. Fly to the center of where you want the skybox.
  5. Open up the console and type "mat_envmaptgasize 256", hit Enter.
  6. Now type "envmap" and press Enter. Now, 6 TGA-files are now created and saved into a folder named "cubemap_screenshots" in your modfolder ( i.e. for HL2DM: Steam\SteamApps\youraccount\Half-Life 2 Deathmatch\hl2mp ).

Since the mapname was carrotjuice , the name of the 6 TGA-files are as following:

carrotjuicert.tga (Справа)
carrotjuiceft.tga (Спереди)
carrotjuicelf.tga (Слева)
carrotjuicebk.tga (Сзади)
carrotjuiceup.tga (Сверху)
carrotjuicedn.tga (Снизу)

Также вы можете переместить свои текстуры в папку с вашим HL1-модом gfx\env-папка, для использования в качестве неба на вашей карте.

См. также

Статьи об окружающей среде
Текстуры неба и создание неба Source Source: Небосвод (2D)Объёмное небо (3D)HDR-текстуры небаСоздание текстур неба в TerragenСоздание текстур неба в Terragen - подробноСписок текстур неба


Source 2 Source 2: Объёмное небо (3D)

Создание рельефа местности и деформация поверхностей Деформированные поверхностиСоздание отверстий в деформированных поверхностяхЦифровые модели местностиСоздание рельефа в Worldmachine