Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna...

39
Zavod sv. Stanislava Škofijska klasična gimnazija Izdelava igre v Unreal Engine 4 Maturitetna seminarska naloga iz Informatike Kandidat: Juš Žavbi Mentor: Helena Starc Grlj Ljubljana Šentvid, marec 2018

Transcript of Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna...

Page 1: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Zavod sv. Stanislava Škofijska klasična gimnazija

Izdelava igre v Unreal Engine 4 Maturitetna seminarska naloga iz Informatike

Kandidat: Juš Žavbi

Mentor: Helena Starc Grlj

Ljubljana Šentvid, marec 2018

Page 2: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

2

POVZETEK

Odločil sem se sam ustvariti svojo igro v enem najbolj znanih igralnih pogonov

Unreal Engine 4. Izbral sem si igro, ki se bo vrtela okoli športnega streljanja. Igro bom

izdelal v že obstoječem igralnem pogonu in uporabljal že narejene asseste, sam pa se

bom osredotočil na samo zasnovo in programiranje igre. V igri bodo osnovne funkcije

za strelno igro, kot so premikanje v različnih položajih, tek, streljanje, polnjenje in tarče.

ABSTRACT I have decided to make my very own videogame in one of the most well-known

game engines; Unreal Engine 4. The game I will be making, will be a sport shooting

simulator. My work will focus on compiling and programming the game with pre-existing

assets. In the game there will be the core functions of a shooter game, such as moving

in various stances, running, shooting, reloading and targets.

KLJUČNE BESEDE

Izdelava video igre, igralni pogon, programiranje, digital assets

Page 3: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

3

Vsebina

1 Uvod ............................................................................................................................................ 6

1.1 Programska in strojna oprema ............................................................................................ 6

2 Teoretični del ............................................................................................................................... 7

2.1 Izdelava video igre ............................................................................................................... 7

2.2 Unreal Engine 4 ................................................................................................................... 7

2.3 Načrt igre ........................................................................................................................... 10

3 Praktični del ............................................................................................................................... 12

3.1 Začetek .............................................................................................................................. 12

3.2 Igralčev model in animacije ............................................................................................... 15

3.3 Orožje in izstrelki ............................................................................................................... 20

3.4 HUD in pripomočki ............................................................................................................ 26

3.5 Okolje in osvetlitev ............................................................................................................ 32

3.6 Način za testiranje ............................................................................................................. 34

4 Zaključek .................................................................................................................................... 37

4.1 Ocena dela ......................................................................................................................... 37

4.2 Končne misli in možne izboljšave ...................................................................................... 38

5 Viri: ............................................................................................................................................ 39

Page 4: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

4

STVARNO KAZALO

A

animacija ...................................................16, 18, 21

G

gonilnik ................................................................. 13

H

HUD ...................................................................... 27

L

lika .......................................... 6,16, 18, 21, 32,37,38

N

načrt .................................................6,7,8,11, 21, 27

O

Okolje ................................................................... 33

osvetlitev .............................................................. 33

S

socket ................................................................... 21

Š

škatla z naboji ....................................................... 32

T

tarča ..................................................................... 32

tekst ..................................................................... 27

V

video igra ..................................................... 3, 4, 7, 8

Page 5: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

5

KAZALO SLIK Slika I: Uporabljanje C++ kode v UE4 ........................................................................ 8

Slika II: Uporaba načrtov ............................................................................................ 9

Slika III: Prosto dostopni asseti v spletni trgovini ...................................................... 12

Slika IV: Mapa tretjeosebne šablone ........................................................................ 13

Slika V: Načrti za premikanje iz šablone ................................................................... 14

Slika VI: Prenesene .fbx datoteke v vmesniku .......................................................... 15

Slika VII: Lik iz šablone ............................................................................................. 16

Slika VIII: Novi lik, z kamero v prvi osebi .................................................................. 16

Slika IX: Stanja lika ................................................................................................... 18

Slika X: Načrt za animacije ....................................................................................... 19

Slika XI: Vmesnik za animacije ................................................................................. 20

Slika XII: Načrt za delovanje orožja .......................................................................... 21

Slika XIII: Virtualen model orožja .............................................................................. 22

Slika XIV: Načrt položaja orožja ............................................................................... 23

