INHOUDSOPGAWE:

Spelontwikkeling 101: wenke en truuks !: 11 stappe
Spelontwikkeling 101: wenke en truuks !: 11 stappe

Video: Spelontwikkeling 101: wenke en truuks !: 11 stappe

Video: Spelontwikkeling 101: wenke en truuks !: 11 stappe
Video: Writing 2D Games in C using SDL by Thomas Lively 2024, Julie
Anonim
Spelontwikkeling 101: wenke en truuks!
Spelontwikkeling 101: wenke en truuks!

Dus, hou u daarvan om videospeletjies te speel? Miskien is dit tyd, jy bou self een op!

Is dit nie mooi nie? Die idee dat u u eie wêreld kan skep, gebaseer op u reëls en fantasieë? Ek dink dit is.

Maar kom ons kyk vir eers na die werklikheid. U begin u eie spel, baie hulpbronne om van te leer, daar is YouTube en talle ander kursusse en webwerwe! Dae verander in maande, maande in jare, en jy begin geduld verloor.

Die waarheid is dat dit glad nie so kompleks is nie; dit is eintlik baie makliker en minder tydrowend as wat u dink!

Ek wil graag 'n paar baie belangrike onderwerpe deel, wat die meeste mense oor die hoof sien, maar later word dit die belangrikste redes waarom die meeste speletjies uiteindelik nie gepubliseer word nie.

Die belangrikste ding waarvan 'n spelontwerper/ontwikkelaar bewus moet wees, is PRESTASIE. Van die begin af moet dit u primêre fokus wees. Dit is belangrik dat u spel goed moet lyk, met goeie grafika en alles, maar wat is die punt as u 'n superrekenaar benodig om u spel te bestuur?

En dit is die enigste rede waarom die meeste speletjies misluk.

As u belangstel/beginner is in die ontwikkeling van speletjies, wil ek hê dat u moet weet dat u dit ook kan doen! Dit is maklik, en dit is pret. U moet net duidelik maak wat u wil maak. Die groot besluit om te neem, is of u 'n kunsspel gaan maak, of dat u iets wil neem wat heeltemal gefokus is op programmering, soos Minecraft.

As u goed is in programmering, maar dit ook artistiek wil maak, sal u dit moeilik vind om 'n speletjie te bou. Dit gaan vir jou verwarrend raak, en jou prioriteite sal deurmekaar raak.

As u 'n beginner is sonder programmeervaardighede, stel ek voor dat u eers 2D -speletjies maak, of miskien 'n kunsspel as u die uitdaging die hoof bied (dit is eintlik maklik).

Unity is die spel -enjin wat ek voorstel, nie net omdat Unity dit baie maklik gemaak het vir mense om speletjies te maak nie, maar ook omdat daar baie dokumentasie en hulpbronne is om aan die gang te kom.

Elke spelmotor het sy voor- en nadele, as u wil vergelyk voordat u begin, kan u gerus ronddelf.

Dit is 'n goeie plek om te begin! Maak eers 'n paar 2D -speletjies deur hierdie tutoriale te gebruik. Publiseer dit en gaan dan voort met die volgende groot projek! Die belangrikste is, om pret te hê!:)

[OPMERKING: Ek het 'n.pdf -lêer aangeheg wat 'n lys met kortpaaie vir Unity bevat]

Stap 1: (truuk 1) Volumetriese ligte

(Truuk 1) Volumetriese ligte!
(Truuk 1) Volumetriese ligte!
(Truuk 1) Volumetriese ligte!
(Truuk 1) Volumetriese ligte!
(Truuk 1) Volumetriese ligte!
(Truuk 1) Volumetriese ligte!

As u ooit kunsspeletjies gespeel het (of iemand gesien het speel), bv: Playdead's Limbo; jy moes seker opgemerk het hoe die ligstrale op die skerm sigbaar is. Dit lyk pragtig, nie waar nie?

U kan dit ook doen! Daar is baie gereedskap (sommige gratis) op die mark wat hiervoor gebruik kan word, byvoorbeeld: Aura. Maar hierdie instrumente kan u FPS -telling aansienlik verlaag en die hele prestasie van u spel beïnvloed.

