В този урок ще научим как да използваме обектите, които UDK ни предлага (мрежи) и как да използваме анимации + преводи или ротации с матине и кисмет.

Вече има много уроци за това как да инсталирате този мощен двигател на нашите компютри, така че няма да говоря за това.
Всички въпроси относно инсталацията или изискванията могат да се видят на официалния уебсайт на графичния двигател: https://www.unrealengine.com/products/udk/ .

Когато отворим UDK с редактора, ще видим прозорец, подобен на следния:

първи

  1. Ще кликнете върху Нова карта, за да започнете да създавате нашата нова карта, тя ще ни помоли да изберем между използването на шаблони, които двигателят вече ни предлага, или създаването на карта от 0, в този случай ще изберем "Празна карта":

Сега ще видим нещо подобно:

Това е нашата мрежа, където ще създадем нашата нова "карта".

  1. Сега ще започнем да създаваме основната геометрия на нашия виртуален свят, тоест стени, подове и т.н.

С това меню можем да превключваме между различните геометрични фигури, които двигателят ни предлага, за да оформим терена или пространството, в което ще се движим по наш начин.

АКО искаме да променим измерванията на тези фигури, можем да щракнем с десния бутон върху менюто, върху съответната фигура и да видим свойствата на това.

  1. Ще подготвим основата, където ще седи нашият „играч“ или предметите.
    Можем да използваме измерванията: X: 512,000000, Y: 512,000000, Z: 25,000000, за да направим четириъгълна основа.

Сега в менюто на CSG:

  1. CSG Add се използва за създаване на повърхност върху фигурата, създадена преди това.
    При щракване ще имаме нещо подобно:
  1. Сега можем да премахнем червеното поле, което ни помогна да създадем повърхността, като щракнем върху някоя от централните оси (стрелките) и го преместим.

Като създадете повърхността, единственото нещо, което трябва да направите, за да можете да използвате нивото, е да създадете светлина и старт на играч.

  1. За да създадете Player Start, трябва да щракнете с десния бутон върху създадената повърхност:

Ще изглежда по следния начин:

Трябва да внимаваме къде позиционираме иконата PS, ако не я поставим на повърхността, която създаваме, при стартиране на нивото, нашият играч ще падне.

  1. За светлината отидете там, където пише Add Actor и в това подменю кликнете, където пише Add Light (Point).

Трябва да преместим „светлината“ със стрелките (осите), за да я оставим където искаме. Можем да добавим няколко, за да създадем различни среди.

  1. За да компилирате светлината, която току-що добавихме, щракнете върху Build в горната част на менюто и след това върху Lighting.

Ще се появи друго меню, което ни предлага различни опции.

Ще го оставим като на изображението или конфигурацията по подразбиране и ще приемем.
Ще се появи друг прозорец, наречен Проверка на картата, в момента в който е безполезен, просто щракваме затваряне.

Сега трябва само да изградим Пътеките, за това трябва да отидем отново в менюто Изграждане и след това да кликнете върху Пътища на ИИ и след това да затворите прозореца, който се появява отново.

За да тествате нивото, трябва да щракнете върху менюто, което казва „Възпроизвеждане“, и след това да кликнете там, където пише „В редактора“.

И ще се появи следният екран:

Можем да контролираме с w, a, s, d | стрелки и щракване с мишката и движение, за да преместите камерата.

  1. Сега ще импортираме обекти (мрежи) от браузъра на съдържание, който този двигател ни предлага:
    Кликнете върху иконата на браузъра на съдържание или използвайте ctrl + shift + F

  1. Тук можем да намерим много неща, които вече са „направени“, които бихме могли да използваме в съответните ни проекти, като комплекти за анимация (които ще използваме по-долу), различни материали, системи от частици, ефекти, скелетни мрежи (които ще използваме по-долу), звуци, текстури, терен и др.
  1. Ще филтрираме съдържанието на браузъра за съдържание по тип обект:
    Скелетни мрежи
  1. За този пример ще изберем мрежата: SkeletalMesh'CH_IronGuard_Male.Mesh.SK_CH_IronGuard_MaleA 'и ще я плъзнем в нашата мрежа.
  1. Е, ние вече имаме обекта си в този случай робот в нашата среда, сега трябва да го накараме да се движи, както в пространството, така и сам по себе си, тоест превод + анимация.
    За това ще започнем да използваме kismet. Отваряме kismet на иконата със зеления k

Ще се появи прозорец като този:

Първото нещо, което ще направим, е да преместим робота си в космоса.

  1. Щракнете с десния бутон върху kismet, Ново събитие> Вход> Натиснат бутон/бутон:

  1. При избрано събитие неговите свойства се показват в долната част.
    Кликнете върху зеления кръст, за да добавите нов елемент, тоест бутон или клавиш, който ще започне действието.

Ще бъде добавено поле, което ще се появи като "няма", Тук ще напишем ключа, който ще използваме за действието, лесно и интуитивно е например да използваме стрелката нагоре на клавиатурата, която ще поставим само нагоре, надолу бихме сложили, за интервал това е интервал, ако не се лъжа. и т.н.

