Ru/Skybox (2D): Difference between revisions
Thunder4ik (talk | contribs) m (Unicodifying, replaced: [[Image: → [[File: (2)) |
No edit summary |
||
Line 1: | Line 1: | ||
{{Langsp}} | {{Langsp|title=Небосвод (двумерный)}} '''Небосвод (Skybox)''' - это [[skybox|короб неба]], не имеющий пространственной глубины и состоящий только из текстуры неба (не использует точечный объект мира [[sky_camera]] для отображения миниатюрных трёхмерных моделей). | ||
[[File:Skybox_Template.jpg|256 px|right]] | [[File:Skybox_Template.jpg|256 px|right]] | ||
== Добавление | == Добавление небосвода на карту == | ||
Простой [[world brush]] (не [[brush entity:ru| | Простой [[world brush|элемент мира]] (не [[brush entity:ru|Объёмный объект мира]]) со служебной текстурой '''<code>[[tool textures|tools/toolsskybox]]</code>'''. | ||
В игре, | В игре, небо будет видно ''сквозь'' каждую поверхность, к которой применена служебная текстура <code>toolsskybox</code>. | ||
Элементы мира со служебной текстурой <code>toolsskybox</code> ''не'' обязательно должны создавать замкнутые короба. | |||
{{Note| | {{Note|Стандартное небо в [[HL2]] имеет видимые швы. Это не ваша вина. См. следующий раздел, объясняющий, как сменить текстуру неба на другую.}} | ||
{{Note|'''Нельзя''' создавать | {{Note|'''Нельзя''' создавать небосвод, в виде большого полого короба с текстурой <code>toolsskybox</code> вокруг вашей карты.}} | ||
== Смена отображаемого неба == | == Смена отображаемого неба == | ||
[[File:Sky_change.png|right|200px]] | [[File:Sky_change.png|right|200px]] | ||
Если | Если Вам не нравится стандартная текстура неба "sky_day01_01", Вы можете поменять её имя в диалоговом окне Map Properties. Открыв карту в редакторе Hammer, выполните следующие действия: | ||
# Перейдите в [[Hammer Map Menu|меню Map]] | # Перейдите в [[Hammer Map Menu|меню Map]] | ||
# Из выпавшего списка выберите '''Map Properties...''' | # Из выпавшего списка выберите '''Map Properties...''' | ||
# В окне Object Properties выберите поле '''Skybox Texture Name'''. | # В окне Object Properties выберите поле '''Skybox Texture Name'''. | ||
# Впишите имя неба из списка | # Впишите имя неба из списка текстур неба. | ||
{{Note|Список доступных | {{Note|Список доступных текстур неба можно найти на странице [[Sky List|Список текстур неба]].}}{{clr}} | ||
== Освещённость == | == Освещённость == | ||
Освещенность проецируется на карту из каждой поверхности <code>toolsskybox</code>, и представляет собой прямой солнечный (или лунный) рассеянный свет, отраженный от облаков и т.д. | Освещенность проецируется на карту из каждой поверхности покрытой служебной текстурой <code>toolsskybox</code>, и представляет собой прямой солнечный (или лунный) рассеянный свет, отраженный от облаков и т.д. | ||
Такие настройки освещения, как направление, цвет, яркость и прочие зависят от конкретного изображения, используемого в 2-х мерном | Такие настройки освещения, как направление, цвет, яркость и прочие зависят от конкретного изображения, используемого в 2-х мерном небе. В статье [[Sky List|Список текстур неба]] предлагаются некоторые настройки для небосводов от Valve. Отметим также, что настройки [[env_fog_controller]] должны соответствовать настройкам небосвода. | ||
{{skybox_lighting:ru}} | {{skybox_lighting:ru}} | ||
{{warning|К сожалению, Valve ввела параметр ''Pitch override'' в | {{warning|К сожалению, Valve ввела параметр ''Pitch override'' в точечных объектах мира [[light_environment]] и [[env_sun]], но не в [[shadow_control]]. К ещё большему сожалению, ''Pitch override'' не может быть выключен и его значение отсчитывается против часовой стрелки относительно горизонтали (прямо вниз -90°), тогда как ''<угол> тангажа (Pitch)'' отсчитывается по часовой (прямо вниз +90°). Но к этому можно приспособиться; например, если ваши [[shadow_control]], [[light_environment]] и [[env_sun]] имеют ''<angles>'' "45 -60 0", то установите ''Pitch override'' на "-45".}} | ||
== Создание собственных 2D текстур неба == | == Создание собственных 2D текстур неба == | ||
Line 41: | Line 41: | ||
#* <название_неба>'''rt''' ''(Справа)'' | #* <название_неба>'''rt''' ''(Справа)'' | ||
#* <название_неба>'''lf''' ''(Слева)'' | #* <название_неба>'''lf''' ''(Слева)'' | ||
# [[Creating a Material:ru|Затем конвертируйте в формат VTF]]. Убедитесь, что у вас "Clamp S" и "Clamp T", иначе при низкой детализации текстур | # [[Creating a Material:ru|Затем конвертируйте в формат VTF]]. Убедитесь, что у вас "Clamp S" и "Clamp T", иначе при низкой детализации текстур Вы увидите швы. | ||
# Создавайте материалы для каждой текстуры в папке <code>\materials\skybox\</code>, используя следующий шаблон: | # Создавайте материалы для каждой текстуры в папке <code>\materials\skybox\</code>, используя следующий шаблон: | ||
sky | sky | ||
Line 51: | Line 51: | ||
} | } | ||
Теперь, в [[Hammer| | Теперь, в [[Hammer|редакторе карт]], перейдите в Map > Map Properties > Skybox Texture Name и введите имя вашего неба без сторонних тегов. | ||
== Создание 2D-неба для [[Goldsource]] с помощью Source == | == Создание 2D-неба для [[Goldsource]] с помощью Source == | ||
Это поможет | Это поможет Вам создавать на карте зону внутри 2D-скайбокса, чтобы использовать её в Goldsource (на движке HL1). Вот простой пример: | ||
# Создайте большое открытое пространство с небольшой деформацией, деревьями, туманом и скрытыми краями. Обзовите это ''' ''carrotjuice'' '''. | # Создайте большое открытое пространство с небольшой деформацией, деревьями, туманом и скрытыми краями. Обзовите это ''' ''carrotjuice'' '''. | ||
# Запустите карту в игре, и включите читы ( ''sv_cheats 1'' ). | # Запустите карту в игре, и включите читы ( ''sv_cheats 1'' ). | ||
# Активируйте режим noclip, просто введя в консоли "'''noclip'''", и нажмите Enter. | # Активируйте режим noclip, просто введя в консоли "'''noclip'''", и нажмите Enter. | ||
# Пролетите в центр | # Пролетите в центр небосвода. | ||
# Откройте консоль и впишите "'''mat_envmaptgasize 256'''", нажмите Enter. | # Откройте консоль и впишите "'''mat_envmaptgasize 256'''", нажмите Enter. | ||
# Теперь впишите "'''envmap'''" и нажмите Enter. Созданы 6 фалов TGA, которые хранятся в папке с именем "cubemap_screenshots", находящейся в каталоге вашего мода ( например, HL2DM: ''Steam\SteamApps\youraccount\Half-Life 2 Deathmatch\hl2mp'' ). | # Теперь впишите "'''envmap'''" и нажмите Enter. Созданы 6 фалов TGA, которые хранятся в папке с именем "cubemap_screenshots", находящейся в каталоге вашего мода ( например, HL2DM: ''Steam\SteamApps\youraccount\Half-Life 2 Deathmatch\hl2mp'' ). | ||
Line 72: | Line 72: | ||
Теперь их можно скопировать или перенести в папку с вашим HL1-модом - gfx\env, чтобы использовать в качестве неба на вашей карте. | Теперь их можно скопировать или перенести в папку с вашим HL1-модом - gfx\env, чтобы использовать в качестве неба на вашей карте. | ||
== Руководства по созданию собственных | == Руководства по созданию собственных текстур неба == | ||
Уроки, созданные [https://vk.com/project_source Project-S]: | Уроки, созданные [https://vk.com/project_source Project-S]: | ||
Line 78: | Line 78: | ||
== См. также == | == См. также == | ||
* [[light_environment]], [[env_sun]] и [[shadow_control]] это | * [[light_environment]], [[env_sun]] и [[shadow_control]] это точечные объекты мира, отвечающие за настройку света от неба, который исходит из служебной текстуры toolsskybox на карте. | ||
*[[Sky List]] - Список материалов неба из различных игр и модов, основанных на Source и GoldSrc | *[[Sky List]] - Список материалов неба из различных игр и модов, основанных на Source и GoldSrc | ||
*[[Sky Writer:ru|Sky Writer]] - Инструмент для рендеринга сцен 3ds Max прямо в Source в виде неба HDR. | *[[Sky Writer:ru|Sky Writer]] - Инструмент для рендеринга сцен 3ds Max прямо в Source в виде неба HDR. | ||
*[[Skybox Optimization]] - Руководство по оптимизации | *[[Skybox Optimization]] - Руководство по оптимизации элементов небосвода. | ||
{{envart:ru}} | {{envart:ru}} |
Revision as of 11:37, 5 March 2024
Небосвод (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. Без этого объекта карты динамические тени будут глючными и неконфигурируемыми.
Примечание:shadow_control является устаревшим и не работает в ветке движка CS:GO engine branch, и был заменен на env_cascade_light. Используйте этот объект вместо него.
- env_sun помещает светящийся спрайт в небосвод для отображения видимого положения Солнца на небе.
- env_cascade_light отбрасывает на карту резкие тени в реальном времени, обычно копируя настройки из объекта карты light_environment. (Во всех играх начиная с
)(также в
)
- newLight_Dir отображает световые лучи, исходящие от диска/круга на небосводе; не создает никакого реального освещения (код освещения отключен). (только в
)
- light_deferred_global создает динамические тени и освещение, подобно env_cascade_light. (только в
)(также в
)
Объяснение
Чтобы разобраться во всем этом, просто убедитесь, что на вашей карте есть только один из этих объектов, и что углы тангажа и рысканья установлены одинаково для всех трёх объёктов. (Pitch - это угол возвышения Солнца над землей, а Yaw - его компасный пеленг).
Эти параметры освещения - направление, цвет, яркость и т.д. - довольно специфичны для фактического изображения, используемого для небосвода. В статье Список текстур неба предлагаются некоторые настройки для официальных игровых скайбоксов. Объект карты worldspawn определяет, какой Небосвод использовать. Также обратите внимание, что туман будет выглядеть неправильно, если настройки env_fog_controller не соответствуют используемому небосводу.


Создание собственных 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 - Руководство по оптимизации элементов небосвода.
Статьи об окружающей среде | |
---|---|
Текстуры неба и создание неба | ![]() |
Создание рельефа местности и деформация поверхностей | Деформированные поверхности • Создание отверстий в деформированных поверхностях • Цифровые модели местности • Создание рельефа в Worldmachine |