Ru/3D Skybox: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
m (Multipage removal)
 
(39 intermediate revisions by 17 users not shown)
Line 1: Line 1:
{{totranslate:ru}}
{{LanguageBar|title = Объёмное небо(трёхмерный небосвод)}}
{{subpage|[[Skybox Basics]]}}


==Введение==
Включение области трёхмерного небосвода в карту станет мощным дополнением к визуальной составляющей карты. Это отдельная область, которую разработчик карты располагает за границами игрового мира. Сразу после загрузки карты, движок увеличивает объекты, находящиеся в области трёхмерного небосвода и помещает их за пределы карты, между {{L|Skybox (2D)|небосводом(двумерным)}} и игроком. Это визуально расширяет мир вашего уровня и экономит ресурсы, т.к. по умолчанию используется масштаб 1:16. Область трёхмерного небосвода - неинтерактивная часть карты - игрок и другие объекты мира не могут попасть в него. Геометрия 3D-скайбокса ничем не отличается от обычной геометрии карты. Возможен бесшовный переход от обычной геометрии карты к области трёхмерного небосвода (см. официальные карты на {{L|Counter-Strike: Source}}).


Добавление 3d-скайбокса может существенно улучшить вид карты. 3D-скайбокс - это дополнительная зона, создаваемая дизайнером уровней за пределами основной зоны, отвечающей за геймплей карты. Как только карта загрузится, движок увеличивает объекты, находящиеся в зоне 3D-скайбокса и помещает их за пределы уровня, между скайбоксом и игроком. Это используется для визуального расширения мира вокруг вашего уровня, без лишних затрат на ресурсы, т.к. по умолчанию используется масштаб 1:16. 3D-скайбоксы - это неинтерактивные части уровня - игрок и другие ентити не могут попасть в 3D-скайбокс.Геометрия 3D-скайбокса ничем не отличается от обычной геометрии уровня. Вполне возможны бесшовные переходы от обычной геометрии к объектам 3D-скайбокса - см. официальные карты на [[Counter-Strike: Source]]
{{Note|Область трёхмерного небосвода не заменяет {{L|Skybox (2D)|небосвод(двумерный)}}. Небосвод всегда находится на фоне объёмного неба. Чтобы изменить небосвод, см. {{L|Skybox (2D)|небосвод(двумерный)}}}}


{{note| 3D-скайбокс не заменяет [[2D-скайбокс|2D skybox]]. 2D-скайбокс всегда на фоне 3D-скайбокса. Чтобы изменить 2D-скайбокс, см. [[Skybox (2D)]].}}
==Преимущества==
==Преимущества==
Небосвод - это простые двухмерные изображения, наложенные на внутренние поверхности короба, окружающего карту. Объёмное небо - это полностью трёхмерная геометрия, точно синхронизированная с перемещением игрока. Т.к. они обрабатываются в реальном времени, они масштабируются с текущим разрешением видеокарты и поддерживают шейдеры в реальном времени, недоступные для небосвода.


Обычные скайбоксы - это простые двухмерные изображения, наложенные на грани куба, т.к. они окружают уровень. 3D скайбоксы - это 3D-геометрия, точно синхронизированная с перемещением игрока. Т.к. они обрабатываются в реальном времени, они масштабируются с текущим разрешением видеокарты и поддерживают шейдеры в реальном времени, недоступные для 2D-скайбоксов.
Основным преимуществом объёмного неба является возможность визуально расширить карту. Максимальный размер карты без объемного неба - 32768 единиц по каждой оси координат. Используя объёмное небо, мир игры визуально увеличивается в 16 раз.


Основным преимуществом 3D-скайбокса является возможность визуально увеличить карту. Максимальный размер карты без 3D-скайбокса - 32768 юнитов на каждой стороне. Используя 3D-скайбокс, карта увеличивается в 16 раз.
Карты такого размера возможны, т.к. области трёхмерного небосвода создаются в редакторе карт Hammer в масштабе 1/16. При компиляции карты, движок игры масштабирует их. Это не только сохраняет место в редакторе, но и ускоряет компиляцию и рендеринг.