И в същите тези свойства по-долу в секцията Sequence Object има поле, наречено Object Comment. Препоръчвам в това поле да сложим същата дума като в полето по-горе, това ще ни помогне да определим в kismet за какво става въпрос в това събитие без трябва да въведете техните свойства.

  1. Следва действието или действията, които ще бъдат изпълнени при натискане на клавиша, който ви казахме.
    -Ще получим стойностите на въртене и местоположение на нашия робот.
    * Щракнете с десния бутон върху New Action> Actor> Get Location and Rotation.
    +Ще получим правоъгълник "Получаване на местоположение и завъртане", където
    -In: е мястото, където ще бъде извикано това действие, тоест в този момент би било, когато ключът
    да бъде натиснат, след това в
    -Цел: е актьорът, от когото ще получи стойностите, в този случай роботът.
    -Местоположение: връща вектора на местоположението на робота
    -Въртене: връща вектора на въртене на робота
    * Сега се присъединяваме към черния раздел на събитието (натиснат) с входа на Get Location и
    Завъртане.

Input Vector, ще го присъединим към променливата, която създадохме преди няколко минути от местоположението на робота, и щракнахме с десния бутон на мишката върху раздели x, y, z, като щракнахме върху опцията Създаване на нова променлива с променлива.

* Сега ще модифицираме стойностите, които получаваме във вектора, за да можем да преместваме робота.
Ново действие> Математика> Добавяне на поплавък. Ние се присъединяваме към in от новото действие, "A", ще го свържем с компонента "x", за да се преместим в x, "B" е стойността, която ще бъде добавена към стойността на "A" (ние създаваме променлива както в горните стъпки за "B") Избираме променливата, която принадлежи на "B" и в нейните свойства в долната част в полето Float Value ще поставим стойността, която се добавя към вектора. И накрая Float Result ще бъде друга променлива, в която резултатът от добавянето към стойността на "A" ще бъде запазен.

* След като се добавят стойностите, ще се върнем към (задаване) на векторните стойности
Ново действие> Математика> Задаване на векторни компоненти. Процедурите с променливи са еднакви. Изходен вектор, е новият вектор с модифицираните данни, "X" го свързваме с резултата от сумата и другите компоненти, с които получихме първоначално, тъй като не ги модифицираме.

* И накрая, ние „преместваме“ или променяме стойностите на местоположението на нашия робот с:
Ново действие> Актьор> Задаване на местоположение на актьора. Където "Местоположение" го свързваме с новия вектор (изходен вектор), който получихме в предишната стъпка. Цел, ние го свързваме с целта в началото (Роботът).

Сега те могат да тестват, като го стартират както в първите стъпки или като натиснат клавиша F8. Опитайте да натиснете клавиша, който сте му казали да слуша в първата стъпка от kismet.
Правете тестовете си и по отношение на разстоянието, което се движи при всяко изпълнение, за този пример поставям произволно число.

18. Време за използване на Matinee за добавяне на анимация към нашия робот (Mesh).
-Първо, отиваме към свойствата на робота. Щракнете двукратно върху робота.
Търсете в Skeletal Mesh Component> Skeletal Mesh Component> Anim Sets
Добавете нов компонент към зеления кръст, той ще се появи като „няма“ и ние ще изберем един. Отваряме „Content Browser“, ако все още имаме филтър за съдържание, го връщаме там или просто кликваме в лявата част, където пише All Assets. Следващата стъпка в търсачката в горната част пишем AnimSet, ще получим няколко опции, ще потърсим набора наречен AnimSet'CH_AnimHuman.Anims.K_AnimHuman_BaseMale '(като пример). Избираме го както избрахме робота в стъпка 17 звездичка 3. И се връщаме към свойствата на робота, сега щракваме върху зелената стрелка, която се появи, когато щракнахме върху зеления кръст.

Оставайки по този начин:

Затваряме браузъра за съдържание и свойствата на мрежата.
Връщаме се към kismet, щракваме с десния бутон и добавяме New Matinee

-Свързваме Възпроизвеждането с „повторението“ на събитието с бутони.
-Ние свързваме Stop/Pause със „Release“

-Щракнете двукратно върху жълтото поле (за сутринта), за да отворите Matinee.

  1. Щракнете с десния бутон върху лявата колона Добавяне на нова празна група.

-Той ще ви поиска име за групата, поставете това, което искате.
-Когато е избрана новата група, тя ни показва нейните свойства. Ще направим същото, както направихме в свойствата на робота, за да установим набора от анимации, които ще имаме на разположение в тази група.

-Щракнете с десния бутон върху новата група, която се появи в лявата колона.
-Изберете Добавяне на нова писта за контрол на животни.
-Щракнете върху иконата Добавяне на ключ, за да добавите нова последователност

-Ще се появи друг прозорец, който пита коя анимация ще използваме от въпросния комплект, ще потърсим (за целите на урока) анимацията run_fwd_rif

Сега анимацията трябваше да се появи във времевата линия, ние само коригирахме индикаторите къде започва и къде свършва анимацията, така че да нямаме закъснения, когато се молим да я възпроизведем .

Тръгнахме и се върнахме в kismet.

  1. На практика приключихме, има много неща, за да откриете много инструменти, които трябва да се научите да използвате. В крайна сметка промених някои обвързвания на натиснат ключ/бутон, така че анимацията да работи малко по-добре:
    Натиснат-> Игра (Matinee)
    Повтаря се-> Игра (Matinee) && In (Вземете местоположение и завъртане)
    Издаден-> Stop && Pause (Matinee)

ЗАБЕЛЕЖКА: Ако променливата Нова група, прикрепена към робота, не е била създадена под полето за утро, просто щракнете върху раздела Нова група (ние сме в полето за утро, което виждате в kismet) и Нова обектна Var Използване на скелет.

Те го тестват, трябва да се движите и в същото време да видите анимацията на мрежата.

Надявам се този урок да помогне на много от вас, тъй като ми беше трудно да разбера как работи този графичен двигател.