Žaidimai

„Unity3D“ pamoka

„Unity3D“ pamoka

Įvadas į „Unity 3D“

„Unity 3D“ yra galingas žaidimų kūrimo variklis. Tai yra daugiašalė platforma, kuri leidžia kurti žaidimus mobiliesiems, internetiniams, darbalaukio ir konsolėms, iš viso apie 30 platformų. „Unity 3D“ turi daug įdomių funkcijų, kelios iš jų pateikiamos žemiau:

„Vienybės sąsajos“

Panagrinėkime „Unity“ redaktoriaus sąsajas, kurias galima konfigūruoti.  Jis susideda iš langų, kuriuos galite paslėpti, kuriuos galite pertvarkyti pagal savo poreikius.  Panagrinėkime numatytuosius lango nustatymus. Čia yra vaizdas, kaip jis atrodo

Hierarchijos langas

Hierarchijos langas rodo kiekvieną scenos objektą. Tai parodo, kaip objektai yra siejami scenoje, taigi šie du langai yra susiję. Hierarchijos lange yra išskleidžiamasis sąrašas pavadinimu Kurti. Labai lengvai galite sukurti tuščią objektą, 3D objektus, 2D objektus, šviesos, garso, vaizdo, dalelių sistemos ir fotoaparato objektus. Hierarchijos langas rodomas žemiau. „Be pavadinimo“ yra scenos pavadinimas. Galite jį pervadinti taip, kaip norite. Dešinėje pavadinimo (siužeto pavadinimo) pusėje galite pamatyti išskleidžiamojo meniu piktogramą. Spustelėję šį išskleidžiamąjį meniu galite pamatyti skirtingas parinktis Išsaugoti sceną ir Pridėti naują sceną.

Scenos langas

Scenos langas yra vieta, kur kuriate savo sceną. Čia galite bendrauti su savo žaidimo objektais ir modeliais. Galite keisti savo siužeto objektų dydį, pertvarkyti ir pakeisti jų padėtį. Tai langas, kuriame pradedate dirbti su „Unity“. Scenos vaizdas gali būti 2D arba 3D, atsižvelgiant į jūsų projekto nustatymą. Štai ekrano vaizdas, kaip atrodo scenos langas:

Scenos lange galite pamatyti kitą skirtuką, pažymėtą etikete Atspalvis, čia galite pasirinkti, kokio tipo vaizdą norite tamsinti arba vielinį rėmą. Jame yra daugybė kitų variantų, tokių kaip „Miscellaneous“, „Global illumination“, „Real time GI“, „Baked GI“ ir daugelis kitų. Galite peržiūrėti 2D arba 3D naudodami mygtuką šalia Atspalvis išskleidžiamajame meniu. Kitas yra scenos apšvietimo perjungimo mygtukas. Panašiai scenos garso perjungimo mygtukas. Kitas yra išskleidžiamasis sąrašas, įgalinantis dangaus langelį, rūką, animuotą medžiagą ir vaizdo efektus.

Žaidimo langas

Žaidimo langas rodo jūsų paskutinį paskelbtą žaidimą žaidimo režimu. Tai perteikiama iš fotoaparatų, kuriuos naudojote žaidime. Žaidimo lange galite pamatyti kitą įrankių juostą, kaip parodyta žemiau ekrano kopijoje:

1 ekrane rodoma kamera, esanti jūsų žaidimo scenoje. Pagal numatytuosius nustatymus jis yra nustatytas 1 ekranas pagrindinei kamerai. Jei turite kelias kameras ir norite perjungti, galite pasirinkti išskleidžiamajame sąraše. Šalia galite pamatyti išskleidžiamąjį vaizdų santykių meniu. Galite pasirinkti pagal tikslinio įrenginio monitoriaus ekraną. Toliau galite pamatyti a Mastelio slankiklis priartinti. Slinkite į dešinę ir išnagrinėkite daugiau informacijos apie savo siužetą grojimo režimu. Kitas yra mygtukas Padidinkite „Play“ žaidime, spustelėjus žaidimo lango dydis bus maksimalus žaidimo režimu. Nutildyti garsą perjungiklis naudojamas garsui nutildyti / įjungti. Statistika rodo atvaizdavimo statistiką apie jūsų žaidimo garsą ir grafiką.