Карты такого размера возможны, т.к. 3D-скайбоксы создаются в редакторе в масштабе 1/16. При компиляции карты, движок игры масштабирует их. Это не только сохраненное место в редакторе, это еще ускоряет компиляцию и визуализацию.
В связи с масштабированием областей трёхмерного неба, их карты освещённости имеют меньший размер. Поэтому объекты в области трёхмерного небосвода не так ресурсоёмки, как обычные.


При их масштабе, у 3D-скайбоксов намного меньше карты освещенности и разрешение текстур. Поэтому объекты 3D-скайбокса не так ресурсоёмки, как обычные.
Объёмное небо может быть использовано для преодоления ограничения расстояний между локациями, если они будут созданы как основная карта в малом разрешении. Команда разработчиков мода должна учитывать это для облегчения перехода от одной карты к другой.
 
3D-скайбоксы могут быть использованы для преодоления лимита расстояний между локациями, если они будут созданы как основная карта в малом разрешении. Команда разработчиков мода должна учитывать это для облегчения перехода от одной карты к другой.


===Основные характеристики===
===Основные характеристики===
Области трёхмерного небосвода имеют следующие характеристики:


3D-скайбоксы имеют следующие характеристики:
* По-умолчанию, создаются в редакторе в масштабе 1/16, и во время игры увеличиваются в 16 раз, чтобы соответствовать геометрии карты.
 
* По умолчанию создаются в масштабе 1/16 в редакторе и отображаются в 16 раз больше во время игры для увеличения геометрии локации.
* Поддерживаются материалы с шейдерами, такими как карты нормалей, вода, карты окружения, прокси, и.т.п.
* Поддерживаются материалы с шейдерами, такими как карты нормалей, вода, карты окружения, прокси, и.т.п.
* 3D-скайбоксы - не интерактивные зоны – игроки и другие ентити уровня не могут находится внутри.  
* Области трёхмерного небосвода - не интерактивные зоны – игроки и другие объекты мира не могут перемещаться внутри области трёхмерного небосвода.  
* Создается из брашей, деформированных ландшафтов, статичныхи динамичных моделей,источников освещения, брашевых ентитей, и точечных(таких как [[env_sprite]]).
* Создаются из элементов мира, деформированных ландшафтов, статичных и динамичных моделей, источников освещения, объёмных и точечных объектов мира (таких как {{L|env_sprite}}).
* Любые модели в 3D-скайбоксе должны соответствовать масштабу 1/16. Стандартные модели ([[Prop_Types_Overview|props]]) не масштабированы для 3D-скайбокса. Необходимо использовать масштаб 1/16. Для [[Half-Life 2]], все такие модели находятся в папке <code>models/props_skybox</code> или имеют суффикс <code>_skybox</code>.
* Любые модели в области трёхмерного неба должны соответствовать масштабу 1/16. Стандартные модели ({{L|Prop_Types_Overview|props}}) не масштабированы для 3D-скайбокса. Необходимо использовать масштаб 1/16. Для {{L|Half-Life 2}}, все такие модели находятся в папке <code>models/props_skybox</code> или имеют суффикс <code>_skybox</code>.
* Не должны содержать [[info_player_start]], NPC или монстров.
* Не должны содержать объекты типа <code>{{L|info_player_start}}</code>, NPC или монстров.
* Имеют меньшие по размеру карты освещенности и разрешение текстур из-за масштаба, в котором они созданы.
* Имеют меньшие по размеру карты освещённости и разрешение текстур из-за масштаба, в котором они созданы.
* Должны иметь собственные источники освещения, хотя [[light_environment]], находящийся на локации, будет применяться.
* Должны иметь собственные источники освещения, хотя <code>{{L|light_environment}}</code>, находящийся на локации, будет применяться.
* Используйте ентити [[sky_camera]] для контроля совпадения с не-скайбоксовской геометрией.
* Используйте объект мира <code>{{L|sky_camera}}</code> для контроля совпадения с не-скайбоксовской геометрией.
* У 3D-скайбоксов собственные параметры тумана, настраиваемые в ентити [[sky_camera]].
* У областей трёхмерного небосвода собственные параметры тумана, настраиваемые в объекте мира <code>{{L|sky_camera}}</code>.
* Геометрия в 3D-скайбоксах никак не обрезается. Добавление множества моделей может существенно снизить производительность.
* Геометрия в областях трёхмерного небосвода никак не обрезается. Добавление множества моделей может существенно снизить производительность.
* На карте должен быть размещен <code>[[light_environment]]</code>, иначе модели в 3d-скайбоксе будут освещены неправильно. <code>light_environment</code> в основной части карты избавит от проблем.
* На карте должен быть размещён объект мира <code>{{L|light_environment}}</code>, иначе модели в области трёхмерного небосвода будут освещены неправильно. <code>light_environment</code> в основной части карты избавит от проблем.
 
