skabe en basketball frikast spil med enhed

, skabe en basketball frikast spil med enhed,,,,, 53,,,,,,,,, 8,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss.,,,,, hvad du vil lave,,, indførsel, i denne forelæsning, vil du lære at skabe en mobil 3d - spil med c -&#og enhed.målet med spillet er at score så mange punkter som muligt.du vil lære følgende aspekter af enhed spil udvikling:,,, at oprette en 3d - projektet i enhed, gennemførelse af tap kontrol, ved at integrere fysik, skabe prefabs,,,, 1.oprettelse af en ny enhed projekt, åbne enhed og udvælge, nye projekt, fra  , fil menuen til   åbnes nye projekt dialog.fortæl enhed, hvor du vil redde projektet og fastsætte,  , nedsat misligholdelser for:,   menu, 3d,.,,,,,, 2.bygge kulisser, i løbet af de næste skridt, du er forelagt enhed brugergrænseflade.sat projektet op til mobile udvikling ved at vælge at bygge kulisser, fra  , fil menuen   og vælge deres foretrukne platform.jeg har valgt androide for denne forelæsning.,,,,,, 3.   anordninger, den første ting, vi skal gøre, når udvælgelsen af den platform, vi er ude efter, er at vælge den størrelse af kunstværker, som vi kan bruge i kamp.jeg har nævnt de vigtigste udstyr til hver platform under og omfattede anordning er skærmopløsning og ppi.,, 105, ipad:, 1024px x 768px, ipad nethinden:, 2048px x 1536px, 3,5 "iphone /ipod touch:, 320px x 480px, 3,5" iphone /ipod nethinde:, 960px x 640px,, 4 "iphone /ipod touch:, 1136px x 640px, androide, fordi androide er en åben platform, der er mange forskellige anordninger, skærmopløsninger og pixel tæthed.nogle af de mere almindelige, er anført nedenfor.,,, asus nexus 7 tabletter:, 800px x 1280px, 216ppi, motorola - x:, 854px x 480px, 228ppi, samsung galakse s3:, 720px x 1280px, 306ppi, vinduer, telefon, nokia lumia 520,: 400px x 800px, 233ppi, nokia lumia 1520,: 1080px x 1920px, 367ppi, brombær,,, brombær, z10,: 720px x 1280px, 355ppi, huske på, at den kode, der er anvendt til denne lektion kan bruges til at målrette nogen af ovennævnte platforme.,,, 4.eksport -,,,,,, afhængigt af det udstyr, du er ude, kan det være nødvendigt at ændre den kunst til kampen for den anbefalede størrelse og beslutning.du kan gøre det her i din yndlings billede redaktør.  , jeg har brugt  , tilpasse størrelse, fungerer under, værktøj, menu i os x er forpremiere anvendelse.,,, 5.enhed brugergrænseflade,,,,,, før vi starter, sikre, at tryk, 3d, knap i scene, panel.du kan også ændre den beslutning, der er blevet udvist i kampen, panel.,,, 6.spil grænseflade,,,,, grænsefladen for vores spil, ville være ligetil.ovennævnte skærmbillede giver en idé om kunst, vi vil bruge, og hvordan det er interface vil ende med at se.du kan finde yderligere ressourcer i kunst og kilden filer af denne forelæsning.,,, 7.   programmeringssprog, du kan bruge en af tre programmeringssprog, når de bruger enhed, c #,, unityscript,,   en variation af javascript, bøh.hver programmeringssprog har sine fordele og ulemper, og det er op til dem at afgøre, hvilken en du vil.min personlige præference går til c&#programmeringssprog, så det er det sprog, jeg vil bruge denne forelæsning.,, hvis du beslutter at anvende en anden programmeringssprog, så sørg for at tage et kig på enhed er manuskript henvisning til eksempler.,,, 8.lydeffekter, bruger jeg en række lyder til at forbedre audial erfaring med spillet.de gode virkninger, der anvendes i denne forelæsning blev indhentet fra as3sfxr   og   soungle.,,, 9.3d - modeller, til at skabe vores kamp, vi er nødt til at få vores 3d - modeller.jeg anbefaler, 3docean af høj kvalitet, modeller, mønstre og mere, - - men hvis du tester eller lærer stadig så fri modeller kan være et godt sted at starte,.,, modeller i denne forelæsning blev overført fra sketchup 3d, lager, hvor du kan finde en god forskellige modeller af enhver art.,, fordi enhed ikke genkender de sketchup filformat, er vi nødt til at ændre sketchup filer til et filformat enhed kan importere.start med at downloade gratis version af    sketchup,   sketchup.,,,,, åben din 3d model i sketchup gøre og udvælge, export > 3d model fra, fil menuen   og vælge  , collada (*. dae), fra listen over muligheder.,,,, vælge et navn, udvælge en fortegnelse, og klik  , eksport.en fil og en mappe med 3d model vil blive skabt.databasen indeholder 3d - objekt, data og mappen de mønstre, der anvendes af modellen.du kan nu importerer den model til enhed, som forklaret i den næste skridt.,,, 10.de aktiver,,,,,,, før vi starter kodning, er vi nødt til at tilføje vores aktiver til de europæiske projekt.du kan gøre dette på flere måder:,,, udvælge, indføre nye aktiv, som fra  , aktiver,   menu, tilføje punkter til aktiver folder med dit projekt.,, trække og smid aktiver i projektet vindue.,,, efter afslutningen af dette skridt, bør du se aktiver i dit projekt er aktiver, folder i projekt  , panel.,,, 11.skabe en scene, vi er klar til at skabe en scene for vores spil, ved at genstande til, hierarki, eller  , scene, panel.,,,,,, 12.2d baggrund,,,,,, så vi dropper baggrund i, hierarki, panel.det vil automatisk blive optaget i scene, panel.   justere, transformere, værdier i den inspektør, som vist i den næste skærmbillede.,,,,,, 13.-,,,,,, at målet med spillet er at kaste bolden i nettet.   trække det fra, aktiver, panel til, scene, og ændre sin, transformere, egenskaber, som vist i nedenstående skærmbillede.,,,,,, 14.lys,,,,, som du har bemærket, basketball kurven er lidt for mørkt.at ordne det, vi er nødt til at tilføje en, lys, vores scene.   gå til, gameobject > skabe andre og udvælge, direkte lys.dette vil skabe en genstand, der vil give en stråle af lys.ændre, forandre, værdier, som er angivet i den næste skærmbillede, så det får basketballnet.,,,,,, 15.hoop accelerator, med basketball kurven ordentligt oplyst, det er tid til at tilføje en accelerator så bolden ikke gå igennem, når det rammer det hvide område.,, tryk, tilføje komponent, knap i, inspektør, panel, udvælge, fysik > rubrik accelerator, og ændre dens værdier, som er anført i den næste skærmbillede.,,,,, du vil se en grøn grænse omkring basketball kurven i scene, panel, der repræsenterer den kasse collider vi tilføjede,.,,,,,, 16.hop fysik materiale, hvis vi skulle kaste en bold i basketball kurven, ville det være stoppet ved kassen accelerator, men det ville stoppe uden farer, som du ville forvente det i den virkelige verden.for at råde bod på det, vi har brug for en, fysik materiale,.,,, efter at udvælge, skabe > fysik materiale fra  , aktiver, menu,,  , du bør se det anføres i, aktiver, panel.jeg skiftede navn til, bouncematerial,.,,,,, ændre dens egenskaber i, inspektør, panel til at matche dem i dette under skærmbillede.,,,,, så vælg rubrik collider af basketball kurven og klik på den lille prik til højre for det materiale, tekst, en vinduet skal anføres, hvor man kan udvælge, fysik materiale.,,, 17.kurv accelerator, vil vi bruge en anden collider at afsløre, når bolden passerer gennem nettet.dette bør være en udløser accelerator for at sikre, at den ved kollisionen uden kontakt med de fysiske krop.,, skabe en ny accelerator for hoop som vist i trin 15 og ajourføre sine værdier, som er anført i den næste skærmbillede.,,,,, vil dette sted den collider under ringen, hvor bolden kan ikke gå op igen, hvilket betyder, at en kurv, har fundet sted.sørg for at checke, udløser afkrydsningsfelt at mærke den som en udløser collider.,,,,,, 18.ring maskestørrelse accelerator, tid til at tilføje en accelerator til ringen.fordi vi skal have bolden til at passere gennem midten af ringen, kan vi ikke have et område eller rubrik accelerator, vi bruger, en accelerator,.,,, en accelerator, giver os mulighed for at anvende den form for 3d - objekt som en accelerator.som dokumentation, en accelerator bygger sin kollision repræsentation fra de masker, der er knyttet til gameobject., udvælge, hvilke bånd fra, hierarki, panel, klik på trekanten på sin venstre til at udvide sin hierarki, udvide group_17, og vælge det element, der hedder  , ring,.,,,,, og der tilsættes en accelerator, som vi så i trin 15, men sørg for, at   udvælge masker accelerator.enhed vil da automatisk afsløre form af den model og skabe en accelerator for det.,,,,,, 19.- lyder, at spille en lyd, når bolden rammer de bånd, vi er nødt til at lægge det.vælg det fra, hierarki eller scene, baggrund, tryk, tilføje komponent, knap i, inspektør, panel, og udvælge, audio - kilde  , i  , lyd, pkt.,,,,, uncheck, spille på vågen,   og klik på den lille prik på lige under udstyret ikon, at vælge den lyd, du vil spille.,,, 20.bold, lad os fokusere på basketball.trække det fra, aktiver, servietter og placere det i stedet.du skal ikke bekymre dig om bolden holdning nu, fordi vi vil omdanne det til et, præfabrikerede,   senere.,,,,, at bolden skal afsløre, når det rammer de bånd, vi er nødt til at tilføje et element, et område accelerator, for at være præcis.   udvælge bolden i stedet. åben den, inspektør, panel, og klik, tilføje komponent.fra den liste over komponenter, udvælge   område accelerator, fra  , fysik  , afsnit og ajourføre sine egenskaber som vist nedenfor.,,,,,, 21.bolden rigidbody, til påvisning af en kollision med bolden, og mindst én af de kolliderende genstande, skal have en, rigidbody, en komponent, der er knyttet til det.at tilføje en til bolden, udvælge, tilføje komponent i den inspektør, panel, og vælger fysik >, rigidbody,.,,,,, forlade indstillinger på deres misligholdelser og slæbe bolden fra, hierarki, panel til, aktiver,   panel til at omdanne det til et, præfabrikerede,.,,, 22.hoop sprite, til at repræsentere den kurve, der er sket i spiller, vi bruger en 2d version af basketball kurven.trække det fra aktiver panel og på stedet, som vist nedenfor.,,,,,, 23.   score tekst under 2d - ring, vi viser antallet af kurve spilleren har haft hidtil.   udvælge, gameobject > skabe andre > gui tekst for at skabe en tekst objekt, læg det på bunden af basketball kurven, og ændre teksten i, hierarki, panel, 0,.,,,,, du kan sætte skik skrifttype ved at importere det i, aktiver, mappe og ændre den, skrifttype, ejendom i teksten i den, -.,, 24.kraft meter, kraft - meter er en bar, som vil vise den kraft, der anvendes til at skyde bolden.dette vil tilføje et nyt niveau af vanskeligheder for den kamp.   trække ånderne for kraft meter fra, aktiver, panel til, scene, og placere dem som vist i skærmbillede nedenfor.,,,,,, 25.bold sprite, har vi også tilføje en indikator for den grænseflade, der viser, hvor mange skud spilleren har forladt.for at fuldende dette skridt, følger samme skridt, vi plejede at vise deres aktuelle score.,,,,,, 26.kurv, manuskript, nu er det tid til at skrive en kode.   første manuskript, som vi vil skabe, er den kurv, manuskript, der kontrollerer, om bolden passerer gennem ringen eller rammer bestyrelsen.,, udvælge de bånd og klik, tilføje komponent, knap i, inspektør, panel.vælg, nyt manuskript, og navnet på det, kurv.glem ikke at skifte sprog, c #.   åbne den nyoprettede fil og tilføje følgende kode snippet., ved hjælp af unityengine; anvendelse af systemet. samlinger offentlige klasse kurv: monobehaviour {offentlige gameobject score; //henvisning til scoretext gameobject, fastsat i redaktør offentlige audioclip kurv; //henvisning til kurv, lyder tomrum oncollisionenter() //hvis bolden board (lyd. play(); //spiller ramte bord lyder} tomrum ontriggerenter() //hvis bolden kurv collider (int currentscore = int.parse (score. getcomponent(). tekst) + 1 /add 1 for at score point. getcomponent(). tekst = currentscore. tostring(); audiosource. playclipatpoint (kurv, transform. stilling).//spille basket lyder}}, i manuskriptet, vi sætter to offentlige variabler, der repræsenterer genstande på scene, og i  , aktiver, mappe.gå tilbage til din redaktør, og klik på den lille prik på lige over variabler til at udvælge de værdier, der er beskrevet i de bemærkninger,.,,,,, spiller vi en lyd, når bolden rammer basketball kurven og kontrollere, om bolden passerer gennem ringen.det, analysere,   metode vil gøre teksten fra, gui tekst, kamp mod en   nummer, så vi kan forøgelse af stillingen og læg den så igen som tekst, tostring,.til sidst, vi spiller, kurv, lyd.,, 27.skyd manuskript, skyd, klasse klarer resten af spillet interaktion.vi vil bryde manuskriptet er indholdet ned for at gøre det lettere at fordøje.,, start ved at vælge det kamera, og tryk, tilføje komponent, knap i, inspektør, panel.vælg, nyt manuskript, og navnet på det, skyde,.,, 28.   variabler, i den næste kode snippet, jeg har nævnt de variabler, som vi kan bruge.læste bemærkningerne i kode snippet til præcisering., ved hjælp af unityengine; anvendelse af systemet. samlinger offentlige klasse skyde: monobehaviour {offentlige gameobject bold; //reference til bolden præfabrikerede, fastsat i redaktør private vector3 throwspeed = nye vector3 (0, 26, 40); //denne værdi er en sikker scoring. vi skal ændre dette ved hjælp af forcemeter offentlige vector3 ballpos; //start bolden holdning private bool smidt = falske; //hvis bold er blevet kastet, forhindrer 2 eller flere kugler private gameobject ballclone; //vi bruger ikke den oprindelige præfabrikerede offentlige gameobject availableshotsgo; //scoretext kamp imod reference private int availableshots = 5. offentlige gameobject meter; //henvisninger til kraft - offentligegameobject pil; private flyde arrowspeed = 0.3f; //vanskeligheder, højere værdi = hurtigere pil bevægelighed private bool ret = sandt; //plejede at revers pil bevægelighed offentlige gameobject gameover; //game over tekst,,, 29.øge tyngdekraft, vi skaber, start, metode, der indeholder tyngdekraft, - 20, at kuglen falde hurtigere.,, ugyldige start() {* øge tyngdekraft * /physics.gravity = nye vector3 (0 - 20, 0)), 30.kraft meter opførsel, for at håndtere interaktioner med fysik motor, vi gennemfører, fixedupdate,   metode.forskellen mellem denne metode og den regelmæssige ajourføring,   metode er, at fixedupdate,   er baseret på fysiske foranstaltninger i stedet for hvert ramme, som vil kunne skabe problemer, hvis anordningen er langsom på grund af mangel på hukommelse, f.eks.,,, fixedupdate, metode, vi flytte pilen i kraft m ved hjælp af  , ikke   variable at afsløre, når at vende den pil er bevægelighed.,, ugyldige fixedupdate() {* flytte meter pil * /hvis (pil. ændre holdning. x < 4.7f & & højre) (arrow.transform.position + = nye vector3 (arrowspeed, 0, 0);} hvis (pil. ændre holdning. x > = 4.7f) {ret = falske} hvis (= = falske)(arrow.transform.position - = nye vector3 (arrowspeed, 0, 0)} hvis (pil. ændre holdning. x < = - 4.7f) {ret = sandt.}, 31.skyd bolden, basketball er kastet, når de spiller haner skærmen.når det bliver aflyttet, vi først undersøge, om der er en bold i luften, og hvis aktør har billeder, der er til rådighed.hvis disse betingelser er opfyldt, vi ajourfører de værdier, skabe nye tilfælde af bolden, og smide det med, addforce,   metode.,, /* skyde bold på tap * /hvis (input. getbutton ("fire1") & &!smidt & & availableshots > 0) (smidt = sandt. availableshots...; availableshotsgo. getcomponent(). tekst = availableshots. tostring(); ballclone = instantiate (kugle -, ballpos, transform. skift), som gameobject; throwspeed. y = throwspeed. y + pil. ændre holdning. x; throwspeed. z = throwspeed. z + pil. ændre holdning. x; ballclone. rigidbody. addforce (throwspeed, forcemode. gang); lyd. play(); //spille skyde lyder}, 32.tag bolden, i følgende kode blok, vi teste, om bolden, når ordet og fjerne, når det sker.vi er også forberede den næste kast af nulstilling af variabler,.,, /* fjerner bolden, når det rammer gulvet * /hvis (ballclone!= null & & ballclone. ændre holdning. y < - 16) {ødelægge (ballclone); smidt = falske throwspeed = nye vector3 (0, 26, 40); //nulstille perfekt skudt variabel, 33.se, der er til rådighed, skud, efter fjernelse af bolden, vi kontrollerer, at de spiller skud tilbage.hvis det ikke er tilfældet, så vil vi ende kampen og kalder   genoptage,.,, /* tjekke ud af skud * /hvis (availableshots = = 0) (arrow.renderer.enabled = falske instantiate (gameover, nye vector3 (0.31f, 0.2f, 0), transform. skift); påberåbe sig ("genstart", 2)}}}, 34.  , derefter, genoptage,   metode er to sekunder efter spiller løber tør for skud, genoptagelse af kampen, med henvisning til, loadlevel,.,, ugyldige restart() {anvendelse. loadlevel (ansøgning. loadedlevel)}}, 35.testning, det er tid til at teste de spil.presse, command-p, at spille spillet i enhed.hvis alt fungerer som forventet, så er du klar til det sidste skridt,.,,, 36.spiller indstillinger, når du er tilfreds med dit spil, det er tid til at vælge, bygge kulisser, fra  , fil   menuen og klik, spiller indstillinger, button.det skulle bringe den  , spiller indstillinger,   i  , inspektør,   panel, hvor man kan opstille kriterier for deres ansøgning.,,,,, indstillingerne er anvendelse og omfatte skaberen eller selskab anvendelse beslutning og billedformat, at mode, anordning kompatibilitet osv. de indstillinger, vil variere afhængigt af platformen og udstyr ansøgningen er rettet mod, og holder også kravene i butikken du udgiver i tankerne.,,, 37.ikoner og plasker, billeder, ved hjælp af kunst, du lavede før, du kan skabe en god ikon, og en lidt billede på dit spil.enhed viser den nødvendige størrelse, som afhænger af den platform, du bygger,.,, 38.bygge - og spille,,,,,,, når projektet er korrekt konfigureret, det er tid til at gennemgå de bygge kulisser, og tryk, bygge, button.det er alt det, der skal til for at skabe dit spil for afprøvning og /eller distribution.,, konklusion i denne forelæsning, vi har lært om 3d - modeller, trådnet, colliders, fysik materialer, kollision påvisning og andre aspekter af enhed spil udvikling.jeg opfordrer dig til at eksperimentere med resultatet og vælge, kampen for at gøre det alene.jeg håber, du kan lide det   forelæsning, og fandt det nyttigt.

Final product image




































Previous:
Next Page: