Belysning i Enhed 5
() translation by (you can also view the original English article)



Enhedslisten er blevet mere og mere populære blandt aspirerende spil programmører. Dette er at enhed direkte understøtter en lang række platforme, såsom mobil, skrivebord og konsollen miljøer. Derudover er det gratis at bruge for lavere indtægter udviklere eller studios.
Enheden understøtter flere teknologier og komponenter. Nogle af de vigtigste komponenter er teknikker til belysning og belysning. I enhed kan du belyse en scene ved at simulere de komplekse adfærd af lys eller ved at anvende en simpel belysning model.
Denne tutorial vil fokusere på at forklare hvordan lys arbejder i enhed 5, belysning typer og egenskaber, og hvordan man bruger dem til at skabe rige belysning effekter.
Forudsætninger
Først, sikre du har den nyeste version af enhed. I dette selvstudium bruger vi version 5.5.0f3. Sørg for at du bruger den nyeste enhed version; ellers kan du have problemer efter tutorial og bruge fysik leddene.
Næste, hente filen LightingInUnity5-starteren. Unzip og åbne projektet i Enhedslisten. Demo-scene skal åbne automatisk, men hvis ikke, kan du åbne det fra mappen aktiver.
Direkte og Indirekte Belysning
I en real-verden scenario, du har to typer af lyseffekter: direkte og indirekte belysning. Direkte belysning, er som navnet antyder, lys, der kommer direkte fra en lyskilde (en lampe, solen, eller andre). På den anden side er indirekte belysning lys, der kommer fra et andet objekt.
Direkte belysning, er som navnet antyder, lys, der kommer direkte fra en lyskilde (en lampe, solen, eller andre). På den anden side er indirekte belysning lys, der kommer fra et andet objekt.
Direkte belysning kan allerede ses i aktion i din Scene. Som du sikkert har bemærket, har du en retningsbestemt lys i scene kaldet Retningsbestemt Lys.
Retningsbestemt lys er for det meste anvendes i udendørs scener for solen og måneskin. De påvirker alle overflader af objekter i scenen. De er også den billigste til grafik-processoren.
Du kan vælge den Retningsbestemt Lys og se dens egenskaber i ruden Inspektør. Du vil bemærke flere interessante egenskaber såsom Type, Farve og Intensitet. Du kan spille med Farven og egenskaberne Rotation og se resultatet i realtid. Ved at ændre disse værdier, spiller du direkte med retningsbestemt lys.



På dette tidspunkt har din 3D scene ikke nogen indirekte lys. Du kan tjekke det ved at flytte Kuglen tættere til den grønne eller røde væg. Kuglens farve ændres ikke.
En måde at bruge indirekte belysning er at bruge statiske GameObjects. Husk på, at brugen af statiske game objekter kan forbedre dit spil rendering, men vil også reducere kvaliteten, så du skal finde den rette balance for dit spil.
Tilføje en boks mesh boks i din scene (GameObject > 3D objekt > Kube), og Placer den ved siden af kuglen. Navngiv den Terning.



Vælg Kuben, og inde i Inspektøren aktiverer egenskaben Statisk.



Når du aktiverer egenskaben Statisk, enhed automatisk opretter en lys kort for det pågældende objekt og anvender den korrekte belysning model. Du kan nu flytte kameraet mod Kuben og se indirekte belysning arbejde. Grøn (i billedet) eller den røde farve nu breder sig ind i Kuben.



Hvis du ændrer retning af Retningsbestemt Lys, vil du bemærke, at enhed automatisk opdaterer lys kort så godt.
Den indirekte belysning, der anvendes til Kuben anvendes ikke til Sfæren, fordi Kuglen ikke er statisk. Du kan løse dette ved at gøre Sfæren statisk (Inspektør > Statisk).
På dette tidspunkt, kan du tilføje og konfigurere direkte og indirekte belysning til statiske objekter. Men 3D scener er sammensat af dynamiske objekter. Derfor, hvordan kan vi anvende sådanne virkninger på disse objekter? Dette spørgsmål fører os til næste afsnit.
Lys Sonder
Når din scene indeholder ikke-statiske objekter, skal du bruge specifikke belysning teknikker til korrekt belyse dem, så at de ikke ser afbrudt fra scenen.
Ved hjælp af lys sonder og deres positioner, kan du prøve strategiske punkter i scenen. Hvert lys sonden kan prøve en bestemt region og derefter beregne belysning i dette specifikke område. Disse beregninger er hurtig nok til at blive brugt under gameplay. Brugen af lys sonder undgår enhver afbryde mellem belysning af bevægelige objekter og statiske lys-tilknyttede objekter i scenen.
Kuglen er et dynamisk objekt, derfor, og i modsætning til hvad det kan synes, det er ikke korrekt oplyst. Hvis du slår den Retningsbestemt Lys, vil du bemærke, at den kun belysning, der påvirker Sfæren er det omgivende lys. For at korrekt belyse Området, skal du bruge lys sonder.
For at tilføje lys sonder til et område af din scene, du går til Komponent > Rendering > Lys Sonde Gruppe. Dette vil skabe en lys sonde gruppe i din scene.