==Создание 3D-скайбоксов==
* Примечание для карт Portal:  ''3D-скайбоксы не видны сквозь порталы.''
* Примечание насчет  [[sky_camera]]: точечные ентити не изменяют масштаб.


The most efficient way of creating a 3D skybox that matches or "lines up" with the your current map is to use some of the geometry in the main part of the level. Follow these steps after you've created your main level geometry:
==Создание областей трёхмерного небосвода==
* Примечание для карт Portal: ''области трёхмерного небосвода не видны сквозь порталы.''
* Примечание насчёт <code>{{L|sky_camera}}</code>: точечные объекты мира не изменяют масштаб.


# Add a [[sky_camera]] entity at the world origin (coordinates 0, 0, 0), the center of the map grid. The [[sky_camera]] is a reference point used by the renderer to align the 3D skybox with the main part of the map. In other words, it acts as a marker telling the renderer how the 3D skybox's origin and the world's origin relate to one another. You can think of this process as being similar to selecting all the 3D skybox geometry and then aligning the [[sky_camera]] entity in that selection with the world's origin (0,0,0). The geometry is ''translated'' back to that position in the world. This is the same concept used when the skybox is rendered in the engine.
Самый эффективный способ создания области трёхмерного небосвода, точно вписывающегося в границы вашей карты - использование нескольких брашей карты, которые будут ориентирами при построении скайбокса. Далее - подробное пошаговое объяснение:
# Select some distinct parts of the level that you can use a guideline for scale and position in the 3D skybox. Common elements to select for this purpose would be some of the larger structures, as well as the walls, cliffs, hills, etc. that define the edges of the map. Make sure you also have the [[sky_camera]] you created selected as well. {{note|It is important '''not''' to select any model entities, only brushes. Models cannot be used as reference geometry, because models cannot be scaled down in the Hammer editor.}}
# Choose '''Copy''' from the '''Edit''' menu, or hit CTRL-C.
# Choose '''Paste Special''' from the '''Edit''' menu. Set the '''Number of copies to paste''' to '''1''', and all other values to '''0'''. Hit '''OK'''. This makes a duplicate of the geometry you had selected.
# Turn on '''Scaling Texture Lock''' in the toolbar, if it is not already on. Its icon resembles <tl>. This will shrink the textures along with the geometry.
# Leaving geometry selected, choose '''Transform''' from the '''Tools''' menu. Select the radio button next to '''Scale'''. Type in a value of '''.0625 for X, Y and Z.''' This is the decimal equivalent to 1/16 – the scale of the 3D skybox. Click '''OK'''. {{note|If you want textures on the geometry to scale accordingly, make sure you have texture lock enabled.}}
# You now have a 1/16 scale version of your reference geometry. Now drag (move) it to another part of the map where you wish build your 3D skybox. It doesn't matter where it is as long as it's not touching any part of the main level geometry area.
# Delete the [[sky_camera]] entity from the normal world map area you started from. ''Important'': only the [[sky_camera]] entity in the 3D skybox should remain in the map.
# Build your 3D skybox geometry around the reference geometry, using it as a guide. You can build skybox geometry that meets the reference geometry seamlessly. You can use brush and displacement geometry. Models can also be placed, but since the 3D skybox is at 1/16 scale, any models must also be at 1/16 scale. The model <code>hl2\models\props_skybox\coast01.mdl</code> is a sample model in 1/16 scale. Try positioning the 3D view camera near the height of the player. This will give you a good idea of how the 3D skybox will look when it's rendered in the engine.
# Add a hollow cube of brushes around your reference geometry and assign the <code>tools\toolsskybox</code> material to it. The standard 2D cubic skybox will appear on these surfaces. The 3D skybox area must be sealed with these brushes.
# When you're done, delete or hide all of the reference geometry '''except''' for the [[sky_camera]] entity. You may find that it work best to add the reference geometry to its own visgroup so that it can be toggled on and off or re-placed. Just make sure you turn it off before you save and compile the level, or it will be compiled into the 3D skybox.
# Your original map still needs the <code>tools\toolsskybox</code> material wherever you want to see the sky, however it will now show the 3D skybox as well as the 2D skybox (which is what it did previously).


