Ru/Skybox (2D): Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
No edit summary
No edit summary
 
(60 intermediate revisions by 12 users not shown)
Line 1: Line 1:
{{DISPLAYTITLE:Skybox (2D)}}
{{LanguageBar|title = Небосвод (двумерный)}}
В сорсе, небо(skybox), представлено таким образом что представляет собой куб или коробку. The cube is then locked to the player's viewpoint and acts as the most distant area of a map, usually the sky. Because the skybox is fixed to the player's viewport, it never changes perspective, allowing the cube to appear as a seamless whole.
'''Небосвод (Skybox)''' - это {{L|skybox|короб неба}}, не имеющий пространственной глубины и состоящий только из текстуры неба (не использует точечный объект мира {{L|sky_camera}} для отображения миниатюрных трёхмерных моделей).


[[Image:Skybox_Template.jpg|256 px|right]]
[[File:Skybox_Template.jpg|256 px|right]]


== Добавление неба на карту ==
== Добавление небосвода на карту ==
Простой [[world brush]] (не [[brush entity]]) с '''<code>[[tool textures|tools/toolsskybox]]</code>''' текстурой.  
Простой {{L|world brush|элемент мира}} (не {{L|Brush entity|Объёмный объект мира}}) со служебной текстурой '''<code>{{L|tool textures|tools/toolsskybox}}</code>'''.  


В игре, the skybox will be seen ''through'' each surface that <code>toolsskybox</code> is applied to.  
В игре, небо будет видно ''сквозь'' каждую поверхность, к которой применена служебная текстура <code>toolsskybox</code>.  


<code>toolsskybox</code> Brushes do ''not'' need to be box-shaped.
Элементы мира со служебной текстурой <code>toolsskybox</code> ''не'' обязательно должны создавать замкнутые короба.


{{note|In [[HL2]] the default skybox has visible seams. This is not your fault. See the next section for how to change the default.}}
{{Note|Стандартное небо в {{L|HL2}} имеет видимые швы. Это не ваша вина. См. следующий раздел, объясняющий, как сменить текстуру неба на другую.}}
{{note|You should '''never''' create a skybox by drawing a big hollowed out cube with the Skybox texture around your map.}}
{{Note|'''Нельзя''' создавать небосвод, в виде большого полого короба с текстурой <code>toolsskybox</code> вокруг вашей карты.}}


== Смена отображаемого неба ==
== Смена отображаемого неба ==
[[Image:Sky_change.png|right|200px]]
[[File:Sky_change.png|right|200px]]
If you don't like the standard "sky_day01_01" sky, you can change it by setting the skybox name in Hammer's Map Properties dialog. With the correct map opened, follow these steps:
Если Вам не нравится стандартная текстура неба "sky_day01_01", Вы можете поменять её имя в диалоговом окне Map Properties. Открыв карту в редакторе Hammer, выполните следующие действия:
# Go to the [[Hammer Map Menu|Map menu]]
# Перейдите в {{L|Hammer Map Menu|меню Map}}
# Choose '''Map Properties...''' from the drop down list
# Из выпавшего списка выберите '''Map Properties...'''
# In the Object Properties window, select the '''Skybox Texture Name''' field.
# В окне Object Properties выберите поле '''Skybox Texture Name'''.
# Replace the sky listed there with the name of the skybox you wish to display.  
# Впишите имя неба из списка текстур неба.  
{{note|You can find a list of available skyboxes in the [[Sky List|Sky List]] page.}}{{clr}}
{{Note|Список доступных текстур неба можно найти на странице {{L|Sky List|Список текстур неба}}.}}{{clr}}


== Освещение ==
== Освещённость ==


Skyboxlight is projected into the World from every <code>toolsskybox</code> surface, and represents Direct Sunlight (or Moonlight) and the Diffuse light reflected from overhead cloud, etc.  
Освещенность проецируется на карту из каждой поверхности покрытой служебной текстурой <code>toolsskybox</code>, и представляет собой прямой солнечный (или лунный) рассеянный свет, отраженный от облаков и т.д.