Slika XV: Načrt in model materiala ........................................................................... 24

Slika XVI: Postavljanje socketa in uravnavanje položaja orožja ............................... 25

Slika XVII: Načrt za merjenje nabojev ...................................................................... 27

Slika XVIII: Načrt za navodila ................................................................................... 28

Slika XIX: Načrt za timer ........................................................................................... 29

Slika XX: Virtualna oblika in načrt škatle z naboji ..................................................... 30

Slika XXI: Virtualna oblika in načrt tarče ................................................................... 31

Slika XXII: Zadeta tarča ............................................................................................ 32

Slika XXIII: Končana okolica ..................................................................................... 33

Slika XXIV: Novo ustvarjena površina ...................................................................... 33

Slika XXV: Začetni zaslon igre .................................................................................. 34

Slika XXVI: Način za testiranje se zažene v zgornjem delu vmesnika ...................... 34

Slika XXVII: Igralec v okolju ...................................................................................... 35

Page 6: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

6

1 Uvod

Skozi leta so video igre postale več milijonska industrija in praktično glavni gonilnik

zmogljivosti osebnih računalnikov. Proces izdelave video igre je ogromen zalogaj, saj

je to dandanes lahko dolgotrajen podvig mnogih talentiranih ustvarjalcev. Se pa je v

zadnjih letih razvila »indie« scena, kjer majhna podjetja/ posamezniki lahko ustvarjajo

kreativne igre manjšega obsega. Že nekaj časa sem sam imel v načrtu narediti svojo

videoigro, zato sem se odločil to vključiti v svojo projektno nalogo. Tehničnega

predznanja na področju niti nisem imel, sem pa kot dolgoleten igralec videoiger imel

veliko idej in zamisli. Zamisli sem imel veliko in na koncu sem vse skupaj spravil v

dokaj uresničljiv načrt, kako bo moja videoigra izgledala. Z načrtom v glavi sem začel

raziskovati področje in iskati material za učenje.

1.1 Programska in strojna oprema

Programska oprema

OS WINDOWS 10

Igralni pogon UNREAL ENGINE 4.16

Spletni brskalnik MOZILA FIREFOX

Urejevalnik besedila

MICROSOFT WORD

Program za prenos datotek

FILEZILLA

Strojna oprema

Procesor INTER CORE I7-4770K 3.50GHZ

RAM 16GB

Grafična kartica NVIDIA GEFORCE GTX 1060

Trdi disk 117GB + 1,81TB

Tabela 1: Programska oprema

Tabela 2: Programska oprema

Tabela 3: Strojna oprema

Page 7: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

7

2 Teoretični del

2.1 Izdelava video igre

Izdelava moderne video igre več ali manj poteka v treh korakih. Najprej pride

zasnova projekta, kjer se zberejo vse ideje in se izdela teoretičen načrt poteka projekta.

Nato pride sama izdelava, kjer se delo po navadi porazdeli na več specializiranih

oddelkov (programiranje, animacije, izdelava likov …). Izdelek gre skozi 3 faze; alpha,

beta in končan izdelek. Vsaka faza predstavlja raven dokončanosti in po navadi v vsaki

fazi nastopi tretji korak izdelave videoigre; testiranje in »debugging« (razhroščevanje),

kjer se igra preizkusi in testira, z namenom da se najdejo in razrešijo vse napake.

Tako poteka delo v večjih studiih, z mnogimi izkušenimi zaposlenimi. Ker sem sam

sem se odločil igro narediti v že obstoječem igralnem pogonu in uporabiti prosto

dostopne assete (virtualne modele, zvoke …), sam pa se bom osredotočil na

sestavljanje celotne igre. Odločil sem se, da bo moj izdelek prvoosebna igra, kjer bo

igralec hodil po okolju in streljal tarče. Igralec bo lahko hodil, tekel in pokleknil po okolju

ter streljal, meril in napolnil orožje.

2.2 Unreal Engine 4

Sam sem si izbral za podlago svoje videoigre »game engine« (igralni pogon) Unreal

Engine 4 (UE4) od Epic Games. Igralni pogon že ima vnaprej programirane osnovne

