Главная » Статьи » Прочее » PainEditor |
Создание уровня для одиночной игры. Часть 2 | |
Итак, давайте продолжим создание нашего полноценного уровня. Я добавил немного патронов и два слаба (убедитесь, что в настройках слабов в поле "Closed" стоит "False") во вторую зону, рекомендую сделать также. Кстати, вы же помните, что в оригинальных уровнях размещены секреты? Так почему бы и не добавить сюда один такой? Зона секрета называется "SecretArea.CBox" и находится она в папке "Gameplay". Масштабируется и размещается этот темплейт точно так же, как и AmbushForPlayer, только настраивать ничего не надо - как только игрок окажется внутри этой зоны, так сразу же один секрет будет засчитан. Но ведь в зоне с секретом также и должно что-то быть, не так ли? Так давайте разместим ещё и священный предмет! Священные предметы находятся в папке "Treasures" под названиями: Host1.CItem, Host2.CItem (это золотые кресты), Cup1.CItem и Cup2.CItem (это золотые кубки). Заметьте, что когда священный предмет появится, он сразу же как обычный физический объект упадёт на землю, поэтому будте аккуратны при размещении. Вот так я расположил этот секрет: Также нужно разместить конец уровня, как и на всех других нормальных уровнях. Этот темплейт называется "EndOfLevel.CItem", а находится он в папке "Gameplay". Настраивается и ведёт он себя также, как и чекпоинт, поэтому при размещении не забудьте в поле "Frozen" поставить на "True" в настройках этого темплейта. Разместите его примерно как здесь: Заодно поставьте AmbushForPlayer: И четыре спаунера, настроив каждый на появление Sado солдатов с одним автоматом. И настраиваем AmbushForPlayer: Из новых команд тут только есть "OpenAllSlabs" - эта команда открывает все слабы на уровне. Всё, с геймплеем покончено. Можете сохранять карту и проверять её. Теперь осталось лишь настроить глобальные настройки уровня. В "Game Objects" в выпадающем списке "_CLevel" нажмите два раза на "FirstLevel". Вы перейдёте к настройкам самого уровня. Acoustics - Звуки издаваемые при ходьбе Ambient - Эмбиентовое освещение. Просто цвет освещения. BloomFX - Здесь можно настроить эффект "Bloom'а". Я обычно ставлю "LuminanceThreshold" на 0.5, а "Multiplier" на 2. Но рекомендую поиграться немного с этими параметрами и настроить это под себя. DetailMap - Детеил текстура для всего уровня (детаил текстура - это текстура всяких царапин, трешин и помятостей, которая накладывается на почти все поверхности для наибольшей реалистичности) DirLight - Направление и цвет "солнца", от настроек этого параметра зависит освещение и направление теней от персонажей. FarClipDist - Радиус обрезания видимости, нужно для оптимизации. Если уровень большой и у вас он тормозит - то рекомендую понизить это значение. Fog - Здесь настраивается туман Map - Геометрия уровня Music - Здесь указывается музыка NormalMap - Путь к текстурам нормалей, необходимо для воды (а для остального и не работает) Overbright - Рекомендую ставить этот параметр на "True" чтобы настройки блума также повлияли и на геометрию уровня. Scale - Масштабирование карты. Рекомендуется масштабировать в 3D моделлере во избежание глюков и неадеквата. SkyDome - Настройки неба Water - Настройки для всех поверхностей воды Давайте настроим небо. Поскольку с нуля настраивать его очень долго, то на этот раз давайте просто скопируем его из "Заброшенной фабрики" к нам в уровень. Найдите файл "FirstLevel.CLevel" у себя в папке с игрой (Например, D:\Painkiller\Data\Levels\FirstLevel\FirstLevel.CLevel) и скопируйте туда следующее: o.SkyDome.Map = "c3l2_factorysky.mpk" o.SkyDome.Layer1.Tex1 = "c3l2_factorysky" o.SkyDome.Layer1.Tex_Mask = "_black" o.SkyDome.Layer1.Tex_LMap = "_gray" o.SkyDome.Layer1.Tex2 = "_red" o.SkyDome.Layer3.Tex2PanUSpeed = 0.01 o.SkyDome.Layer3.Tex1 = "_alpha_zero" o.SkyDome.Layer3.Tex_Mask = "c3l2_factoryskybulbmasker" o.SkyDome.Layer3.Tex2TileV = 3 o.SkyDome.Layer3.Tex_LMap = "_gray" o.SkyDome.Layer3.Tex2PanVSpeed = 0.002 o.SkyDome.Layer3.Tex2 = "c3l2_factoryskyclouds2" o.SkyDome.Layer3.Tex2TileU = 3 o.SkyDome.LowQuality.Map = "skylow.mpk" o.SkyDome.LowQuality.Tex = "lowquality\\c3l2_factoryskygf2" o.SkyDome.LowQuality.Angle = 90 o.SkyDome.LowQuality.Height = -2 o.SkyDome.Layer2.Tex1 = "_alpha_zero" o.SkyDome.Layer2.Tex_Mask = "_bulb_masker" o.SkyDome.Layer2.Tex_LMap = "_gray" o.SkyDome.Layer2.Tex2 = "c3l2_factoryskytop" Также скопируйте туда настройки освещения и тумана. И музыку. o.Ambient = Color:New(90,96,116,0) o.Fog.End = 1001 o.Fog.Start = 350 o.Fog.Mode = 2 o.Fog.Color = Color:New(163,111,92,0) o.DirLight.Color = Color:New(214,140,73,0) o.DirLight.Dir = Vector:New(-0.22,-0.68,0.73) o.Music.Battle[1] = "c3l2_factory_fight" o.Music.Ambient[1] = "C3L2_Factory_Music_01" Вот так всё это должно выглядеть в итоге: Теперь осталось последнее - начальные характеристики и условие для получения Карты Таро. Всё это находится в папке с уровнем под названием "вашуровень.lua". Просто создайте там такой файл и скопируйте следующее: function FirstLevel:OnPlay(first) if first then --Player.EnabledWeapons = {"PainKiller","Shotgun",nil,nil} Player.Ammo = { Shotgun = 0, MiniGun = 0, Grenades = 0, Stakes = 0, IceBullets = 0, Shurikens = 0, Electro = 0, Rifle = 0, FlameThrower = 0, Bolt = 0, HeaterBomb = 0, } Player.Health = 100 end end --============================== Под строкой и в начале обычно находится скрипт для получения карты, тут уже нужны навыки скриптования, которых у меня нет. Но ничего не мешает вам скопировать стандартные условия со стандартных уровней к себе в уровень. Вот теперь ваш уровень полностью готов. На этом с созданием уровня покончено. Если у вас что-то не получается, то вы можете взглянуть на готовую по этому уроку карту, которую можно скачать по этой ссылке.
| |
Просмотров: 3447 | Комментарии: 7 | Теги: |
Всего комментариев: 7 | |||||||
| |||||||