Создание карты CTF
CTF-Tutorial. Базовые навыки работы в UnrealED
Сразу хочу предупредить ,что это базовый туториал , рассчитанный на пользователя не имеющего опыта работы в UnrealED какой либо версии. Здесь не будет идти речь о левелдизайне или еще о чем либо, вся карта будет создаваться субтрактивным и довольно примитивным методом, и исключительно из брашей, независимо от того насколько это актуально на сегодняшний день.
Итак приступим.
Для начала немного истории , в предыдущих версиях движка Unreal ,весь мир в котором создавались уровни был субтрактивным, т.е прежде чем что-либо создать необходимо было сначала вырезать базовое пространство субтрактивным брашем , и в этом пространстве уже создавать свою карту. Сегодня ,движок Unreal 3 позволяет сразу же приступить к работе без каких либо предварительных действий , что намного удобнее. Но практики ради мы рассмотрим пример создания карты именно субтрактивным методом.
Откройте редактор карт, ярлык к нему вы найдете в меню Пуска, если же его там нет то сделайте копию ярлыка UT3.lnk и в его свойствах создайте строку такого типа "D:\Games\Unreal Tournament 3\Binaries\UT3.exe" editor
Открыв редактор вы увидите 4 окна , вид сверху, с боков и окно 3D вида, вообще правилно назвать их вьпортами, управлять ,менять вид вьюпортов можно с помощью этих
кнопок. P – Perspective, это то самое окно 3Д вида, F-S – Front , вид с боков, и T – Top , вид с верху.
Сбоку располагается панель управления находящимися ресурсами на карте.
1- первая кнопка слева – Camera Mode ,основной тип управления, в этом режиме мы можем перемещать, вращать, масштабировать предметы на карте.
2 – Вторая справа кнопка – Geometry Mode, режим управления брашами, с помощью этого выпадающего меню можно модифицировать различными способами браш, добавлять и вытягивать вертексы и редактировать по полигонам.
3. Третья кнопка слева – Terrain Editing Mode, этот режим предназначен для работы с Terrain, проще говоря с теранкой. Но об это в другой раз.
4. Четвертая кнопка справа – Texture Alignment Mode – режим управления текстурой(материалом) на браше, позволяет масштабировать, вращать и перемещать текстуру.
- Панель выбора брашей примитивов,
По нажатию правой кнопкой мыши по ним, можно задавать параметры размеров браша по осям Y X Z, а также радиус, диаметр и количество сегментов.
типы брашей, лучше всего о них сказано в этом туториале http://unrealscript.narod.ru/tutorials/editing/csg/csg.html
Создание базового пространства.
Откройте меню File > >New , в появившемся окне New Level выберете Subtractive, здесь мы даем понять редактору что собираемся, создавать карту субтрактивным методом, далее в панели примитивов кликните правой кнопкой мыши по кубу и задайте параметры как изображено на скришоте
после чего нажмите Subtract у вас появится пустая комната покрытая дефолтной текстурой
Чтобы покрыть «голые» стены материалом нажмите правой кнопкой мыши на одну из поверхностей ,тем самым вызвав меню возможных действий
Нажмите Select Surfaces>Matchin Brush , этим действием, мы выделили все текстуры на браше, пока они находятся в состоянии выделенных ,зайдите в браузер ресурсов и откройте файл UN_Cave.upk
найдите там и выберете материал M_UN_Cave_SM_Big_Pillar, выделив его вы увидите как всё базовое пространство равномерно покрылось этим материалом, будем считать что уровень находится в пещере, собственно без разницы. Теперь необходимо масштабировать материал для придания стене реалистичного внешнего вида, нажмите кнопку Texture Alignment Mode , выберите тип редактирования Use Scale и масштабируйте выделенные поверхности удерживая Ctrl до тех пор пока они не примут нормальный вид.
Ну вот собственно и всё, с базовым пространством покончено, теперь можно установить и первую лампочку на левел, правой кнопкой кликните по потолку комнаты и нажмите Add Actor>Add Light (Point), теперь уже по лампочке кликните правой кнопкой и нажмите Point Light Properties, в появившемся окне найдите Light>Light Component>Radius и задайте параметр 5000 чтобы комната могла равномерно осветится,
а в настройке Light>Light Component>LightColor можете задать какой угодно цвет свету, я оставил по умолчанию белый. Сделайте ребилд уровня нажав Build All. После того как пройдет компиляция карты редактор выдаст несколько несущественных ошибок, ничего критического в этом нет с временем всё исправится, теперь сохраним карту под названием например CTF-Tutorial в папке C:\Documents and Settings\Мои документы\My Games\Unreal Tournament 3\UTGame\Unpublished\CookedPC\CustomMaps.
Создание геометрии уровня.
Создайте прямоугольник параметрами X-3000 Y-1000 Z-256
разместите его «на полу» в одном из дальних концов комнаты и нажмите Add , масштабируйте на нем текстуру, после чего в окне Top(вид сверху) выделите грани только что созданного браша и нажмите Edit>Duplicate
вы увидете как на растоянии одной клетки (uu-UnrealUnit) появится точно такой же браш, теперь выделен именно он, удерживая Ctrl отодвиньте его в противоположный конец комнаты и выровняйте его относительно первого браша
в окне 3Д вида вы увидите что как такового браша нет,а есть только одни грани, но после того как вы сделаете ребилд геометрии он появится.
Теперь в панели примитивов нажмите на цилиндр ,правым кликом вызовите окно Brush Builder – Cylinder, и задайте ему параметры OtherRadius(радиус)-1024 , Z(Высота)-256
Разместите его так чтобы он лежал на одном из ранее созданном аддивном браше,а в комнате находился только тремя своими гранями как это показано на скриншоте , нажмите Add, теперь выше описанным способом выделите все поверхности браша, по нажатию по ним правой кнопкой мыши выполните действие Alignment>Planar и вы увидите как текстура легла ровно бес перекосов по всему цилиндру.
теперь можно смело скалировать поверхность ,для придания ей нормального вида.
Далее снова нажмите на куб и переместите его к цилиндру , сделайте так ,чтобы та часть цилиндра которая находится непосредственно в комнате оказалась внутри строительного красного браша и чтобы больше ничего внутри у него не было ,сам он недолжен выходить за пределы комнаты ни на один uu , как показано на скриншете ниже.
Теперь нажмите Intersect , если сделали всё верно то увидите как красный браш принял форму той части цилиндра что была у него внутри
Теперь не отодвигая никуда строительный браш, удалите браш цилиндр, он нам больше не нужен ,всё, нажимаем Add и получаем тоже, что и было до этого, только без лишних полигонов. Теперь правым кликом выполните действие Transform>Mirror Y Axis , и вы увидите как он зеркально отразится собственному положению до этого.
Сдвиньте его в противоположный конец комнаты и нажмите Add, чтобы получилось то что изображено на рисунке ниже
Теперь создайте еще один прямоугольник, размером X-3000, Y-2000, Z-256 и разместите его на «полу» в центре комнаты, см. скришет ниже. Нажмите Add, прмасштабируйте текстуру , и всё пока с геометрией уровня покончим.
Создание Воды.
Преступим к более менее декоративной работе.
Задайте пропорции строительному брашу X-3000, Y-1024, Z-220 и разместите его в одной из образовавшихся ниш.
Правой кнопкой мыши нажмите кнопку Volume появится список всевозможных брашей-волюмов, найдите там и нажмите UTWaterVolume
Когда уберёте строительний браш то увидите , что на его месте появился точно такой же со светло розовыми гранями браш, не имеющий плоскости. Если интересно посмотреть что получилось ,то установите плеерстарт без него вам просто негде будет респаунится. сохраните карту, сделайте ребилд уровня редактор ругнется что используется всего 1 плеерстарт и нужно минимум 16, не беда это всё потом, сохраните карту еще раз, первый раз сохраняли потому, что редактор имеет свойство иногда зависать на ребилде статического освещения(вообще сохраняйтесь почаще) тепрь нажмите вверху Build>Play Level
Появится окно In Editor Game, где вы можете побегать по создаваемой карте, спрыгнув в ту нишу в которой создан волюм вы услышите характерный плеск воды и почувствуете соответствующую физику. Да , мы создали воду, но не до конца, нажмите ESC. Вернувшись в редактор создайте тех же размеров прямоугольник что и волюм воды, разместите его так чтобы он совпадал своими гранями с гранями волюма воды, и снова кликните правой кнопкой по кнопке брашей-волюмов, найдите там и нажмите PostProcessVolume.
теперь уже выделите только что созданный волюм постпроцесса (если всё равно выделяется ватерволюм, то просто сдвинье его немного в строну, под ним как раз и будет постпроцесс находится, потом незабудте вернуть как было) зайдите в его настройки кликнув правой кнопкой и выбрав PostProcessVolume Properties.
Разверните пункт PostProcessVolume и задайте ему настройки точно также как показано на рисунке ниже
Если вы задали настройки верно то «залетев» в него камерой в окне 3Д вида, вы увидите такую картину
размытая, со слегка зеленоватым оттенком, больше напоминает вид из под воды, собственно, что нам и нужно. Вообще именно постпроцесс или как его еще называют Пострендер, отвечает за цветовую гамму карты и различные спец эффекты навроде тумана, блюра и блюма, именно благодаря ему, например, игра Gears of War обладает таким нереально серо-коричневым оттенком , но тем не менее по своему очень красиво сочетающимся с окружением.
Ладно, вернемся снова к нашей воде, теперь нам необходимо создать для неё водную гладь.
В панели примитивов нажмите Sheet это плоскость, плоскость не обладает твёрдой поверхностью в отличии от других геометрических фигур поэтому наступив на неё игрок провалится сквозь неё. Задайте параметры плоскости X-3000, Y-1024, теперь разместите её так чтобы она совпадала своими гранями с верхними гранями брашей волюмов как это показано на рисунке ниже.
Жмите Add, выделите поверхность плоскости, если выделяется не плоскость, а текстура под плоскостью просто переверните её как бы «вверх ногами» предварительно включив режим вращения,
теперь выделите поверхность и откройте Generic браузер, откройте файл D:\Games\Unreal Tournament 3\UTGame\CookedPC\Environments\UN_Liquid2.upc , найдите там материал M_UN_Liquid_BSP_DistortionRiver_Fallback это материал воды, там их много можете выбрать и другой какой понравится.
После того как вы выделите этот материал плоскость им покроется сильно размножившись, теперь промасштабируйте поверхность плоскости чтобы материал воды выглядел действительно как водная гладь.
Теперь можете разместить еще несколько лампочек на уровне ,чтобы не было сильно затененных участков, делать ребилд карты и зайти «поплавать» J только шибко долго под водой не оставайтесь ,а то услышите не очень приятные звуки, а количество хелсов начнет уменьшаться J
Наплавались?
Возвращаемся в редактор, теперь необходимо конвертировать плоскость воды, которая служит нам водной гладью в Static Mesh , статик меши лучше перевариваются движком, вообще конвертировать браши в меши желательно на больших картах, в нашем случае движок проглотит и не заметит, но практики ради эту процедуру стоит проделать. Выделите созданный браш плоскости, правым кликом в выпадающее меню выберите Convert to static Mesh
появится окно в котором необходимо будет задать имя пака в котором будет сохранен статик меш ,а так же группу в которой он будет находится и присвоить ему имя.
Для простоты я назвал пакадж CTF-Tutorial ,группу Water ,сам статик W1 .
Теперь зайдите в Gеneric браузер ,в списке паков вы найдете свой CTF-Tutorial*
По началу кроме черного ярлыка вы ни чего не увидите, потому что плоскость не имеет торца , а здесь как раз представлен вид с торца, щелкните по нему 2 раза мышью , тем самым вызвав его параметры
удержите правую кнопку мыши в том месте где на рисунке выше у меня курсор, сделайте легкое движение мышью вниз тем самым развернете модельку по оси Z
Теперь, нажмите кнопку вверху с изображением глаза и вернитесь снова в генерик браузер, обратите внимание, после нажатия этой кнопки, плоскость на ярлыке изменила свою позицию .
теперь сохраните пакадж нажав в брузере File>Save в папке C:\Documents and Settings \Мои документы\My Games\Unreal Tournament 3\UTGame\Unpublished\CookedPC ,а иначе после закрытия редактора он пропадет, хотя при закрытии редактор всегда спрашивает, сохранять ли изменения или созданные паки.
Оставляя меш выделенным ,вернитесь в редактор, удалите браш-плоскость и на его месте вызовите меню и выполните действие Add Actor>Add StaticMesh: StaticMesh CTF-Tutorial.Water.W1
На этом месте появится статик меш водной глади,
Выделите все браши волюмы и статик W1, создайте их дубликаты и переместите в соседнюю нишу.
На этом с водой всё.
Статик Меши и их настройка.
Теперь задайте строительному брашу кубу размеры X-2000 Y-1024 Z-512 разместите его в центре так как это показанно на рисунке ниже.
Нажмите Add, выделите все поверхности браша, выберите текстуру какая понравится.
Далее, создайте прямоугольник размером X-2000, Y-512, Z-256 и разместите его как это показано на рисунке, чтобы он находился внутри до этого созданного браша.
Нажмите Subtract
получилось что-то напоминающее коридор, да вообще это и есть коридор. На скриншете я уже затекстурировал его, сделайте и вы это.
Задайте строительному брашу новые пропорции X-512, Y-1024, Z-256 и разместите его также в центре, чтобы он перекрещивался с субтрактивным браше созданным до этого.
Нажмите опять Subtract и наложите материал на образовавшийся еще один коридор.
Перейдите в режим редактирования Geometry Mode нажав , разместите строительный браш по центру созданной конструкции
В окне Geometry Tools выберете режим Edge
Выделите один из средних вертексов и ведите его по оси Y за пределы конструкции
проделайте это и с другими вертексами, так чтобы в окне Top вся конструкция оказалась внутри красного строительного браша.
Теперь перейтите в окно Front и выделите верхние вертексы и ведите их по оси Z так же за пределы конструкции.
Всё ,теперь весь этот «дом» находится внутри строительного браша ,больше никаких брашей там быть недолжно . Сделайте ребилд геометрии и нажмите Intersect , после чего строительный браш примет форму нашего строения,
Нажмите правой кнопкой мыши по нему, выполните действие Convert to static Mesh ,
сохраните меш в ранее созданном паке CTF-Tutorial.upc придумайте ему название и название группы в которой он будет находится ,удалите все браши из которых состоит строение, но сам строительный браш не трогайте ,оставьте его в том виде в котором он прибывает, он нам еще нужен, на это место добавьте только что конвертированный статик-меш , сравняйте красный браш и меш между собой так как указанно на рисунке.
Выделите красный строительный браш и удерживая Ctrl выделите статик меш, получилось на карте 2 одновременно выделенных обьектов, сейчас необходимо создать для статик меша коллизию , именно модель коллизии отвечает за твёрдость статика, если её нет то игрок спокойно может провалиться сквозь меш или пройти сквозь него, как видите на скриншете выше в генерик браузере на ярлыке модельки написано «NO COLLICION MODEL!» так вот далее , правой клавишей мыши щелкните по строительному брашу и выполните действие Save Brush As Collision, всё после этого пропадет надпись в генерик браузере, а стены меша станут непроходимыми для игроков.
Создание простейшего мувера.
Что такое мувер?
Мувер - это двигающийся меш. Он может двигаться в любую точку и/или вращаться. Большинство муверов имеют несколько промежуточных положений - кадров (keys). Key0 - это начальное положение мувера до тех пор, пока он не будет возбужден - запущен. Остальные кадры-ключи - это положения, в которые будет перемещаться мувер при активизации. Он будет двигаться через все положения, пока не достигнет последнего кадра-ключа.
Вы легко можете отличить мувер в едиторе из-за его фиолетового цвета.
Муверы могут быть использованы для дверей, лифтов, поездов, лодок, кнопок, вращающихся метеоритов, в общем, для всего, что может двигаться. ( Цитата из http://unrealscript.narod.ru/tutorials/editing/movers/movers.html )
Сейчас мы создадим лифты на крышу, до этого сделанного «здания».
Задайте строительному брашу параметры X-256 , Y-128 , Z-8 разместите его с наружи у подножья конструкции так как показано на скриншете.
Нажмите Add , оденьте созданный браш в любую текстуру и конвертируйте в статик меш, в генерик браузере откройте настройки сконвертированного статик меша и нажмите кнопку Show Collision
как видете ни чего нет ,но генерик браузере в настройках меша можно создать простую коллизию, на верхней панели окна настроек статик меша нажмите Collision> 6DOP simplified collision после этого на краях меша появится зеленого цвета грань, это и есть модель коллизии.
Вернитесь в редактор, удалите аддивный браш,а на его место поставьте только что сконвертированный статик меш. (не забывайте сохранять пакадж после каждых изменений в нем)
Кликните правой кнопкой мыши по статик мешу и выполните действие Convert>Convert StaticMeshActor to Mover
После прделанной процедуры вы увидите, как вершины статик меша из зелёных превратятся в фиолетовые,
всё теперь это мувер, объект который может двигаться и вращаться по заданной траектории , пока что он не движим , для этого необходимо задать точки старта и конечного прибытия, не удивляйтесь тому, что в окне 3Д вида мувер стал черным, он просто неосвещен, поскольку мувер это динамический актер ,то и освещаться он должен динамическим освещением, а не статическим ,которое стоит у нас на карте, есть 2 пути решения этой проблемы, можно установить лампочку динамического освещения. Находится она в генерик браузере , в вкладке Actor Classes > Light>PointLight>PointLightMovable. Сразу хочу предупредить , что установка такой лампочки приведет к довольно ощутимому падению FPS.
Поэтому лучше идти вторым путем.
Двойным кликом по муверу вызовите его настройки, в появившемся окне InterpActor_0 Properties откройте свитки DynamicSMActor>LightEnveroment> LightEnveromentComponent и поставьте галку напротив bEnabled.
Всё , теперь вы увидите ,что мувер стал освещен, что теперь видна текстура, если освещен плохо то установите рядом с мувером лампочку, а лучше над ним. Если потом, например после ребилда освещения он снова станет черным, не расстраивайтесь, просто выделите его и отпустите, он снова станет освещенным, хотя даже без этого действия, в игре он будет освещен.
Теперь приступим к довольно интересной, но и самой сложной из всего выше сделанного, процедуре, а именно , заставим мувер двигаться при соприкосновении с игроком.
Выделите свой мувер, и в верху ,в редакторе, найдите и нажмите кнопку с изображением (Open UnrealKismet), это Kismet.
Кисмет – это по сути своей ,уникальная технология, графическая оболочка для программирования на языке унреал скрипт (UnrealScript) После того как заставим мувер двигаться загляните на эту страницу в Интернете для более детального ознакомления с кисметом, это переведенная транслитом страничка на Вики, общий смысл понятен, и по ней можно работать.
Теперь нажмите в кисмете правой кнопкой мыши по серого цвета поверхности, и выполните действие New Event Using InterpActor_0>Mover , InterpActor_0 – это имя вашего в данный момент выделенного мувера, можете убедиться в этом открыв его настройки, Object>Name
Нажмите 2 раза по рамке с надписью Matinee,
Появится окно UnrealMatinee, именно здесь мы и будем создавть точки «0» и «1», где ноль, это исходное положение мувера, сейчас у вас мувер должен находится именно в исходной точке, а точка один, это конец пути мувера-лифта, эта точка будет находится на уровне крыши.
Сверните окно UnrealKismet, чтобы осталось только одно UnrealMatinee,
В окне UnrealMatinee сдвиньте белый ползунок чуть вправо ,
и вы увидите красный треугольник и , что он находится на делении 5.00 то есть 5 секуд, по умолчанию в Matinee всегда стоит время 5 секунд от точки 0 до точки 1, а сам красный треугольник это граница пути мувера
Удерживая красный треугольник, двигайте его влево к делению 0.70, если вы не видите этого деления то колесом прокрутки мыши можете размножить панель на миллисекунды. 0.70 секунд, это время, за которое наш лифт доедет снизу вверх.
Нажмите на Movement после этого он выделится в оранжевую рамку
Далее на отметке 0.00 секунд стоит черный ползунок (господи ,да простят меня специалисты, за мою терминологию ) нажмите кнопку в углу в верху Add Key После этого вы увидите ,что над этим ползунком появился красный треугольник в оранжевом обрамлении с параметром 0.00s , это мы задали первую точку, стартовую, она у нас нулевая. То есть именно в этом месте лифт будет приходить в движение.
Теперь нам нужно назначить конечную точку «1» ,удерживая черный ползунок, ведите его вправо ,до отметки 0.70
Не выходя из UnrealMatinee перейдите в окно редактора Front
и подымите мувер по оси Z на уровне крыши здания.
Снова вернитесь в UnrealMatinee и нажмите Add Key на уровне отметки 0.70 появится еще один красный треугольник с параметром 0.70s
Вот мы и создали конечную точку прибытия нашего лифта. Теперь снова вернитесь в редактор и над окном 3Д вида нажмите кнопку Real Time в этом режиме всё чтобы вы не делали в других окнах будет отображаться в реальном времени. Снова вернитесь в UnrealMatinee и сдвиньте его немного вправо ,чтобы оно не загораживало собой окно 3Д вида, вверху UnrealMatinee нажмите кнопку Stop
при этом в окне 3Д вида мувер должен опустится вниз ,теперь радом же находится кнопка Play , нажмите её, и если всё было сделано верно вы увидите как наш лифт подымиться вверх, J.
Всё можете закрывать UnrealMatinee и Кисмет, делать левел ребилд и зайти на карту проверить как работает лифт. J При лифт джампе вы наверное стукнетесь головой об потолок поэтому в вернитесь в редактор и подымите его ровно на половину
Как вы, наверное уже заметили при работе наш лифт не издал ни единого звука, сейчас мы это исправим.
Зайдите в генерик браузер и поставьте галочку напротив Sound Cue
Откройте файл D:\Games\Unreal Tournament 3\UTGame\CookedPC\Sounds\A_Movers.upc
В A_Movers откройте группу Elevators, это всё звуки которые принадлежат именно лифтам(элеваторам) в названии каждого звука присутствует принадлежность к какому либо материалу _Metal_ - метал, _Wood_ - дерево, _Stone_ - камень, то есть если у вас лифт деревянный или металлический выбираете соответствующий звук. Далее, представьте себе лифт издающий один и тот же звук, на разных этапах своего перемещения, а их как минимум два, подъём вверх и спуск, выглядеть это будет, мало того ,что некрасиво, но и нереально, поэтому все звуки элеваторов в генерик браузере имеют в конце своего названия приписку- принадлежность к какому либо этапу, например за начало и конец старта элеватора отвечают _OpenStart и _CloseStart , а за возвращение в исходное положение _OpenStop и _CloseStop, за ровное и медленное перемещение отвечают файлы с припиской _Loop.
Откройте настройки своего мувера и разверните свиток InterpActor
Назначим два трека, на подъём и спуск лифта, выделите в генерик браузере один из понравившихся звуков с параметром _OpenStart , снова вернитесь в окно настроек мувера и напортив OpenSound нажмите кнопку ,после этого вы увидите появившеюся запись подобного рода
Как вы заметили по скриншетам ,лифт у меня одет в текстуру дерева ,следовательно я и выбрал звук с характеристикой материала дерева ,
Далее, выберите звук с конечным параметром OpenStop и назначте его напротив CloseSound.
Всё ,теперь можете зайти на карту и проверить свой лифт на наличие звуковых эффектов, если вы ничего не трогали и не перемещали на карте с момента последнего левел-ребилда, то его делать не нужно.
И последняя задача, на этом этапе.
Создайте 3 дубликата своего мувера и расположите их так как показано на скриншете ниже.
Добавлять для каждого из дубликатов в настройках звуки не придется. Но вот создать стартовые и финишные точки «0» «1» нужно, во первых эти дубликаты необходимы для симметрии карты, во вторых ,пригодится для закрепления материала по созданию муверов. J
Ну собственно пока всё, на этом месте , туториал обрывается ,пока вы его будете изучать, я займусь написанием последнего этапа создания нашей карты, а именно установка на карту путей навигации для ботов, а также Флагов, расстановка всевозможных рулезов, виалок , арморов , аптечек и т.д, настройка WorldInfo , добавление музыки на карту и постпроцесса.
J
Информация
Автор: МАЭСТРО
Добавил: МАЭСТРО (Другие статьи пользователя)
Дата добавления: 07 Марта 08, 19:09
Категории: Unreal Tournament 3 - Моддинг
Статистика
7316 просмотров, 9 голосов
спасибо, буду юзать