funkcije videoigre (upodabljanje grafike, predvajanje zvoka, podpora fiziki, podpora

animacijam, umetna inteligenca, vnos). S temi vnaprej pripravljenimi funkcionalnostmi

lahko potem uporabnik zgradi lastno igro. UE4 se lahko uporablja na dva načina;

uporabnik lahko programira v C++ in to kodo uporabi v igralnem pogonu ali pa uporabi

gradnike: »blueprint« (načrt) z že pripravljeno kodo v elementih, kateri se potem

povezujejo v več različnih plasteh. V svoji nalogi sem gradil kodo z temi načrti.

Page 8: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

8

Slika I: Uporabljanje C++ kode v UE4

Page 9: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

9

Slika II: Uporaba načrtov

Page 10: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

10

2.3 Načrt igre

Svoj načrt sem predstavil tudi z diagramom poteka. Za vsak vnos za ukaz sem

naredil posamičen diagram. To mi je omogočalo, da si natančno začrtam potek dela.

Diagram 2: Diagram teka, merjenja in klečanja lika

Diagram 1: Diagram premikanja lika

Page 11: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

11

Diagram 4: Diagram za streljanje z orožjem

Diagram 3: Diagram polnjenja orožja

Page 12: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

12

3 Praktični del

3.1 Začetek

Za uporabo UE4 je potreben gonilnik Epic Games Launcher, ki je od Epic Games,

ustvarjalcev tega igralnega pogona. Preden sem zagnal program sem iz uradne

spletne trgovine vzel nekaj assetov, ki so bili na voljo brezplačno, nekaj pa sem jih že

prej prenesel iz Adobove aplikacije Mixamo. Ko ustvariš nov projekt, ti program ponudi

že vnaprej narejene šablone z najbolj osnovnimi funkcijami. Jaz sem izbral

tretjeosebno šablono, ki je vsebovala animiranega lika in osnovne kontrole za

premikanje in gledanje.

Slika III: Prosto dostopni asseti v spletni trgovini

Page 13: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

13

Slika IV: Mapa tretjeosebne šablone

Page 14: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

14

Slika V: Načrti za premikanje iz šablone

Page 15: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

15

3.2 Igralčev model in animacije

Delo sem začel s samim likom igralca. Lik in animacije iz šablone sem zavrgel in se

lotil nameščanja svojega lika in animacij, ki sem jih prenesel iz Mixamo. Iz prenesene

.rar datoteke sem enostavno prenesel .fbx datoteke v vmesnik UE (kar je vsebovalo

3d model lika, površina lika, njegov virtualen skelet in animacije). Nato sem vstavil nov

lik in spremenil kamero iz tretjeosebne perspektive v prvoosebno perspektivo. To sem

storil, da sem kamero vzel iz statičnega položaja za likom in jo pripel v likovo glavo.

Slika VI: Prenesene .fbx datoteke v vmesniku

Page 16: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

16

Slika VII: Lik iz šablone

Slika VIII: Novi lik, z kamero v prvi osebi

Page 17: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

17

Nato sem se lotil animacij. Za ta namen sem ustvaril novo datoteko »Animation

Blueprint«, načrt za animacijo. Sprva sem določil stanja animacij, za svojo igro sem se

odločil, da bo moj lik lahko hodil, tekel, klečal in skakal. Zato sem ustvaril stanja

mirovanja, sprehajanja, teka in klečanja (skakanje je enkratna animacija zato ne rabi

prehodov). Nato sem določil, kdaj lik uporabi kakšne animacije. Posamezen kvadrat v

načrtu določa postopek. V tem primeru je viden rdeč gradnik, ki začne proces, beli je

razdelilnik, zeleni kvadrati pa dobijo vrednosti položaja lika (modro-zeleni veže funkcije

na določen lik). Pozneje sem dodal še zgornji del, ki preprečuje sproženje animacij ko

lik kleči ali polni orožje (rdeči kvadrati določajo pogoje). Za lažje reference skozi celoten

postopek sem ustvaril nekaj spremenljivk (vidnih v spodnjem levem kotu vmesnika na

slikah).

Page 18: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

18

Slika IX: Stanja lika

Page 19: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

19

Slika X: Načrt za animacije

Page 20: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

20