Det næste skridt er at sætte sonder af gruppen i den korrekte position. Du vil nu placere dem i nærheden af hvert hjørne af Boksen.
Den bedste måde at gøre dette er at ændre til en ortografisk visning (ved at klikke på kuben på øverste højre hjørne af scenen). Derefter vælge hvert lys sonde node og trække det til hver Boks hjørne (svarende til det næste billede).



Gentag processen, indtil du har placeret alle noder.



Der er scener, der kræver yderligere sonder til korrekt belyse objekter. For at tilføje flere sonder, kan du vælge en sonde og derefter under Infovinduet, klik på Knappen Dubler markeret.



Efter kopiering skal du placere den nye node i det rigtige sted (den duplikerede man vil yngle i den samme position som den valgte).



Hvis du tager et nærmere kig på grænsefladen i Infovinduet, vil du bemærke at du også kan tilføje enkelte sonder (Tilføje Sonde), slette sonder (Slet Valgt), eller Vælg alle sonder fra gruppen (Vælg Alle).
Hvis du vil se lyset sonder i aktion, Vælg Sfæren og tilføje en Rigidbody til det (Tilføj Komponent > Rigidbody). Derefter tildele et materiale til collider. Du kan bruge gummimateriale.
Nu, Placer Område nær toppen af Boksen og tryk på Play. Du kan nu se den korrekte belysning af Kuglen. At se forskellene, deaktivere de lys sonder og Spille scenen igen.



Punkt Lys
Punktlys er den mest almindelige lys i spil. De er normalt bruges til eksplosioner og pærer. Da de udsender lys i alle retninger, har de en gennemsnitspris på grafik-processor. Men beregning af skygger, når du bruger Punktlys er dyrere.
Tilføje et punkt lys ved at vælge GameObject > Lys > Punkt Lys. Næste, Placer det Punkt lys inde i Boksen øverst.



Vælg Punkt Lys og tage et kig på parametrene i Infovinduet.



Den første parameter er Type. Her kan du angive typen af lys du vil bruge. Du kan enten vælge Stedet, Retningsbestemt, Punkt eller Område. Hver indeholder en specifik lyseffekt. Du kan vælge indstillingerne og se resultaterne i realtid. Men for denne tutorial vil du bruge indstillingen Punkt. Dette vil skabe en pære effekt (lys skinner i alle retninger lige så).
Det andet parameter er Bagning. Du kan indstille den til Realtime, bagt eller Blandet. Lad værdien som standard. Parameteren Range definerer, hvor langt lyset udsendes fra midten af Punkt Lys. Parameteren Farve definerer det udsendte lys farve.
Intensitet definerer lysstyrke af lys, og Bounce Intensitet definerer den indirekte lysintensitet multiplikator. Typen Skygge definerer egenskaber for skygge og skygge typer. Du kan enten indstille det til Ingen Skygger, Hårde Skygger eller Bløde Skygger. Husk, at punkt lys skygger er den dyreste for motoren, så vær forsigtig, når du vælger denne indstilling.
Hvis du vælger Hårde Skygger eller Bløde Skygger, vil du se skyggen produceret af Kuglens og Punkt Lys. Når du ændrer værdien Styrke, vil skyggen også dæmpe eller forstærke. Beslutningen lader dig definere detaljeringsniveauet i skyggerne. Endelig, Bias og Normal Bias kan du konfigurere forskydningen bruges når man sammenligner pixel position i lyse rum med værdien fra skygge kort.
En Cookie er en valgfri parameter, der repræsenterer en alfakanal af en tekstur, anvendes som en maske, der bestemmer, hvordan lys lys i forskellige positioner. Da dette er et punkt lys, skal tekstur bruges være en Cubemap.
Indstillingen Tegne Halo kun gør en glorie omkring lyskilden. Flare definerer en henvisning til en Flare skal gengives på light's holdning. Flare og Tegne Halo kan være nyttig, når fejlfinding 3D scene og eventuelle flaskehalse.
Render Mode definerer hvor vigtigt belysning er når renderer gengivelse af scenen. Vigtigere, jo mere intensive præstationen bliver. Den Render Mode kan indstilles til Auto, Vigtig eller Ikke-Vigtigt. Endelig, bruges Aflivning Maske til at vælge eller udelukke grupper af objekter, der berøres af punkt lys.
Nu hvor du har set alle punkt lys egenskaber, lad os tale pege om direkte og indirekte belysning ved brug af lys. Når du opretter et spil, er et af de vigtigste kendetegn brugen af belysning og belysning effekter. Men en kraftig belysning scenario vil føre til tungere loading tider, FPS flaskehalse og mere arbejde til CPU. Derfor, du rådes til at spille med Skygger Type og Bagning egenskaber at skabe balance mellem din scene ydeevne.
For eksempel, hvis du indstiller Bagning til Realtime og Skygge Type til Hårde Skygger eller Bløde Skygger, vil du har en meget flot, realistisk skyggeeffekt mellem Sfæren og Boksen. Denne opsætning kan dog være tung for CPU hvis din scene er sammensat af mange lys.
Hvordan man løser dette spørgsmål? Du kan i første omgang indstille parameteren Bagning til Bage. Når du gør dette, oprette enhed automatisk lightmaps for dette lys, giver dig en performance boost. Denne arbejdsindsats opreklamere har imidlertid sine omkostninger: nu ikke behøver du skygger bliver kastet af punkt lys i dynamiske objekter, som Kuglen.
Den bedste fremgangsmåde er at analysere hvert lys individuelt, og fortsæt derefter i overensstemmelse hermed. For eksempel, i denne scene ville det være mere fornuftigt at have Realtime Bagning og Hårde Skygger, fordi kun én lyskilde er til stede inde i kassen.
Men hvis din lyskilde er en lommelygte i en væg, ville det være bedre at indstille Baking to Bake og lade Unity producere lyskortene.
Huske, at det er op til bygherren til at styre kvaliteten og effektiviteten af spillet. Derfor, holde for øje, at du skal være omhyggelig med at holde denne balance, især hvis du er ved at udvikle til mobile enheder.
Spot Light
Spot lys udsender lys fra en lyskilde, der er rettet mod en specifik region. De belyse kun objekter inden for en bestemt region, en region, der afgrænses af en 3D kegle. Dybest set, de arbejder som forlygter af en bil. Som du kan forestille dig, er de perfekte til lommelygter, bil forlygter eller lygtepæle. De er også de dyreste lystypen for grafik-processor.
Lad os nu ændre Punkt Lys til en spot light. Vælg Punkt Lys du har oprettet tidligere og ændre dens Type til Stedet. Næste, Rotere lyset, så det kan belyse gulvet i Boksen. Omdøbe den til Spot Lys.