Projekto turto langas

Kaip rodo pavadinimas, turto lange yra visas jūsų projekto turtas, kurį galite naudoti. Jei importuosite ką nors naujo, jis pasirodys projekto turto lange. Projekto turto lange yra dvi dalys, kairysis ir dešinysis skydai, kaip parodyta toliau pateiktame ekrano vaizde:

Kairėje srityje rodoma hierarchinė projekto turto struktūra.  Kai spustelėsite bet kurį aplanką, dešiniajame skydelyje bus rodoma išsami informacija. Pavyzdžiui pateiktame paveiksle Surenkamieji aplankas spustelėjamas kairiajame skydelyje, todėl jo duomenys rodomi dešiniajame skydelyje, nes jame yra du žaidimo objektai. Kairiajame skydelyje galite pamatyti a Mėgstamiausi skyriuje, kur galite vilkti daiktus, kuriuos norite naudoti labai dažnai, kad išvengtumėte laiko gaišimo jų ieškant. Virš jo galite pamatyti a Kurti išskleidžiamasis meniu, kuris leidžia jums sukurti C # scenarijų, aplanką, shaderį, GUI dangą, sceną, surenkamąjį langą, medžiagą ir daug daugiau.

Pulto langas

Pulto langas yra vieta, kur galite pamatyti savo klaidas, įspėjimus ir pranešimus. Galite juos sureguliuoti spustelėdami jų perjungimo mygtukus. Tai taip pat leidžia išvalyti visas klaidas, įspėjimus ir pranešimus. Galite pristabdyti klaidas tam tikram laikui. Čia galite pamatyti šiame paveikslėlyje

Išskleidžiamajame meniu piktogramoje, esančioje viršutiniame dešiniajame kampe, yra redaktoriaus žurnalo ir kaupimo pėdsakų registravimo parinktys.

Inspektoriaus langas

Inspektoriaus langas yra vienas įdomiausių ir naudingiausių redaktoriaus langų. Čia galite redaguoti visas pasirinkto žaidimo objekto ypatybes. Kiekvienas žaidimo objektas turi savo tipą, todėl jų savybės bus skirtingos, o inspektoriaus langas gali skirtis. Turto, scenarijų ir žaidimo objektų savybės skiriasi. Leidžia pamatyti kubo savybes inspektoriaus lange. Čia yra vaizdas:

Galite pervardyti žaidimo objektą tiesiog spustelėdami ankstesnį pavadinimą ir įvesdami naują. Tada pamatysite transformacijos skyrių, kuriame galėsite reguliuoti pasirinkto žaidimo objekto padėtį, pasukimą ir mastelį. Paskutiniame jūs matote mygtuko pavadinimą kaip Pridėti komponentą, spustelėkite jį, kad pridėtumėte naujų komponentų prie savo žaidimo objekto, pavyzdžiui, jei norite pridėti scenarijų, tiesiog spustelėkite pridėti komponentą ir įveskite savo scenarijaus pavadinimą.

Įrankių juosta

Paskutinis yra įrankių juostos skirtukas, jame yra daug naudingų funkcijų. Jame yra keletas pagrindinių įrankių, leidžiančių manipuliuoti scenos vaizdu ir objektais. Centre yra mygtukai, skirti žaisti, pristabdyti ir valdyti žingsnius. Kiti du mygtukai rodo jūsų „Unity“ debesį ir „Unity“ paskyrą. Štai paveikslas, kaip jis atrodo:

Darbo su vienybe pradžia

Pradėkime kurti naują projektą „Unity“, nes laikas žaisti su tuo, ką išmokome. Dukart spustelėkite Vienybės piktogramą, pasirodys toks langas:

Įveskite projekto pavadinimas, pasirinkite darbo vietą Vieta tada pasirinkite projekto tipą - 2D arba 3D. Spustelėkite Sukurti projektą.

Pagal numatytuosius nustatymus matysite sceną be pavadinimo, kurioje yra pagrindinė kamera ir kryptinė šviesa. Pradėkime kurti aplinką.

Pastato aplinka

