Приветствую, дамы и господа. Сегодня в нашей программе первым и единственным номером числится выступление под названием
"3D Skybox". Итак, встречайте.
3D Skybox. Что за зверь и с чем едят.На протяжении всей Half-Life 2 практически из любой открытой местностина картах была видна башня комбайнов - она же Цитадель. Выглядела онагрозно, сурово и, что не говори, красиво:
Можно было предположить, что она прорисована вместе с небом, но это нетак. Это был отдельный объект, внедряемый в карту точечнымэнтити-объектом
prop_dynamic_override.
Будешь много знать - скоро:Итак, давайте ознакомимся с 3D Skybox поближе. Для начала, приведуобязательные энтити, без которых нельзя получить полноценный икорректно работающий 3D Skybox:
1.
Prop_dynamic_override. Именно с этого я и начинал - точечная энтити, используется для внедрения моделей.
2.
Sky_camera. Точечная энтити, используется для отображения видимой ей области на карту с игроком.
3.
Light_environment. Точечная энтити, помещается в sky-коробку вместе с объектами prop_dynamic_override и sky_camera.
4.
Собственно небо (набор из шести брашей, создающих полую область внутри).
Ловкость рук и никакого мошенничества.Переходим к практике. Я не буду просить Вас создавать пространства,браши и т.п. - это все вы потом сделаете сами. Лучше объясню все напримере своей карты. Открывайте в редакторе файл
3dskybox_alyxmdl_final.vmf. Вылетайте за пределы неба, чтобы вы увидели примерно следующее:
А вот так это выглядит "в разрезе":
Перед Вами две полых коробки, со всех сторон окрашенные текстурой
tools/toolsskybox.В одной из них находится игровая зона, ну то есть карта, какую Выобычно делаете, и окружаете sky-брашами, а вот в другой - тривышеперечисленных объекта, главные для нас на данный момент. Переходимк описанию параметров объектов.
Prop_dynamic_override. Основной параметр -
поле "World Model".Выбираем здесь название модели, затем кликаем на кнопку Apply и модельбудет отображаться в 3D-окне редактора. Остальные параметры оставьтекак есть.
Sky_camera. Нужные нам параметры:
1.
Поле "3D Skybox Scale"- соотношение размера отображаемой модели по сравнению с размероморигинала. По умолчанию равно 16. Чем выше параметр, тем модель меньшеи наоборот.
2.
Поле "Fog Enable" - запрос об использованиитумана. По умолчанию "No". Если выбрать "Yes", то в игре при отдаленииот модели она будет затуманиваться, а при приближении становиться болеечеткой и не размытой.
Остальные параметры используются для изменения отображения тумана - их оставляем без изменений.
Light_environment. Естественное освещение карты, обычное "солнышко".
Видишь там, за горизонтом:Главное в расположении объектов
prop_dynamic_override и
sky_cameraэто то, что они должны находиться на одной прямой. Вообще, конечноможно перемещать их вверх и вниз, в зависимости от желания получитьопределенный эффект на своей карте, но для начала все такипридерживаться этого правила, пока хорошо не освоите манипуляции,принцип работы и отображения.
На примерах вместо Цитадели у меня Аликс, уж очень я ее люблю.
На этом скрине объект
sky_camera находится неподалеку от
prop_dynamic_override, что сказывается на отображении модели в зоне игрока:
А вот здесь
sky_camera отодвинута подальше - видите, куда теперь улетела моя Аликс?
Приблизительно такие же будут эффекты, если
sky_camera оставить на месте а перемещать только
prop_dynamic_override.
А напоследок я скажу. Так, теперь небольшие примечания.
1.
"Fog Enable -> Yes" у объекта
sky_camera будет работать, только если видеокарта поддерживает шейдеры.
2. Параметры объекта
light_environment в коробке с
prop_dynamic_override и
sky_camera лучше поставить такие же, как и на области с игроком.
3. Область с 3D Skybox'ом лучше делать такого же размера, как и областьс игроком. При этом также будет удобно на время скопировать в нееточное местоположение объекта
info_player_start, чтобы было легче определить правильное расположение используемой Вами модели по отношению к игроку.
Ну, вот и все. Желаю удачи в освоении 3D Skybox'а в частности и картостроения в целом. Удачи и экономьте полигоны!
Скачать пример.
Автор: Terran D86