Som du måske har bemærket, inde i Inspektøren, er Spot parametre svarende til Punkt dem. Du har dog en ny sig alarmeret Spot Vinkel.



Stedet Vinkel bestemmer vinklen af lys kegle i grader.
Med hensyn til direkte og indirekte belysning punkt spot lys arbejde præcist som lys. Du har de samme begrænsninger og fordele. Du skal derfor være forsigtig, når du opretter balancen af lys i dit spil.
Bemærk, at du altid kan spille med skygger og bage for at afbalancere udseende og ydeevne.
Område Lys
Et område lys er lys der udsendes i alle retninger på én side af et rektangulært område af et fly. Dette rektangel er defineret i både Bredde og Højde egenskaber. Område lys er kun tilgængelige under lys kort bagning, hvilket betyder, at de har ingen indvirkning på objekter på kørselstidspunktet.
Vælg Spot Lys og ændre dens Type til Området og dets navn til Området Lys. Næste, placere lyset inde i jeres boks, og i Infovinduet, ændre Bredden og Højden, for at dække hele området inde i Kassen.



Ved at kigge på parametrene Område Lys, vil du bemærke, at de fleste af parametrene, der er magen til de foregående, for eksempel Type, Tegne Halo, Flare, Render Mode og Nedslagtning Maske.
De rigtige nye parametre er Bredden og Højden. Begge bruges til at angive størrelsen af den rektangulære lys område.



Hvis du trykker på Play, vil du se, at området lys kaster sit lys på alle objekter inden for området. Størrelsen på rektanglet bestemmes af egenskaberne Bredde og Højde. Den side, hvor lys der kastes er flyets normale, hvilket er det samme som det lys positive Z retning. Lyset udsendes fra hele overfladen af rektanglet. På grund af dette, skygge og skygger fra de berørte objekt har tendens til at være meget blødere end med punkt eller retningsbestemte lyskilder.
Belysning beregninger for en område lys er helt processor-intensive, så de er ikke tilgængelige på runtime og kan kun være Bagt i lys kort.
Konklusioner
Dette afslutter tutorial om belysning i enhed 5. Du har lært om flere lyseffekter og konfigurationer. Med denne viden, kan du nu anvende flere Belysningseffekter til dit spil eller program.
Enhedslisten har en aktiv økonomi. Der er mange andre produkter, der hjælper du bygge dit projekt. Arten af platformen gør det også en stor mulighed, hvorfra du kan bedre din færdigheder. Hvorom alting er, kan du se alt, hvad vi har til rådighed i Envato Markedsplads.
Hvis du har yderligere spørgsmål eller kommentarer, som altid er velkommen til at droppe en linje i sektionen kommentarer.