Канал в IRC
RusNet: #cmt
3D Skybox (w)
Приветствую, дамы и господа. Сегодня в нашей программе первым и единственным номером числится выступление под названием "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'а в частности и картостроения в целом. Удачи и экономьте полигоны!Скачать пример.

Источник: CS-Mapping.com.ua

Автор: Terran D86

CMT (CS Mapping Tutorials) - © 2006-2011. Created by VM
[ Script Execution time: 0.002 ]