Enhet er blitt mer og mer populært blant aspirerende spillprogrammerere. Dette skyldes at Unity direkte støtter en rekke plattformer som mobil-, skrivebords- og konsollmiljøer. Videre er det gratis å bruke for lavere inntektsutviklere eller studioer.
Enhet støtter flere teknologier og komponenter. Noen av hovedkomponentene er belysnings- og belysningsteknikker. I Enhet kan du belyse en scene ved å simulere lysets komplekse oppførsel eller ved å bruke en enkel belysningsmodell.
Denne opplæringen vil fokusere på å forklare hvordan belysning virker i Unity 5, belysningstyper og egenskaper, og hvordan du bruker dem til å skape rikt belysningseffekter.
Først må du sørge for at du har den nyeste versjonen av Unity. I denne opplæringen bruker vi versjon 5.5.0f3. Pass på at du bruker den nyeste Unity-versjonen; ellers kan du ha problemer med å følge opplæringen og bruke fysikkleddene.
Deretter laster du ned LightingInUnity5-Starter fil. Unzip og åpne prosjektet i Unity. Demo scenen skal åpnes automatisk, men hvis ikke, kan du åpne den fra Eiendeler mappe.
I et virkelige scenario har du to typer lyseffekter: direkte og indirekte belysning. Direkte belysning, som navnet antyder, er lys som kommer direkte fra en lyskilde (en lampe, solen eller et annet). På den annen side er indirekte belysning lys som kommer fra et annet objekt.
La oss teste og implementere begge.
Direkte belysning kan allerede sees i handlingen i din scene. Som du sikkert har lagt merke til, har du retningslys i scenen som heter Retningslys.
Retningslys brukes hovedsakelig i utendørs scener til sol og måneskinn. De påvirker alle overflater av objektene i scenen. De er også minst kostbare for grafikkprosessoren.
Du kan velge Retningslys og se egenskapene i Inspektør ruten. Du vil legge merke til flere interessante egenskaper som Type, Farge, og Intensitet. Du kan leke med Farge og rotasjon egenskaper og se resultatet i sanntid. Ved å endre disse verdiene spiller du direkte med retningslys.
I øyeblikket har 3D-scenen ikke noe indirekte lys. Du kan sjekke det ved å flytte Sphere nærmere den grønne eller røde veggen. De Sphere fargen endres ikke.
En måte å bruke indirekte belysning på er å bruke statiske GameObjects. Husk at bruk av statiske spillobjekter kan forbedre ytelsen til spillutgivelsen, men vil også redusere kvaliteten, så du må finne den rette balansen for spillet ditt.
Legg til en boks maske boks i din scene (GameObject > 3D-objekt > Cube), og plasser den ved siden av sfæren. Navngi det Cube.
Velg Cube, og inne i Inspektør aktivere statisk eiendom.
Når du aktiverer statisk eiendom, oppretter Unity automatisk et lyskart for objektet og bruker den riktige belysningsmodellen. Du kan nå bevege kameraet mot Cube og se den indirekte belysningsarbeidet. Den grønne (i bildet) eller den røde fargen sprer seg nå inn i Cube.
Hvis du endrer retningen til Retningslys, Du vil legge merke til at Unity automatisk oppdaterer lyskortene også.
Den indirekte belysningen som blir brukt til Cube brukes ikke på Sphere fordi det Sphere er ikke statisk. Du kan løse dette ved å lage Sphere statisk (Inspektør > statisk).
For øyeblikket kan du legge til og konfigurere direkte og indirekte belysning til statiske objekter. Imidlertid er 3D-scener sammensatt av dynamiske objekter. Derfor, hvordan kan vi bruke slike effekter på disse objektene? Det spørsmålet fører oss til neste avsnitt.
Når scenen din inneholder ikke-statiske objekter, må du bruke spesifikke belysningsteknikker til å belyse dem riktig slik at de ikke ser frakoblet fra scenen.
Gjennom bruk av lysprober og deres posisjoner kan du prøve strategiske punkter i scenen. Hver lyssonde kan prøve en bestemt region og deretter beregne belysningen i den bestemte regionen. Disse beregningene er raske nok til å bli brukt under gameplay. Bruken av lysprober unngår at alle sammenkoblinger mellom belysning av bevegelige objekter og statiske lysmoblede objekter i scenen unngås.
De Sphere er derfor et dynamisk objekt, og i motsetning til hva det kan virke, er det ikke riktig opplyst. Hvis du slår på Retningslys av, vil du legge merke til at den eneste belysningen påvirker Sphere er det omgivende lyset. For å lyse opp riktig Sphere, du må bruke lysprober.
For å legge til lysprober til et område av din scene, går du til Komponent> Rendering> Light Probe Group. Dette vil skape en lyssondegruppe i din scene.
Det neste trinnet er å sette gruppens prober i riktig posisjon. Du vil nå plassere dem i nærheten av hvert hjørne av Eske.
Den beste måten å gjøre dette på er å bytte til en ortografisk se (ved å klikke på terningen i øvre høyre hjørne av scenen). Deretter velger du hver lyssondeknute og drar den inn i hver Eske hjørne (ligner på neste bilde).
Gjenta prosessen til du har plassert alle knuter.
Det er scener som krever flere sonder for korrekt belysning av objekter. For å legge til flere sonder kan du velge en probe og deretter under Inspektør, Klikk på Dupliser valgt knapp.
Etter duplisering må du plassere den nye noden på riktig sted (den dupliserte en vil gyte i samme posisjon som den valgte).
Hvis du ser nærmere på grensesnittet i Inspektør, du vil legge merke til at du også kan legge til individuelle prober (Legg til Probe), slett probes (Slett valgte), eller velg alle probene fra gruppen (Velg alle).
For å se lysprober i aksjon, velg Sphere og legg til en Stiv kropp til det (Legg til Komponent> Stiv kropp). Deretter tilordne et materiale til collider. Du kan bruke gummimaterialet.
Legg nå Sphere nær toppen av Eske og trykk Spille. Du kan nå se riktig belysning av Sphere. For å se forskjellene, deaktiver lysprober og Spille scenen igjen.
Punktlys er det vanligste lyset i spill. De brukes vanligvis til eksplosjoner og lyspærer. Siden de gir lys i alle retninger, har de en gjennomsnittlig kostnad på grafikkprosessoren. Det er imidlertid dyrere å beregne skygger ved bruk av punktlys.
Legg til et punktlys ved å velge GameObject> Light> Point Light. Deretter plasserer du Punktlampe inne i Eske nær toppen.
Velg Punktlampe og ta en titt på parameterne i Inspektør.
Den første parameteren er Type. Her kan du angi hvilken type lys du vil bruke. Du kan enten velge Sted, retnings~~POS=TRUNC, Punkt, eller Område. Hver gir en spesiell lyseffekt. Du kan velge noen av alternativene og se resultatene i sanntid. Men for denne opplæringen vil du bruke Punkt alternativ. Dette vil skape en lyspæreffekt (lys skinner i alle retninger likt).
Den andre parameteren er baking. Du kan sette den til Realtime, bakt, eller blandet. La verdien være som standard. De Område parameteren definerer hvor langt lyset sendes ut fra midten av Punktlampe. De Farge parameteren definerer den utstrålede lysfargen.
Intensitet definerer lysets lysstyrke og Bounce Intensity definerer den indirekte lysintensitetsmultiplikatoren. De Skyggetype definerer skyggeegenskapene og skyggetyper. Du kan enten sette den til Ingen skygger, Harde skygger, eller Myke skygger. Husk at punktlysskygger er de dyreste for motoren, så vær forsiktig når du velger dette alternativet.
Hvis du velger Harde skygger eller Myke skygger, Du vil se skyggen produsert av Sphere og Punktlampe. Når du endrer Styrke verdi, vil skyggen også dempe eller fremheve. De Vedtak lar deg definere detaljnivået i skyggene. Endelig, Partiskhet og normal Bias la deg konfigurere kompensasjonen som brukes når du sammenligner pikselposisjonen i lys mellomrom med verdien fra skygge kartet.
De cookie er en valgfri parameter som representerer en alfakanal av en tekstur som brukes som en maske som bestemmer hvor lyst lyset er i forskjellige posisjoner. Siden dette er et punktlys, må teksten brukes til å være en Cubemap.
De Tegn Halo alternativet gir bare en halo rundt lyskilden. flare definerer en referanse til en bluss som skal gjengis på lysets posisjon. flare og Tegn Halo kan være nyttig når du feilsøker 3D-scenen og mulige flaskehalser.
Render Mode definerer hvor viktig belysning er når rendereren gjengir scenen. Jo viktigere, desto mer intensiv blir gjengivelsen. De Render Mode kan settes til Auto, Viktig, eller Ikke Viktig. Endelig, Culling Mask brukes til å velge eller ekskludere grupper av objekter som påvirkes av punktlyset.
Nå som du har sett alle punktlysegenskapene, la oss snakke om direkte og indirekte belysning når du bruker punktlys. Når du lager et spill, er et av hovedtrekkene bruk av belysnings- og belysningseffekter. Et tungt belysningsscenario vil imidlertid føre til tyngre belastningstider, FPS flaskehalser og mer arbeid for CPU. Derfor anbefales det å leke med Shadows Type og baking egenskaper for å balansere scenens ytelse.
For eksempel, hvis du angir baking til Realtime og Skyggetype til Harde skygger eller Myke skygger, Du vil ha en veldig fin, realistisk skyggeeffekt mellom Sphere og Eske. Dette oppsettet kan imidlertid være tungt for CPUen hvis scenen din består av mange lys.
Hvordan løse dette problemet? Du kan i utgangspunktet sette baking parameter til Bake. Når du gjør dette, vil Unity automatisk lage lyskart for dette lyset, noe som gir deg et ytelsesforhøyelse. Men dette ytelsesforhøyelsen har sin pris: Nå har du ikke skygger som kastes av punktlyset til dynamiske objekter, som Sphere.
Den beste praksisen er å analysere hvert lys individuelt, og fortsett deretter. For eksempel, i denne scenen ville det være mer fornuftig å ha Realtime baking og Hard Shadows, fordi bare en lyskilde er til stede inne i esken.
Men hvis lyskilden din er en fakkel i en vegg, ville det være bedre å sette baking til Bake og la Unity produsere lysbildene.
Husk at det er opp til utvikleren å håndtere kvaliteten og ytelsen til spillet. Vær derfor oppmerksom på at du må være forsiktig med å holde balansen, spesielt hvis du utvikler for mobile enheter.
Spotlys avgir lys fra en lyskilde som målretter mot en bestemt region. De belyser bare objekter innenfor en bestemt region, en region som er avgrenset av en 3D-konus. I utgangspunktet fungerer de som en bils forlygter. Som du kan tenke deg, er de perfekte for lommelykter, billykter eller lampeposter. De er også den dyreste lystypen for grafikkprosessoren.
La oss nå bytte Punktlampe inn i et spotlys. Velg Punktlampe du har opprettet tidligere og endret dens Type til Sted. neste, Rotere lyset slik at det kan belyse gulvet i Eske. Gi nytt navn til Spotlys.
Som du kanskje har lagt merke til, inne i Inspektør, de Sted parametere ligner på Punkt seg. Men du har en ny som heter Spotvinkel.
De Spotvinkel bestemmer vinkelen av lyskeglen i grader.
Når det gjelder direkte og indirekte belysning, fungerer spotlysene akkurat som punktlys. Du har de samme begrensningene og fordelene. Derfor må du være forsiktig når du setter opp balansen mellom lysene i spillet ditt.
Legg merke til at du alltid kan spille med skygger og baking for å balansere utseende og ytelse.
Et områdelys er at lys utløses i alle retninger på den ene siden av et rektangulært område av et plan. Dette rektangel er definert i begge Bredde og Høyde eiendommer. Området lys er bare tilgjengelig under lys kart baking, noe som betyr at de ikke har noen effekt på gjenstander ved kjøring.
Velg Spotlys og endre dens Type til Område og navnet til Areallys. Deretter plasserer du lyset inne i esken, og i Inspektør, endre Bredde og Høyde, for å dekke hele området inne i Eske.
Ved å se på Areallys parametere, vil du legge merke til at de fleste parametrene ligner de forrige, for eksempel Type, Tegn Halo, flare, Render Mode, og Culling Mask.
De virkelige nye parametrene er Bredde og Høyde.Begge brukes til å angi størrelsen på det rektangulære lysområdet.
Hvis du trykker på Spille, du vil se at områdets lys støter på alle gjenstander innen rekkevidde. Størrelsen på rektangelet bestemmes av Bredde og Høyde eiendommer. Siden som lyset blir kastet er flyets normale, som er det samme som lysets positive Z retning. Lyset utløses fra hele overflaten av rektangelet. På grunn av dette har skygge og skygger fra det berørte objektet en tendens til å være mye mykere enn med punkt- eller retningslyskilder.
Belysningsberegningene for et områdelys er ganske prosessorkrevende, slik at de ikke er tilgjengelige i drift og kan bare være bakt inn i lette kart.
Dette avslutter veiledningen om belysning i enhet 5. Du lærte om flere lyseffekter og konfigurasjoner. Med denne kunnskapen kan du nå bruke flere lyseffekter til spillet ditt eller programmet.
Enhet har en aktiv økonomi. Det er mange andre produkter som hjelper deg med å bygge opp prosjektet ditt. Plattformens natur gjør det også til et flott alternativ som du kan forbedre dine ferdigheter. Uansett kan du se alt vi har tilgjengelig på Envato Marketplace.
Hvis du har ytterligere spørsmål eller kommentarer, kan du som alltid frigi en linje i kommentarfeltet.