==Testing==
# Добавьте в центр карты энтити <code>{{L|sky_camera}}</code> (в координаты 0, 0, 0). <code>{{L|sky_camera}}</code> - это ориентировочная точка отсчёта, используемая движком для определения местоположения скайбокса относительно карты. Другими словами, <code>{{L|sky_camera}}</code> играет роль центра основной карты. Скайбокс будет перемещён (и отмасштабирован) в центр карты относительно этой энтити.
# Выберите несколько заметных деталей уровня, которые помогут Вам создать область трёхмерного небосвода. Для этого отлично подойдут стены, строения, {{L|Displacement|деформированные поверхности}} и другие элементы карты, которые образуют границы карты. Проверьте, чтобы объект мира <code>{{L|sky_camera}}</code> тоже был выделен.
{{Note|Это важно, '''НЕ''' выделяйте для использования модели, потому что они не могут быть масштабируемы в редакторе.}}
# Выберите пункт '''Copy''' из меню '''Edit''', или нажмите CTRL+C.
# Выберите пункт '''Paste Special''' из того же меню. Задайте '''Number of copies to paste''' как '''1''', и все другие параметры выставите в '''0'''. Нажмите '''OK'''. На карте появится дубликат того, что вы выделяли.
# Включите на панели инструментов кнопку '''Scaling Texture Lock''', если она отключена. Это иконка с надписью <tl>. Это заставит текстуры масштабироваться вместе с геометрией.
# Не снимая выделения, выберите пункт '''Transform''' из меню '''Tools'''. Установите флажок напротив '''Scale'''. Выставите значение'''.0625 для X, Y, Z.''' Это уменьшит выделение в 16 раз, как раз под масштаб области трёхмерного небосвода. Нажмите '''OK'''. {{Note|Если Вы хотите, чтобы текстуры растянулись на элементах карты, убедитесь в том, что включен режим '''"Texture Lock"'''}}
# Теперь у Вас есть версия вашей опорной геометрии в масштабе 1/16. Теперь переместите это туда, где Вы хотите разместить область трёхмерного небосвода. Не имеет значения, где она расположена, главное чтобы она не касалась остальной части карты.
# Удалите объект мира <code>{{L|sky_camera}}</code> с центра нормальной карты. {{Note|На карте должен остаться только один объект мира <code>{{L|sky_camera}}</code> - непосредственно в области трёхмерного небосвода.}}
# Постройте геометрию области трёхмерного небосвода вокруг ваших ориентировочных элементов карты. Таким образом можно сделать совершенно незаметными швы между областью трёхмерного небосвода и границами карты. Можно использовать элементы карты и {{L|Displacement|деформированные поверхности}}. Заметьте, что модели, помещаемые в область трёхмерного небосвода, тоже должны соответствовать масштабу 1/16. <code>hl2\models\props_skybox\coast01.mdl</code> - типичный пример модели такого масштаба. Попробуйте поместить камеру на уровне зрения игрока, это даст Вам хорошее представление о том как будет выглядеть объёмное небо в игре.
# Создайте вокруг вашей область трёхмерного небосвода полый короб, закрашенный текстурой <code>tools\toolsskybox</code>. Короб должен плотно облегать элементы карты и модели скайбокса, без дырок во "внешнее пространство".
# Когда Вы закончите, удалите или спрячьте геометрию ориентировочных элементов, '''исключая''' объект мира <code>{{L|sky_camera}}</code>. Для облегчения работы можно спрятать геометрию как отдельную {{L|VisGroups|видовую группу}}, и потом показывать её при необходимости. Главное - убедитесь перед компилированием в том, что она скрыта.
# На оригинальной части карты следует создать элементы карты со служебной текстурой <code>tools\toolsskybox</code>, везде, где планировалось показывать игроку небо (а значит, и область трёхмерного небосвода).