Znotraj načrta stanj je vmesnik za animacije, kjer se določa animacije pri določenih

parametrih. V grafu dveh spremenljivk je določena hitrost in smer gibanja (v stopinjah).

Nato sem povlekel primerne animacije (iz brskalnika animacij desno spodaj) na

določene točke v grafu (bele pike). Za testiranje se lahko v grafu primerja prehode med

animacijami (shift + vlečenje zelene pike z miško). Uporabil sem animacije za

premikanje naprej, nazaj, levo in desno, za stanja hoje, klečanja in teka.

3.3 Orožje in izstrelki

Nato sem se lotil dodajanje samega modela orožja liku in ustvarjanje funkcionalnosti

orožja. Ustvaril sem 3 nove načrte. Prva dva sta bila načrt za material, ki da površino

virtualnemu modelu, in okostje, ki določa fizično prisotnost v pogonu. Zatem sem

ustvaril navaden načrt za predmete, v katerem sem postavil virtualen model orožja (za

katerega sem uporabil prejšnja dva načrta) in mu sprogramiral lastnosti. A preden sem

začel delati z načrti, sem moral model orožja še vstaviti v model lika in ustvariti sam

izstrelek. To sem storil tako da sem na skeletu lika, bolj natančno na likovi roki ustvaril

»socket« na katerega sem potem pritrdil orožje. Nato sem ustvaril še en načrt za

predmete za izstrelek. Za izstrelek sem uporabil preprost kroglast lik ki sem ga

raztegnil in pomanjšal, da je bolj izgledal kot metek. Zatem sem ustvaril nov material,

ki sveti rumeno, da simulira izstrelek in oddaja zvok in efekt dima ob vsakem ukazu za

strel. Zatem sem ustvaril ukaza za strel (levi gumb na miški) in polnjenje (r na

Slika XI: Vmesnik za animacije

Page 21: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

21

tipkovnici). Na koncu pa sem še, podobno kot pri samem orožju, dal izstrelku »socket«

za izhodiščno točko na koncu cevi, tako da izstrelki letijo naravnost iz cevi ob pravem

ukazu.

Slika XII: Načrt za delovanje orožja

Page 22: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

22

Slika XIII: Virtualen model orožja

Page 23: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

23

Slika XIV: Načrt položaja orožja

Page 24: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

24

Slika XV: Načrt in model materiala

Page 25: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

25

Slika XVI: Postavljanje »socketa« in uravnavanje položaja orožja

Page 26: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

26

3.4 HUD in pripomočki

»Head-up display« ali HUD je prikazovalnik na igralčevem zaslonu, ki mu poda

informacije neposredno na zaslon. Jaz sem dodal osnoven HUD, ki sporoča število

nabojev, merek za orožje, navodila in timer. Pri tem sem uporabljal no vijoličen gradnik,

ki se uporablja za kratka besedila. To se vse naredi v načrtu za HUD, kjer lahko prosto

urejaš, kaj se prikaže na zaslonu. Kazalo nabojev, navodila za igranje in timer sem

moral sprogramirati, da so imeli funkcionalnost. Kazalo nabojev je prikazano desno

spodaj in je sestavljen iz dveh delov, levi del prikazuje koliko nabojev je še v seržerju,

desni pa koliko je še vseh preostalih nabojev. Navodila za igranje so prikazana levo

zgoraj in so dinamična. Uporabljajo načrt za predmet, ki je interaktiven z likom, ampak

v sami igri ni viden. Ko igralec stopi čez ta interaktivni predmet se tekst spremeni, kar

nakazuje na nadaljevanje naloge. Sprva sem naredil statičen kazalec za streljanje, a

sem pozneje našel dinamično verzijo, ki se razširi, ko se igralec premika, katero sem

nato vključil v svojo igro. Timer je bil verjetno še najbolj preprost, saj enostavno odšteva

od 5 minut do 0.

Page 27: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

27

Slika XVII: Načrt za merjenje nabojev

Page 28: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

28

Slika XVIII: Načrt za navodila

Page 29: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

29

Slika XIX: Načrt za timer

Page 30: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

30

Slika XX: Virtualna oblika in načrt škatle z naboji

Page 31: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

31