Daar is 'n eenvoudiger manier om dit te doen, wat geen invloed op die prestasie het nie! Laat ek jou wys hoe!

U benodig 'n 3D -modelhulpmiddel, ek beveel Blender aan (dit is gratis!). U kan dit hier aflaai.

1. Maak Blender oop. Vee al die onnodige dinge op die skerm uit.

2. Druk Shift+A op u sleutelbord om 'n nuwe maas by te voeg.

3. Gaan na Mesh> Select Cone!

4. Dit is dit. Stoor dit as 'n.blend -lêer, of u kan dit na enige ander formaat uitvoer. Tans ondersteun Unity 'n wye verskeidenheid formate.

Kopieer nou die model (die keël) en plak dit in die batesmap van u projek.

Ons benodig 'n nuwe skerm vir hierdie keël. So kom ons maak daardie Shader

1. Maak u projek in Unity oop.

2. Regskliek op die projek -oortjie> Skep> Shader.

3. Hernoem daardie Shader as 'Transparent Shader'.

4. Maak die shader -lêer oop (monodevelop is die standaardredakteur van unity).

5. Kopieer die kode uit die prent hierbo.

Dit is dit, ons is gereed! Stoor nou daardie Shader.

Ons moet 'n materiaal skep om ons nuwe Shader te gebruik:

1. Klik met die rechtermuisknop op die projekblad> Skep> materiaal.

2. U sal 'n skakeringopsie (aftreklys) bo -aan sien.

3. Verander dit van standaard shader> Transparent Shader.

Voeg u keël by die toneel, verander die materiaal van standaardmateriaal> u nuwe materiaal

U kan selfs die kleur van u materiaal verander, afhangende van die kleur van die ligte wat u gaan gebruik. Die deursigtigheidsbedrag kan ook aangepas word!

Voeg nou 'n kollig by u keël! Om dit te doen:

1. Regsklik op u keëlmodel in die hiërargie

2. Ligte> Kollig

Verander die kleur van u kollig soos u wil. Pas die intensiteit en omvang van u kollig aan, saam met die deursigtigheid van u keëlmodel!

Stap 2: (truuk 2) Gebruik van mis

(Truuk 2) Gebruik van mis
(Truuk 2) Gebruik van mis
(Truuk 2) Gebruik van mis
(Truuk 2) Gebruik van mis
(Truuk 2) Gebruik van mis
(Truuk 2) Gebruik van mis
(Truuk 2) Gebruik van mis
(Truuk 2) Gebruik van mis

Mis word meestal gebruik om 'n lekker realistiese omgewing in videospeletjies te skep. Soms kan dit die kunsstyl van 'n spel komplimenteer.

Afgesien daarvan word mis gebruik in die ontwikkeling van videospeletjies om voorwerpe wat ver van die kamera af is, weg te steek.

In Unity het die Camera game -objek 'n opsie genaamd 'Far Clip plane'. Deur hierdie opsie aan te pas, word bepaal hoe ver u kamera kan sien. Om die prestasie te verhoog, word hierdie waarde soms verminder. Maar ons wil nie hê dat die speler moet agterkom dat voorwerpe ver van die speler op een of ander manier verdwyn het nie!

Dit is waar die gebruik van mis handig te pas kom! Voeg mis by u toneel, pas die waardes aan, en dit is dit!

Lees hier meer oor mis.

Om mis by jou toneel te voeg:

1. Gaan na die beligtingsoortjie (regs bo, langs die inspekteur -oortjie)

2. Die misopsie moet onderaan hierdie blad wees.

3. Klik op die blokkie om te aktiveer

4. Pas die kleur en digtheid van u mis aan

Stap 3: (truuk 3) Gebruik van velddiepte

(Truuk 3) Gebruik van velddiepte
(Truuk 3) Gebruik van velddiepte
(Truuk 3) Gebruik van velddiepte
(Truuk 3) Gebruik van velddiepte
(Truuk 3) Gebruik van velddiepte
(Truuk 3) Gebruik van velddiepte
(Truuk 3) Gebruik van velddiepte
(Truuk 3) Gebruik van velddiepte

Het u al ooit 'n DSLR -kamera gebruik om foto's te neem? Van bokeh gehoor? As u dit wel het, kan u maklik verstaan hoe diepte van die veld werk!