Pirmiausia sukurkite plokštumą spustelėdami Kurti -> 3D objektas tada pasirinkite Lėktuvas. Arba galite sukurti jį spustelėdami „GameObject“ -> žaidimo objektas tada pasirinkite Lėktuvas. Eikite į hierarchijos langą ir spustelėkite lėktuvo žaidimo objektą. Dabar eikite į inspektoriaus langą ir pervadinkite jį kaip Žemė. Dabar pakoreguokite transformacijos vertes taip, kad ši plokštuma atrodytų lygus kelias. Tiesiog skalę X nustatykite iki 6, o Z - iki 50. Čia yra vaizdas, kaip jis atrodo

Dabar atsisiųskite kelio faktūrą ir pritaikykite ją ant žemės objekto. Sukurkite aplanko pavadinimą kaip „Texture“. Vilkite atsisiųstą kelio faktūrą į „Texture“ aplanką. Dabar pasirinkite Žemė ir vilkite kelio faktūrą scenos vaizde. Čia yra vaizdas, kaip jis atrodo

Tai tekstūra, kurią atsisiunčiau

Užtepę ant žemės tekstūrą, spustelėkite ant žemės ir nustatykite plyteles inspektoriaus lange. Štai kaip aš tai nustatiau.

Dabar jūs sukūrėte kelio modelį, sukurkime rutulio modelį vieningai.

Eiti į Kurti -> 3D objektas tada pasirinkite Sfera, scenos lange pamatysite sferos objektą. Pasirinkite jį ir eikite į inspektoriaus langą, kad jį pervardytumėte kaip Kamuolys. Dabar atitinkamai pakoreguokite transformacijos vertes. Tiesiog sumažinkite jį iki 5 išilgai visų trijų ašių ir pakeiskite jį į kelio vidurį. Štai kaip tai atrodo

Dabar sukurkite tvorą ar sieną aplink kelią.

Eiti į Kurti -> 3D objektas tada pasirinkite kubas. Pasirinkite jį ir pervardykite į Siena1. Eikite į inspektoriaus langą ir nustatykite transformacijos vertes taip, kad ji atrodytų kaip siena aplink kelią. Štai kaip tai atrodo:

Peržiūrėkite šias transformacijos reikšmes Siena1. Mastelis Y iki 6 ir Z iki 500. Tada sureguliuokite jo padėtį taip, kad ji būtų kelio kampuose.

Dabar ieškokite sienos tekstūros, atsisiųskite ją ir nukopijuokite į Tekstūra aplanką ištekliuose. Scenos lange vilkite sienos tekstūrą į sieną. Sureguliuokite žemės dirbimą taip, kad jis atrodytų gražiai ir lygiai. Aš paklojau plyteles kaip X į 50, o Y - 1.5. Pakoregavus plyteles taip atrodo

Tai tekstūra, kurią naudojau sienai

Mes sukūrėme sieną vienai kelio pusei. Dabar darykite tą patį ir kitoje kelio pusėje. Užuot praėję visą procesą, galime tiesiog nukopijuoti Siena1 ir pervardyti į Siena2.

Pasirinkite Siena1 hierarchijos lange, tada dešiniuoju pelės mygtuku spustelėkite ir pasirinkite Dublikatas variantą. Tai sukurs kitą žaidimo objektą, kurio dydis ir transformacijos vertės bus vienodi. Spustelėkite Siena1 (1) ir pervardyti į Siena2. Dabar nustatykite padėtį taip, kad ji atsidurtų kitame kelio kampe.

Žiūrėkite šį paveikslėlį, kaip atrodo puiku

Mano „Wall2“ pozicijos vertės yra nuo X iki –29.6 Y iki 2.6 ir Z iki 2.6.

Dabar sukurkite medžiagą Kamuolys. Eikite į projekto langą ir sukurkite aplanką dešiniuoju pelės klavišu spustelėdami pelę, tada pasirinkite Aplankas. Pavadinkite jį taip Medžiagos. Vėl spustelėkite dešinį pelės klavišą ir sukurkite medžiagą. Pavadinkite jį taip redBall. Inspektoriaus lange pasirinkite medžiagos spalvą. Eiti į Pagrindiniai žemėlapiai ir pasirinkite „Albedo“ spalvą iki raudonos. Padidinkite metalinę tekstūrą slinkdami juostą į dešinę. Vilkite šią medžiagą į Kamuolys scenos vaizde. Štai kaip tai atrodo