Seveda bi pa bila igra dokaj dolgočasna brez interaktivnih elementov. Zato sem

ustvaril 2 pripomočka, da popestrita igralno okolico. Škatlo z naboji in tarče. Škatla z

naboji je narejena z načrtom za predmete in je enostavna kocka z prej narejenim

materialom kovine. Ko igralec stopi čeznjo se aktivira zvok in igralec pridobi 30

nabojev. Tarča je enako kot škatla z naboji virtualen lik. Ni interaktivna z likom, ampak

z izstrelki, vsakič ko jo izstrelek zadane se izpiše »hit« in ko je tarča zadeta 10 se uniči

z zvokom.

Slika XXI: Virtualna oblika in načrt tarče

Page 32: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

32

3.5 Okolje in osvetlitev

Na koncu sem še ustvaril svojo lastno okolico. Začel sem s tem, da sem izbrisal

staro mapo, ki je prišla s šablono in nato naredil novo podlago v načinu za urejanje

pokrajine. Ustvaril sem ravno ploščo 7x7, ki sem jo nato z orodjem za »noise« rahlo

nagubal, da je bilo videti bolj naravno. Nato sem določil material za tla, izbral sem že

dani material trave in ga uporabil za celotno površino. Ker pa je vse skupaj izgledalo

dokaj pusto in prazno sem dodal še rastlinje. Tega sem dodal z načinom za urejanje

rastlinja, in sicer tako, da sem povlekel že dane modele rastlin v brskalnik in nato

enostavno uporabil čopič, ki naključno generira vse izbrane rastline. Po nekaj poskusih

sem bil zadovoljen z razmerjem trav, grmičev in dreves. Po urejanju rastlinja sem uredil

osvetlitev, spet z navadnim urejevalnikom predmetov. Pod mapo »lights« in uporabil

»directional light«, ki simulira dnevno svetlobo. Za konec sem še dodal vse ustvarjene

pripomočke, »zgradil« celoten projekt (združenje vseh elementov projekta) in končal

svojo prva dva koraka izdelave videoigre.

Slika XXII: Šestkrat zadeta tarča

Page 33: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

33

Slika XXIV: Novo ustvarjena površina

Slika XXIII: Končana okolica

Page 34: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

34

3.6 Način za testiranje

V tem načinu lahko igro zaženemo v oknu, da preizkusimo njeno delovanje in

poiščemo napake. Gleda na izbrane platforme lahko igro zaženemo v primernem

okolju (Windows, Linux, Mac, Xbox, Playstation, Android).

Slika XXVI: Način za testiranje se zažene v zgornjem delu vmesnika

Slika XXV: Začetni zaslon igre

Page 35: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

35

Slika XXVII: Igralec v okolju

Page 36: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

36

3.7 Kako zagnati in igrati igro

Zaradi težav z izvažanjem igre se videoigra lahko igra samo neposredno v igralnem

pogonu. Za igralni pogon Unreal Engine 4 je potrebno prenesti vmesnik Epic Games