These lighting settings - direction, colour, brightness, etc are fairly specific to the actual image used for the 2D skybox. The [[Sky List]] article suggests some settings for some of Valve's skyboxes. Note also that [[env_fog_controller]] settings will look wrong if they don't correspond to the particular skybox used.
Такие настройки освещения, как направление, цвет, яркость и прочие зависят от конкретного изображения, используемого в 2-х мерном небе. В статье {{L|Sky List|Список текстур неба}} предлагаются некоторые настройки для небосводов от Valve. Отметим также, что настройки {{L|env_fog_controller}} должны соответствовать настройкам небосвода.


{{skybox_lighting}}
== Свет небосвода ==
{{:Ru/Skybox lighting}}


{{warning|Unfortunately Valve introduced a ''Pitch override'' parameter to the [[light_environment]] and [[env_sun]] entities, but not to [[shadow_control]]. Even more unfortunately, the ''Pitch override'' cannot be switched off and its rotation is measured counter-clockwise from the horizontal (so straight down is -90&deg;) whereas the ''<angles> Pitch'' is rotation is clockwise (so straight down is +90&deg;). The workaround for this is to make sure your ''Pitch override'' merely repeats the ''<angles>'' value; for example, if your [[shadow_control]], [[light_environment]] and [[env_sun]] ''<angles>'' are "45 -60 0" set the ''Pitch override'' to "-45".}}
{{warning|К сожалению, Valve ввела параметр ''Pitch override'' в точечных объектах мира {{L|light_environment}} и {{L|env_sun}}, но не в {{L|shadow_control}}. К ещё большему сожалению, ''Pitch override'' не может быть выключен и его значение отсчитывается против часовой стрелки относительно горизонтали (прямо вниз -90&deg;), тогда как ''<угол> тангажа (Pitch)'' отсчитывается по часовой (прямо вниз +90&deg;). Но к этому можно приспособиться; например, если ваши {{L|shadow_control}}, {{L|light_environment}} и {{L|env_sun}} имеют ''<angles>'' "45 -60 0", то установите ''Pitch override'' на "-45".}}


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


# Создаем собственные текстуры. Вам понадобится шесть изображений, одного и того же разрешения:
# Создаем собственные текстуры. Вам понадобится шесть изображений, одного и того же разрешения:
#* <skyname>BK Сзади
#* <название_неба>'''bk'''  ''(Сзади)''
#* <skyname>FT Спереди
#* <название_неба>'''ft'''  ''(Спереди)''
#* <skyname>UP Сверху
#* <название_неба>'''up'''  ''(Сверху)''
#* <skyname>DN Снизу
#* <название_неба>'''dn'''  ''(Снизу)''
#* <skyname>RT Справа
#* <название_неба>'''rt'''  ''(Справа)''
#* <skyname>LF Слева
#* <название_неба>'''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.
# {{L|Creating a Material|Затем конвертируйте в формат VTF}}. Убедитесь, что у вас "Clamp S" и "Clamp T", иначе при низкой детализации текстур Вы увидите швы.
# Create materials for each texture in <code>\materials\skybox\</code>, using the following template:
# Создавайте материалы для каждой текстуры в папке <code>\materials\skybox\</code>, используя следующий шаблон:
  sky
  sky
  {
  {
  [[$basetexture]] "<VTF>"
  {{L|$basetexture}} "<VTF>"
  [[$hdrcompressedtexture]] "<VTF>"
  {{L|$hdrcompressedtexture}} "<VTF>"
  [[$nofog]] 1
  {{L|$nofog}} 1
  [[$ignorez]] 1
  {{L|$ignorez}} 1
  }
  }


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