Štai kaip atrodo medžiaga:

Taigi mes baigėme savo aplinkos plėtrą. Dabar laikas atlikti kodavimą. Tam turime sukurti scenarijų.

Scenarijų kūrimas „Vienybėje“

Norėdami įdiegti savo žaidimo ypatybes ir kontroliuoti žaidimo, kurį „Unity“ teikia kaip scenarijaus mechanizmą, elgesį. Galite parašyti savo scenarijų norimam žaidimo rezultatui. Naudodami šiuos scenarijus galite suaktyvinti žaidimo įvykius, pakeisti komponento ypatybes ir atsakyti į vartotojo įvestis. Iš esmės „Unity“ scenarijaus tikslais palaiko dvi skirtingas programavimo kalbas, viena yra C #, kita - „JavaScript“. Išskyrus šias dvi kalbas, daug kitų .NET kalbos taip pat gali būti naudojamos su „Unity“. Scenarijai „Unity“ yra žinomi kaip elgesio komponentas.

Scenarijaus kūrimas

Pradėkime kurti „Unity“ scenarijų. Tam eikite į išteklių langą ir sukurkite naują aplanką pavadinimu Scenarijai (galite praleisti kurdami naujus aplankus kiekvienam naujo tipo turtui, bet jo gera praktika tvarkyti dalykus). Štai kaip dabar atrodo mano turto langas:

Dabar atidarykite Scenarijai aplanką, dešiniuoju pelės mygtuku spustelėkite, tada eikite į Kurti ir pasirinkite C # scenarijus. Pervardykite scenarijų į Judėjimas. Mes kuriame šį scenarijų norėdami judėti ir ridenti kamuolį kelyje. Kol kas kamuolys stovi, nieko neveikia, sukurkime jame judesį.

Dukart spustelėkite judėjimo scenarijų, kurį jis atidarys „Mono Develop“. Jei scenarijus yra monofoninis, pamatysite tokį iš anksto parašytą kodą

naudojant sistemą.Kolekcijos; naudojant sistemą.Kolekcijos.Bendrasis; naudojant „UnityEngine“; viešoji klasė „MovementScript“: „MonoBehaviour“ // Naudokite tai inicializavimui void Start ()  // Atnaujinimas iškviečiamas kartą per kadrą negaliojantis „Update“ ()  

Galite pamatyti dvi funkcijas Pradėti () ir Atnaujinti ().

Pradžia (): Pradėti funkcija naudojama kintamiesiems ir objektams inicijuoti. Jis iškviečiamas tik vieną kartą, kai scenarijus įgalinamas prieš pat iškviečiant kitas atnaujinimo funkcijas.

Atnaujinti (): Tai monofoninė elgesio funkcija, ji iškviečiama vieną kartą kiekviename kadre.

Išskyrus šias dvi, yra daugybė kitų vienspalvių elgesio funkcijų, pvz., „Budėti“ (), „FixUpdate“ (), „lateUpdate“ () ir kt.

Norėdami judėti rutuliu kelyje, pirmiausia turite padaryti jį kietu kūnu (tai idealus tvirtas kūnas, kuriame deformacijos nepaisoma). Pasirinkite Kamuolys hierarchijos lange ir spustelėkite Pridėti komponentą mygtukas inspektoriaus lange. Įveskite standų korpusą ir paspauskite Įveskite. Tvirtas kūnas bus pritvirtintas prie Kamuolys. Dabar eikite į scenarijų ir sukurkite privatų tipo kintamąjį Tvirtas kūnas. Dabar priskirkite standų rutulio kūną šiam kintamajam, kurį ką tik sukūrėte scenarijuje.

privatus „Rigidbody rb“; rb = „GetComponent“ (); 