Launcher (najden na https://www.epicgames.com/unrealtournament/download ). Ko je

Epic Games Launcher prenesen in nameščen, lahko uporabnik prenese Unreal engine

4. Zatem uporabnik premesti mapo z mojo igro v C:\Users\[uporabnik]

\Documents\Unreal Projects. Potem se v Library zažene projekt pod imeno

»Prvoosebna« in v Unreal Engine se preko Načina za testiranje (Launch ali Play) na

zgornjem delu vmesnika lahko zažene moja igra.

Ko uporabnik zažene igro se mu pojavi začetni zaslon, ko klikne gumb za začetek

je prestavljen v okolje. Lik se premika z gumbi na tipkovnici; w za naprej, a za levo, d

za desno, s za nazaj, z space pa lahko skoči. Če uporabnik drži shift začne lik teči za

hitrejše premikanje, če pa drži c lik poklekne. Lik premika orožje skupaj s pogledom: s

premikom miške v pravo smer. Za streljanje se pritisne levi gumb na miški, za merjenje

pa drži desnega. Ko igralec naredi nekaj korakov se zgoraj levo pojavi nov cilji, ki

naroča igralcu naj uniči vse tarče pred iztekom časa. Igralca poleg časa omejujejo še

metki, ki jih zmanjka, če uporabnik ne pobira škatel z metki.

Page 37: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

37

4 Zaključek

4.1 Ocena dela

Kot sem že omenil nisem imel veliko izkušenj na tem področju. Veliko časa sem

porabil za raziskovanje in poučevanje pred samim projektom, a kar sem kmalu

spoznal, sem se vrgel v projekt prehitro. Večino stvari sem se naučil sproti po raznih

vodičih, če ne drugega kar z direktnimi vprašanji.

Sestavil sem graf celotnega vloženega dela v projekt, potek sem razdelil na pripravo

(raziskovanje področja), delo v igralnem pogonu (veliko časa porabljenega za sprotno

preverjanje), testiranje/ popravljanje in dokumentacija:

0

2

4

6

8

10

12

14

16

18

Priprava Delo v UE4 Testiranje/ Popravljanje Dokumentacija

Število vloženih ur

Graf 1: Število vloženih ur

Page 38: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

38

4.2 Končne misli in možne izboljšave

S svojim končnim izdelkom sem kar zadovoljen, zdi se mi da sem na začetku bil

malo preveč ambiciozen glede obsega. Želel sem si ustvariti igro, ki bi jo sam z

veseljem igral, a mogoče je tak cilj malo previsok za zdaj. Glavne napake so, da pri

animacijah polnjenja orožja lik ni popolnoma usklajen z orožjem, izstrelki letijo malo

izven centra in so prenatančni, neuravnano merjenje z orožjem in timer ki sicer deluje,

a ko doseže 0 se še ne sproži noben postopek. Verjetno največji problem pa je, da igre

nisem uspel izvoziti v .exe datoteko, čeprav vse deluje pravilno v načinu za testiranje

v igralnem pogonu. Zaradi tega je igro v tem stanju v tem stanju možno igrati le preko

igralnega pogona.

Kar sem ustvaril je videoigra in kar mi je še bolj pomembno je dobra podlaga na

kateri lahko kadarkoli naprej gradim. V prihodnosti lahko dodam še dinamične tarče, ki

se premikajo za večjo zahtevnost, večjo dinamiko orožja (nenatančnost, trzanje), več

različnih okolij, tarč in orožij, delujočo .exe verzijo, točkovalnik, ki daje točke za uničene

tarče in mogoče celo večigralen način, kjer več igralcev lahko poveže preko interneta

tekmuje kdo doseže največje število točk.

Page 39: Izdelava igre v Unreal Engine 4 - arnes.sissljskg2s/2017_18/zavbi_jus/spletna stran/dokumentacija... · Zavod sv. Stanislava kofijska klasiþna gimnazija Izdelava igre v Unreal Engine

Izdelava igre v Unreal Engine 4 | Juš Žavbi

39

5 Viri

• Vprašanja in odgovori za igralni pogon (online). [nazadnje dostopano:

5.4.2018] Dostopno na https://answers.unrealengine.com/index.html

• Forumi igralnega pogona (online). [nazadnje dostopano: 5.4.2018]

https://forums.unrealengine.com/

• Glavna stran igralnega pogona (online). [nazadnje dostopano: 28.3.2018]

Dostopno na https://wiki.unrealengine.com/Main_Page

• Wikipedija o razvijanju iger (online). [nazadnje dostopano: 29.3.2018]

Dostopno na https://en.wikipedia.org/wiki/Video_game_development

• Reddit stran o igralnem pogonu (online). [nazadnje dostopano: 16.3.2018]

Dostopno na https://www.reddit.com/r/unrealengine/

• Stran z asseti in animacijami za lika (online). [nazadnje dostopano: 5.2.2018]

Dostopno na https://www.mixamo.com/#/

• Dinamični merek (online). [nazadnje dostopano: 27.2.2018] Dostopno na

https://forums.unrealengine.com/community/community-content-tools-and-

tutorials/25050-free-asset-dynamic-umg-crosshair

• Epic Games Launcher (online). [nazadnje dostopano: 11.4.2018] Dostopno na

https://www.epicgames.com/unrealtournament/download

• Besana avtomatska lektorica (online). [nazadnje dostopano: 15.4.2018]

Dostopno na https://besana.amebis.si/preverjanje/