Ru/Skybox (2D): Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
(Created page with 'В сорсе, небо(skybox), представлено таким образом что представляет собой куб или коробку. The cube is then lock…')
 
No edit summary
 
(64 intermediate revisions by 12 users not shown)
Line 1: Line 1:
В сорсе, небо(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.
{{LanguageBar|title = Небосвод (двумерный)}}
'''Небосвод (Skybox)''' - это {{L|skybox|короб неба}}, не имеющий пространственной глубины и состоящий только из текстуры неба (не использует точечный объект мира {{L|sky_camera}} для отображения миниатюрных трёхмерных моделей).


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


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


In-game, 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 текстур неба ==


# Prepare your image files. You need six, each of the same resolution:
# Создаем собственные текстуры. Вам понадобится шесть изображений, одного и того же разрешения:
#* <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 ''(Right)''
  carrotjuice'''rt.tga'''
  carrotjuiceft.tga ''(Front)''
  carrotjuice'''ft.tga'''
  carrotjuicelf.tga ''(Left)''
  carrotjuice'''lf.tga'''
  carrotjuicebk.tga ''(Back)''
  carrotjuice'''bk.tga'''
  carrotjuiceup.tga ''(Up)''
  carrotjuice'''up.tga'''
  carrotjuicedn.tga ''(Down)''
  carrotjuice'''dn.tga'''


You can now copy or move these to your HL1-mods gfx\env-folder, to use it as skybox in a level.
Теперь их можно скопировать или перенести в папку с вашим 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.