Dabar parašykite šiek tiek šio standaus kūno judėjimo kodą. Kokia idėja? Kamuolys turėtų judėti, kai paspaudžiu rodyklių klavišus. Jis turėtų judėti į priekį, kai paspaudžiamas aukštyn klavišas, atgal, kai paspaudžiamas žemyn klavišas ir pan.

Taigi įvestis iš klaviatūros, kaip turėčiau gauti šią įvestį? „Unity“ įvesties klasė turi funkcijos pavadinimą „GetAxis“ (), grąžina virtualios ašies, identifikuojamos pagal ašies pavadinimą, vertę. Sukurkite du kintamuosius, vieną x ašiai ir vieną y ašiai įvesti. Štai kaip turėtų būti

float moveHorizontal = Įvestis.„GetAxis“ („Horizontalus“); 

Dabar sukurkite „Vector3“ kintamąjį, kad gautumėte judėjimo vertes.

„Vector3“ judėjimas = naujas „Vector3“ (moveHorizontal, 0.0f, moveVerticle); 

Pirmasis parametras yra x ašies vertė, antrasis yra y ašies vertė, o trečiasis yra z ašies vertė. Kadangi rutulys nejudės y ašies kryptimi, priskirkite jam nulį. Galiausiai pridėkite šį judesį prie standaus kūno ir padauginkite iš pastovaus greičio skaičiaus arba sukurkite kitą greičio kintamąjį. Žiūrėkite visą kodą žemiau

naudojant sistemą.Kolekcijos; naudojant sistemą.Kolekcijos.Bendrasis; naudojant „UnityEngine“; visuomenės klasė Judėjimas: vienareikšmis elgesys visuomenės plūduriavimo greitis; privatus „Rigidbody rb“; // Naudokite tai inicializavimui void Start () rb = GetComponent ();  // Fiksuotas naujinimas iškviečiamas po fiksuoto kadro skaičiaus negaliojantis FixedUpdate () float moveHorizontal = Input.„GetAxis“ („Horizontalus“); float moveVerticle = Įvestis.„GetAxis“ („Horizontalus“); Vector3 judėjimas = naujas Vector3 (-1 * moveHorizontal, 0.0f, -1 * moveVerticle); rb.„AddForce“ (judėjimas * greitis);  

Kadangi greitis yra viešasis kintamasis, inspektoriaus lange galite priskirti vertę. Pritvirtinkite šį scenarijų prie kamuolio, tempdami jį į inspektoriaus langą arba paspausdami Pridėti komponentą mygtuką. Paspauskite atkūrimo mygtuką ir patikrinkite, ar koduojamas rutulys, ar ne.

Fotoaparato nustatymas

Paskutinis dalykas, kurį pastebėsite, yra paspaudus į priekį mygtuką ir kamuolys pradėjęs judėti, jis išeina iš fotoaparato, kai kamera stovi. Ką turėtume daryti? Mes taip pat turėtume perkelti fotoaparatą? Taip, tai paprasčiausias dalykas. Padarykite kamerą vaiko rutuliu, vilkdami pagrindinę kamerą prie kamuolio.

Išvada

Tai buvo pagrindinė įvadinė pamoka, kurioje išmokote daug įdomių funkcijų, aplinkos kūrimo ir scenarijų kūrimo „Unity“. Nedvejokite, pradėkite kurti savo pirmąjį žaidimą su „Unity“ jau šiandien ir mėgaukitės!

„Microsoft Sculpt Touch“ belaidžio pelės apžvalga
Neseniai skaičiau apie „Microsoft Sculpt Touch“ belaidę pelę ir nusprendė ją nusipirkti. Kurį laiką naudojęs, nusprendžiau pasidalinti savo patirtimi....
„AppyMouse“ ekrano „Trackpad“ ir pelės žymeklis, skirtas „Windows“ tabletėms
Planšetinių kompiuterių vartotojai dažnai praleidžia pelės žymeklį, ypač kai įprasta naudoti nešiojamus kompiuterius. Jutiklinio ekrano išmanieji tele...
Vidutinis pelės mygtukas neveikia sistemoje „Windows 10“
The vidurinis pelės mygtukas padeda naršyti ilgus tinklalapius ir ekranus, kuriuose yra daug duomenų. Jei tai sustos, gerai, jūs naudosite klaviatūrą ...