Если ты коректно запёк свой 3D skybox, можешь компилировать свою карту и выбрать новый 3D skybox в движке.
==Проверка==
Если Вы закончили создание области трёхмерного небосвода, можете компилировать свою карту и смотреть, что получилось в игре.


== Examples ==
== Примеры ==
* See <code>sdk_content\hl2\mapsrc\sdk_3d_skybox.vmf</code> for an example of a 3D skybox.
* См. <code>sdk_content\hl2\mapsrc\sdk_3d_skybox.vmf</code> для примера области трёхмерного небосвода.
* [http://www.steamreview.org/external/vdc/3dskybox/3dskybox_drawdistextend.zip An example of extending draw distances with 3D skyboxes] (commented)
* [http://www.steamreview.org/external/vdc/3dskybox/3dskybox_drawdistextend.zip An example of extending draw distances with 3D skyboxes] (commented)
* [http://www.type3studios.com/downloads/tutorials/SdkNutsTutorials/akg_3Dskybox01.zip 3D Skybox Video Tutorial]
* [http://www.type3studios.com/downloads/tutorials/SdkNutsTutorials/akg_3Dskybox01.zip 3D Skybox Video Tutorial]
* [http://www.type3studios.com/downloads/tutorials/SdkNutsTutorials/wiseEscape.zip HL2 sample VMF for 3D Skybox water/world]
* [http://www.type3studios.com/downloads/tutorials/SdkNutsTutorials/wiseEscape.zip HL2 sample VMF for 3D Skybox water/world]


{{envart}}


{{otherlang:en}}
==Уроки по созданию Объёмного неба==
{{otherlang:en:ru|3D_Skybox:ru}}
Группа автора уроков в ВК [https://vk.com/project_source Project-S]
 
*[https://www.youtube.com/watch?v=XjH3PqMIu8c About 3D Skybox (Rus)]
*[https://www.youtube.com/watch?v=oK64g7bm98k Ocean Skybpx (Rus)]
*[https://www.youtube.com/watch?v=EfV477qMKOY 3D Models (Rus)]
*[https://www.youtube.com/watch?v=tosebp1MSeg Easy Displacement (Rus)]
*[https://www.youtube.com/watch?v=q8htPBT-0ng Brush World and disp (Rus)]
*[https://www.youtube.com/watch?v=qgb0fNCaYaE Source SDK - Custom Skybox (How to create Skybox - 360 Panorama) (на Русском)]


[[Category:Level Design]]
{{envart}}{{envart}}
[[Category:Glossary]]
{{ACategory|Level Design}}{{ACategory|Tutorials}}{{ACategory|Skybox}}{{ACategory|Source}}
[[Category:Tutorials]]
[[Category:Skybox]]

Latest revision as of 03:54, 12 July 2024

English (en)Deutsch (de)Italiano (it)Português do Brasil (pt-br)Русский (ru)中文 (zh)Translate (Translate)

Включение области трёхмерного небосвода в карту станет мощным дополнением к визуальной составляющей карты. Это отдельная область, которую разработчик карты располагает за границами игрового мира. Сразу после загрузки карты, движок увеличивает объекты, находящиеся в области трёхмерного небосвода и помещает их за пределы карты, между небосводом(двумерным)(en) и игроком. Это визуально расширяет мир вашего уровня и экономит ресурсы, т.к. по умолчанию используется масштаб 1:16. Область трёхмерного небосвода - неинтерактивная часть карты - игрок и другие объекты мира не могут попасть в него. Геометрия 3D-скайбокса ничем не отличается от обычной геометрии карты. Возможен бесшовный переход от обычной геометрии карты к области трёхмерного небосвода (см. официальные карты на Counter-Strike: Source(en)).

Note.pngПримечание:Область трёхмерного небосвода не заменяет небосвод(двумерный)(en). Небосвод всегда находится на фоне объёмного неба. Чтобы изменить небосвод, см. небосвод(двумерный)(en)

Преимущества

Небосвод - это простые двухмерные изображения, наложенные на внутренние поверхности короба, окружающего карту. Объёмное небо - это полностью трёхмерная геометрия, точно синхронизированная с перемещением игрока. Т.к. они обрабатываются в реальном времени, они масштабируются с текущим разрешением видеокарты и поддерживают шейдеры в реальном времени, недоступные для небосвода.

Основным преимуществом объёмного неба является возможность визуально расширить карту. Максимальный размер карты без объемного неба - 32768 единиц по каждой оси координат. Используя объёмное небо, мир игры визуально увеличивается в 16 раз.

Карты такого размера возможны, т.к. области трёхмерного небосвода создаются в редакторе карт Hammer в масштабе 1/16. При компиляции карты, движок игры масштабирует их. Это не только сохраняет место в редакторе, но и ускоряет компиляцию и рендеринг.

В связи с масштабированием областей трёхмерного неба, их карты освещённости имеют меньший размер. Поэтому объекты в области трёхмерного небосвода не так ресурсоёмки, как обычные.

Объёмное небо может быть использовано для преодоления ограничения расстояний между локациями, если они будут созданы как основная карта в малом разрешении. Команда разработчиков мода должна учитывать это для облегчения перехода от одной карты к другой.

Основные характеристики

Области трёхмерного небосвода имеют следующие характеристики:

  • По-умолчанию, создаются в редакторе в масштабе 1/16, и во время игры увеличиваются в 16 раз, чтобы соответствовать геометрии карты.
  • Поддерживаются материалы с шейдерами, такими как карты нормалей, вода, карты окружения, прокси, и.т.п.
  • Области трёхмерного небосвода - не интерактивные зоны – игроки и другие объекты мира не могут перемещаться внутри области трёхмерного небосвода.
  • Создаются из элементов мира, деформированных ландшафтов, статичных и динамичных моделей, источников освещения, объёмных и точечных объектов мира (таких как env_sprite(en)).
  • Любые модели в области трёхмерного неба должны соответствовать масштабу 1/16. Стандартные модели (props(en)) не масштабированы для 3D-скайбокса. Необходимо использовать масштаб 1/16. Для Half-Life 2(en), все такие модели находятся в папке models/props_skybox или имеют суффикс _skybox.
  • Не должны содержать объекты типа info_player_start(en), NPC или монстров.
  • Имеют меньшие по размеру карты освещённости и разрешение текстур из-за масштаба, в котором они созданы.
  • Должны иметь собственные источники освещения, хотя light_environment(en), находящийся на локации, будет применяться.
  • Используйте объект мира sky_camera(en) для контроля совпадения с не-скайбоксовской геометрией.
  • У областей трёхмерного небосвода собственные параметры тумана, настраиваемые в объекте мира sky_camera(en).
  • Геометрия в областях трёхмерного небосвода никак не обрезается. Добавление множества моделей может существенно снизить производительность.
  • На карте должен быть размещён объект мира light_environment(en), иначе модели в области трёхмерного небосвода будут освещены неправильно. light_environment в основной части карты избавит от проблем.

Создание областей трёхмерного небосвода

  • Примечание для карт Portal: области трёхмерного небосвода не видны сквозь порталы.
  • Примечание насчёт sky_camera(en): точечные объекты мира не изменяют масштаб.

Самый эффективный способ создания области трёхмерного небосвода, точно вписывающегося в границы вашей карты - использование нескольких брашей карты, которые будут ориентирами при построении скайбокса. Далее - подробное пошаговое объяснение:

  1. Добавьте в центр карты энтити sky_camera(en) (в координаты 0, 0, 0). sky_camera(en) - это ориентировочная точка отсчёта, используемая движком для определения местоположения скайбокса относительно карты. Другими словами, sky_camera(en) играет роль центра основной карты. Скайбокс будет перемещён (и отмасштабирован) в центр карты относительно этой энтити.
  2. Выберите несколько заметных деталей уровня, которые помогут Вам создать область трёхмерного небосвода. Для этого отлично подойдут стены, строения, деформированные поверхности(en) и другие элементы карты, которые образуют границы карты. Проверьте, чтобы объект мира sky_camera(en) тоже был выделен.
Note.pngПримечание:Это важно, НЕ выделяйте для использования модели, потому что они не могут быть масштабируемы в редакторе.
  1. Выберите пункт Copy из меню Edit, или нажмите CTRL+C.
  2. Выберите пункт Paste Special из того же меню. Задайте Number of copies to paste как 1, и все другие параметры выставите в 0. Нажмите OK. На карте появится дубликат того, что вы выделяли.
  3. Включите на панели инструментов кнопку Scaling Texture Lock, если она отключена. Это иконка с надписью <tl>. Это заставит текстуры масштабироваться вместе с геометрией.
  4. Не снимая выделения, выберите пункт Transform из меню Tools. Установите флажок напротив Scale. Выставите значение.0625 для X, Y, Z. Это уменьшит выделение в 16 раз, как раз под масштаб области трёхмерного небосвода. Нажмите OK.
    Note.pngПримечание:Если Вы хотите, чтобы текстуры растянулись на элементах карты, убедитесь в том, что включен режим "Texture Lock"
  5. Теперь у Вас есть версия вашей опорной геометрии в масштабе 1/16. Теперь переместите это туда, где Вы хотите разместить область трёхмерного небосвода. Не имеет значения, где она расположена, главное чтобы она не касалась остальной части карты.
  6. Удалите объект мира sky_camera(en) с центра нормальной карты.
    Note.pngПримечание:На карте должен остаться только один объект мира sky_camera(en) - непосредственно в области трёхмерного небосвода.
  7. Постройте геометрию области трёхмерного небосвода вокруг ваших ориентировочных элементов карты. Таким образом можно сделать совершенно незаметными швы между областью трёхмерного небосвода и границами карты. Можно использовать элементы карты и деформированные поверхности(en). Заметьте, что модели, помещаемые в область трёхмерного небосвода, тоже должны соответствовать масштабу 1/16. hl2\models\props_skybox\coast01.mdl - типичный пример модели такого масштаба. Попробуйте поместить камеру на уровне зрения игрока, это даст Вам хорошее представление о том как будет выглядеть объёмное небо в игре.
  8. Создайте вокруг вашей область трёхмерного небосвода полый короб, закрашенный текстурой tools\toolsskybox. Короб должен плотно облегать элементы карты и модели скайбокса, без дырок во "внешнее пространство".
  9. Когда Вы закончите, удалите или спрячьте геометрию ориентировочных элементов, исключая объект мира sky_camera(en). Для облегчения работы можно спрятать геометрию как отдельную видовую группу(en), и потом показывать её при необходимости. Главное - убедитесь перед компилированием в том, что она скрыта.
  10. На оригинальной части карты следует создать элементы карты со служебной текстурой tools\toolsskybox, везде, где планировалось показывать игроку небо (а значит, и область трёхмерного небосвода).

Проверка

Если Вы закончили создание области трёхмерного небосвода, можете компилировать свою карту и смотреть, что получилось в игре.

Примеры


Уроки по созданию Объёмного неба

Группа автора уроков в ВК Project-S

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


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

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


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

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