Dit is 'n effek wat gebruik word om fokus en vervagingseffek na te boots, asof die kamera -voorwerp in u spel 'n werklike kamera is!

Let egter daarop dat die gebruik van hierdie effek u FPS -telling aansienlik kan verlaag

Lees hier meer oor diepte van veld.

U kan dit by die Unity Asset Store kry, daar is twee opsies, die ou effekpakket en die nuwe stapel vir verwerking. Beide kan gebruik word.

Om hierdie effek te gebruik:

1. Laai die geskikte pak af.

2. Kies die kamera -voorwerp in u toneel.

3. Klik op add component.

4. Tik 'Velddiepte' in.

5. Kies die geskikte skrif.

6. Pas die waardes aan.

Stap 4: (truuk 4) Gebruik van Bloom

(Truuk 4) Gebruik van Bloom
(Truuk 4) Gebruik van Bloom
(Truuk 4) Gebruik van Bloom
(Truuk 4) Gebruik van Bloom
(Truuk 4) Gebruik van Bloom
(Truuk 4) Gebruik van Bloom
(Truuk 4) Gebruik van Bloom
(Truuk 4) Gebruik van Bloom

Bloom is nog 'n visueel verstommende effek in die Unity -redakteur.

As u ooit 'n droomagtige toneel of 'n magiese omgewing wil skep, sal die blom-effek u dag red! Dit gee 'n natuurlike gloed aan alle spelvoorwerpe in 'n toneel.

Lees hier meer oor blom.

Daar is baie opsies beskikbaar in die Unity Asset Store om hierdie effek by te voeg. Ek beveel egter aan om die 'Fast Mobile Bloom' te gebruik. Dit het 'n minimale uitwerking op die FPS-telling en is baie prestasievriendelik!

Om hierdie effek by u toneel te voeg:

1. Laai die geskikte pak af.

2. Kies u kamera -voorwerp in die toneel.

3. Klik op Voeg komponent by.

4. Tik 'Bloom' in

5. Pas die waardes aan soos benodig.

Stap 5: (truuk 5) Meervoudige rigtingligte

(Truuk 5) Meervoudige rigtingligte
(Truuk 5) Meervoudige rigtingligte

Rigtingligte het die minste prestasie. Waarom gebruik u dit dan nie goed nie?

Ons kan verskeie rigtingligte van verskillende kleure gebruik om die kunsstyl van ons spel te komplimenteer!

Byvoorbeeld; Gestel jy maak 'n wetenskaplike Cyberpunk-speletjie. U kan dus een rigtinglig gebruik wat geel is (soos die son), 'n ander rigtinglig wat pienk of pers is, om 'n getinte visuele effek op u toneel te gee.

Stap 6: (truuk 6) Gebruik van sprites as agtergrond

(Truuk 6) Gebruik van sprites as agtergrond
(Truuk 6) Gebruik van sprites as agtergrond

Om die prestasie en FPS -telling te verbeter, kan Sprites gebruik word in plaas van werklike 3D -modelle!

Dit spaar u baie tyd (3D -modellering neem baie tyd) en verbeter ook die prestasiefaktore van u spel.

Maak 'n sprite in Adobe Illustrator, voer dit uit as-p.webp

Klik hier om meer te lees oor hoe sprites werk.

Dit is 'n videodemonstrasie oor hoe u Sprites by u toneel kan voeg.

Stap 7: (Wenk 1) Hoe om die CPU/GPU -prestasie te verhoog

(Wenk 1) Hoe om die CPU/GPU -prestasie te verhoog!
(Wenk 1) Hoe om die CPU/GPU -prestasie te verhoog!
(Wenk 1) Hoe om die CPU/GPU -prestasie te verhoog!
(Wenk 1) Hoe om die CPU/GPU -prestasie te verhoog!

Dit is miskien die belangrikste dinge wat 'n groot invloed op prestasie het, maar wat ontwikkelaars dikwels oor die hoof sien:

1. Probeer altyd om die aantal maas so laag as moontlik te hou. Byvoorbeeld; As u 'n aantal vrugte in 'n mandjie het, is dit belangrik dat u dit as 'n enkele maas in u 3D -modelinstrument maak, eerder as om 'n aparte maas vir appels, piesangs, druiwe, ens.