== Создание 2D неба для [[Goldsource]] и, использование в Source ==
== Создание 2D-неба для {{L|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:
Это поможет Вам создавать на карте зону внутри 2D-скайбокса, чтобы использовать её в Goldsource (на движке HL1). Вот простой пример:
# Create a large outdoor area with some displacement maps and treelines, and fog to hide the edges. Lets call it ''' ''carrotjuice'' '''.
# Создайте большое открытое пространство с небольшой деформацией, деревьями, туманом и скрытыми краями. Обзовите это ''' ''carrotjuice'' '''.
# Load the map ingame and turn cheats on ( ''sv_cheats 1'' ).
# Запустите карту в игре, и включите читы ( ''sv_cheats 1'' ).
# Activate the noclip-mode by simply opening the console and enter "'''noclip'''" and hit Enter.
# Активируйте режим noclip, просто введя в консоли "'''noclip'''", и нажмите Enter.
# Fly to the center of where you want the skybox.
# Пролетите в центр небосвода.
# Open up the console and type "'''mat_envmaptgasize 256'''", hit Enter.
# Откройте консоль и впишите "'''mat_envmaptgasize 256'''", нажмите Enter.
# 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'' ).
# Теперь впишите "'''envmap'''" и нажмите Enter. Созданы 6 фалов TGA, которые хранятся в папке с именем "cubemap_screenshots", находящейся в каталоге вашего мода ( например, HL2DM: ''Steam\SteamApps\youraccount\Half-Life 2 Deathmatch\hl2mp'' ).
Since the mapname was '' '''carrotjuice''' '', the name of the 6 TGA-files are as following:
Поскольку карта носит название '' '''carrotjuice''' '', имена 6 TGA-файлов следующие:


  carrotjuicert.tga ''(Справа)''
  carrotjuice'''rt.tga'''
  carrotjuiceft.tga ''(Спереди)''
  carrotjuice'''ft.tga'''
  carrotjuicelf.tga ''(Слева)''
  carrotjuice'''lf.tga'''
  carrotjuicebk.tga ''(Сзади)''
  carrotjuice'''bk.tga'''
  carrotjuiceup.tga ''(Сверху)''
  carrotjuice'''up.tga'''
  carrotjuicedn.tga ''(Снизу)''
  carrotjuice'''dn.tga'''


Также вы можете переместить свои текстуры в папку с вашим HL1-модом gfx\env-папка, для испоьзования в качестве неба на вашей карте.
Теперь их можно скопировать или перенести в папку с вашим HL1-модом - gfx\env, чтобы использовать в качестве неба на вашей карте.
 
== Руководства по созданию собственных текстур неба ==
Уроки, созданные [https://vk.com/project_source Project-S]:
 
*[https://www.youtube.com/watch?v=qgb0fNCaYaE Source SDK - Свой Скайбокс (Как сделать скайбокс из панорамного фото-рендера)]


== См. также ==
== См. также ==
* [[light_environment]], [[env_sun]] и [[shadow_control]] это энтити отвечающие за настройку света у неба, который исходит из текстуры toolsskybox на карте.
* {{L|light_environment}}, {{L|env_sun}} и {{L|shadow_control}} это точечные объекты мира, отвечающие за настройку света от неба, который исходит из служебной текстуры toolsskybox на карте.
*[[Sky List]]
*{{L|Sky List}} - Список материалов неба из различных игр и модов, основанных на Source и GoldSrc
{{envart}}
*{{L|Sky Writer}} - Инструмент для рендеринга сцен 3ds Max прямо в Source в виде неба HDR.
*{{L|Skybox Optimization}} - Руководство по оптимизации элементов небосвода.
{{envart:ru}}
 
{{ACategory|Material System}}
{{ACategory|Glossary}}
{{ACategory|Skybox}}
 


[[Category:Material System]]
{{stub}}
[[Category:Glossary]]
[[Category:Skybox]]

Latest revision as of 10:08, 19 July 2024

English (en)Español (es)Português do Brasil (pt-br)Русский (ru)中文 (zh)Translate (Translate)
Небосвод (Skybox) - это короб неба(en), не имеющий пространственной глубины и состоящий только из текстуры неба (не использует точечный объект мира sky_camera(en) для отображения миниатюрных трёхмерных моделей).
Skybox Template.jpg

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

Простой элемент мира(en) (не Объёмный объект мира(en)) со служебной текстурой tools/toolsskybox(en).

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

Элементы мира со служебной текстурой toolsskybox не обязательно должны создавать замкнутые короба.

Note.pngПримечание:Стандартное небо в HL2(en) имеет видимые швы. Это не ваша вина. См. следующий раздел, объясняющий, как сменить текстуру неба на другую.
Note.pngПримечание:Нельзя создавать небосвод, в виде большого полого короба с текстурой toolsskybox вокруг вашей карты.

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

Sky change.png

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

  1. Перейдите в меню Map(en)
  2. Из выпавшего списка выберите Map Properties...
  3. В окне Object Properties выберите поле Skybox Texture Name.
  4. Впишите имя неба из списка текстур неба.
Note.pngПримечание:Список доступных текстур неба можно найти на странице Список текстур неба(en).

Освещённость

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

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

Свет небосвода

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".
Warning.pngПредупреждение:К сожалению, Valve ввела параметр Pitch override в точечных объектах мира light_environment(en) и env_sun(en), но не в shadow_control(en). К ещё большему сожалению, Pitch override не может быть выключен и его значение отсчитывается против часовой стрелки относительно горизонтали (прямо вниз -90°), тогда как <угол> тангажа (Pitch) отсчитывается по часовой (прямо вниз +90°). Но к этому можно приспособиться; например, если ваши shadow_control(en), light_environment(en) и env_sun(en) имеют <angles> "45 -60 0", то установите Pitch override на "-45".

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

  1. Создаем собственные текстуры. Вам понадобится шесть изображений, одного и того же разрешения:
    • <название_неба>bk  (Сзади)
    • <название_неба>ft  (Спереди)
    • <название_неба>up  (Сверху)
    • <название_неба>dn  (Снизу)
    • <название_неба>rt  (Справа)
    • <название_неба>lf  (Слева)
  2. Затем конвертируйте в формат VTF(en). Убедитесь, что у вас "Clamp S" и "Clamp T", иначе при низкой детализации текстур Вы увидите швы.
  3. Создавайте материалы для каждой текстуры в папке \materials\skybox\, используя следующий шаблон:
sky
{
	$basetexture(en) "<VTF>"
	$hdrcompressedtexture(en) "<VTF>"
	$nofog(en) 1
	$ignorez(en) 1
}

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

Создание 2D-неба для Goldsource(en) с помощью Source

Это поможет Вам создавать на карте зону внутри 2D-скайбокса, чтобы использовать её в Goldsource (на движке HL1). Вот простой пример:

  1. Создайте большое открытое пространство с небольшой деформацией, деревьями, туманом и скрытыми краями. Обзовите это carrotjuice .
  2. Запустите карту в игре, и включите читы ( sv_cheats 1 ).
  3. Активируйте режим noclip, просто введя в консоли "noclip", и нажмите Enter.
  4. Пролетите в центр небосвода.
  5. Откройте консоль и впишите "mat_envmaptgasize 256", нажмите Enter.
  6. Теперь впишите "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(en), env_sun(en) и shadow_control(en) это точечные объекты мира, отвечающие за настройку света от неба, который исходит из служебной текстуры toolsskybox на карте.
  • Sky List(en) - Список материалов неба из различных игр и модов, основанных на Source и GoldSrc
  • Sky Writer(en) - Инструмент для рендеринга сцен 3ds Max прямо в Source в виде неба HDR.
  • Skybox Optimization(en) - Руководство по оптимизации элементов небосвода.
Статьи об окружающей среде
Текстуры неба и создание неба Source Source: Небосвод (2D)Объёмное небо (3D)HDR-текстуры небаСоздание текстур неба в TerragenСоздание текстур неба в Terragen - подробноСписок текстур неба


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

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


Неполная

This article or section is a stub. You can help by expanding it.