Вы наверняка хотели бы создать уровни, содержащие
большие открытые пространства. Главное - то, что в каждом таком уровне у
Вас должно быть небо вверху. Вот о процессе создания неба и будет
рассказано в этой статье.
SkyBox
Небо в Postal устроено
следующим образом: у Вас есть собственно уровень, с открытыми
пространствами, и небольшой отдельный кусочек-комната (SkyBox), в
котором где-то есть объект SkyZoneInfo, который играет роль "камеры".
Внутри этого кусочка Вы делаете Ваше небо, горы, планеты, солнце и т.д. В
Вашем уровне есть несколько поверхностей с установленным атрибутом
"Fake backdrop". Сквозь эти поверхности Вы можете видеть изображение,
передаваемое камерой (т.е. объектом SkyZoneInfo). Эти поверхности - как
бы мониторы, передающие изображение неба. Таким образом, для создания
неба нам нужно 2 компонента - SkyBox и несколько
поверхностей-"мониторов".
Небо
В теории это выглядит
сложно, однако давайте сделаем наш первый SkyBox и Вы сразу разберетесь,
что к чему. Для начала сделайте квадратную комнату 512x512x512.
Загрузите файл josh-textures.utx с текстурами травы, земли, камней и
т.д. и назначьте одну из текстур полу Вашей комнаты. Теперь выделите все
остальные плоскости комнаты, нажмите на одной из них правую кнопку мыши
и выберите "Surface Properties (x selected)...". В закладке Effects
отметьте флажок Fake Backdrop. Теперь эти поверхности в игре не будут
видны, а сквозь них мы будем видеть небо. Но чтобы его увидеть, его надо
сначала создать. Сделайте комнату 512x1024x1024 где-нибудь в Вашем
уровне. Теперь загрузите файл zo_skies.utx с текстурами неба. Измените
размер куба на 256x256x256, выберите из файла josh-texures.utx текстуру
земли и добавьте этот куб прямо в центр Вашей комнаты.
Теперь поверните поверхность по часовой стрелке на следующий край. Для этого нажмите на инструмент Texture Rotate.
Ну
и еще Вы наверное захотите добавить солнце или луну. Это делается очень
легко, просто добавляется обыкновенная поверхность с изображением
планеты. Измените размер поверхности на 64x64, поместите ее на небо, в
любое место, и разверните в сторону центра. Теперь выберите текстуру
объекта, нажмите Add. Скорее всего, размер текстуры Вашей планеты больше
чем 64x64(например, размер Rpl - 128x128). В этом случае выберите
поверхность с планетой, вызовите окно Surface properties, и в поле
Scale->Simple scaling установите необходимый масштаб, нажав затем
Apply. Ну и, наконец, самое главное - добавьте объект
Info.ZoneInfo.SkyZoneInfo прямо в центр Вашего SkyBox'a.
Все,
теперь Ваше небо готово. Можете это проверить, нажав Ctrl+P. Как Вы
видите, небо видно сквозь все поверхности с установленным атрибутом Fake
backdrop. Создается видимость того, что весь уровень поместили в ту
маленькую комнатку, в SkyBox, точно на место где находится объект
SkyZoneInfo. Теперь, надеюсь, всем понятно устройство неба в Postal.
Заключение
И в заключение даём несколько советов по созданию неба:
* Скорость плывущих облаков можно менять. Откройте окно параметров
SkyZoneInfo и изменяйте параметры ZoneLight->TexUPanSpeed,
TexVPanSpeed. Рекомендую ставить эти значения где-то в 0.3-0.5 для
хорошей скорости; * Никогда не используйте динамических источников света в SkyBox'e - это будет очень сильно тормозить;
* Не забывайте ставить (если нужно) параметр Unlit (подсветка) у
поверхностей. Это подсветит их, так что не нужно будет ставить источник
света.