2. Gebruik so min as moontlik materiaal. Probeer altyd om een materiaal/gaas te gebruik eerder as om vyf te gebruik. Die lewering van materiaal en die weergawe van gaas is dieselfde as die SVE.

3. Eenheid het 'n baie handige funksie genaamd 'Batching'. Daar is twee soorte bondels, staties en dinamies. Statiese groepering word wyd gebruik. Dit kombineer statiese (nie beweeg nie) spelvoorwerpe in groot gaas, en maak dit vinniger. Om 'n statiese groepering moontlik te maak, kies 'n speletjie -voorwerp> in die inspekteur -oortjie, klik in die regter boonste hoek op die blokkie wat 'Staties' sê. Die belangrikste ding om te onthou is dat die spelvoorwerpe nie moet beweeg nie, en dat slegs voorwerpe wat dieselfde materiaal gebruik, saamgevoeg kan word.

Klik hier om meer te lees oor batching.

4. Teksture. Die beeldlêers wat u invoer om nuwe materiaal vir u voorwerpe te maak. Dit is die gewone skuldiges wat u grafiese prestasie vertraag. Gebruik altyd klein teksture (maar nie van lae kwaliteit nie).

5. Die ander belangrike ding is die aantal driehoeke wat in die 3D -modelle van u karakters gebruik word. Probeer dus u bes om die driehoektelling laag te hou terwyl u nie afbreuk doen aan kwaliteit nie.

Stap 8: (Wenk 2) Prestasie teenoor ligte

Die hiërargie van ligte gebaseer op hul effek op prestasie is: Kolligte> Puntligte> Rigtingligte

As u ligte in u toneel gebruik, lyk dit goed, maar onthou dat u nie meer ligte moet gebruik as wat absoluut noodsaaklik is nie. Dit verg baie verwerkingstyd om die effek wat ligte op omliggende voorwerpe het, te bereken

Let asseblief op die volgende:

1. Kolligte is die duurste ligte wat prestasie betref. As dit moontlik is om dit met puntligte te vervang, doen dit!

2. Kolligte en puntligte het 'n reeks. Dit kan slegs voorwerpe binne die bereik beïnvloed. As u 'n groot aantal voorwerpe moet aansteek, eerder as om 'n enkele hoëafstandlig te gebruik, gebruik dan verskeie klein ligte! 'N Hoër aantal voorwerpe wat deur 'n lig bewerkstellig kan word, beteken meer berekening, dus lae prestasie.

3. Dit is belangrik om daarop te let dat 'n gaas slegs reageer op die agt helderste ligte wat die gaas beïnvloed.

Stap 9: (Wenk 3) Scripting vs Performance

1. Werk en werk opdateringsfunksies op, moet dit nie gebruik nie, tensy dit absoluut noodsaaklik is. Soms is daar geen ander manier nie, en u hoef net hierdie funksies te gebruik. Hou in hierdie geval klein en eenvoudig. Moenie 'n klomp goed onder hierdie funksies plaas nie. Hierdie funksies word 'n paar keer per sekonde genoem, en dit kan regtig optel as u 'n groot aantal skrifte met opdateringsfunksies het.

2. Eenheidsontwikkeling het standaard 'n opdatering (). As u dit nie gebruik nie, verwyder dit uit enige script wat dit bevat, maar u gebruik dit nie.

3. Coroutines kan as 'n gesonde alternatief vir opdateringsoproepe gebruik word.

4. Onthou altyd om 'n monobehavio -script wat u nie meer gebruik nie, maar steeds aktief in u toneel is, uit te skakel.

5. Probeer altyd om die funksies so direk moontlik aan te skakel.

Stap 10: (Wenk 4) Klankverbeterings

Moenie saamgeperste klanklêers gebruik om klein klankeffekte soos geweervuur af te speel nie. Dit sou veroorsaak dat die SVE 'n geruime tyd (onnodig) tyd daaraan bestee om dit saam te pers.

Stap 11: Gevolgtrekking

Verken! Dit is letterlik die beste raad wat gegee kan word. Verken konsepte, konsepkuns, kyk wat ander mense bou, kry idees, bou voort op die idees!

Aanbeveel: