Verligting in Eenheid 5
Eenheid het al hoe meer gewild geword onder aspirant-spelprogrammeerders. Dit is te danke aan die feit dat Unity direk verskeie platforms soos mobiele, lessenaar, en konsole omgewings ondersteun. Daarbenewens, is dit gratis om te gebruik vir ontwikkelaars of laer inkomste-ateljees.
Eenheid ondersteun verskeie tegnologieë en komponente. Sommige van die belangrikste komponente is beligting en verligtingstegnieke. In Unity kan jou 'n toneel verlig deur die komplekse gedrag van 'n lamp te simuleer of deur 'n eenvoudige beligtingsmodel toe te pas.
Hierdie handleiding sal fokus op die verduideliking van hoe beligting in Unity 5, die beligtingstipes en eienskappe werk, en hoe om dit te gebruik om ryk beligtingseffekte te skep.
Eerste, maak seker dat jou dit het die latest version of Unity. In hierdie handleiding gebruik ons ​​weergawe 5.5.0f3. Maak seker dat jou die nuutste Unity-weergawe gebruik; Indien nie kan jou probleme ondervind met tutoriale en fisika gewrigte gebruik. Eerstens, maak seker dat jou dit het die jongste weergawe van Unity.
Volgende, laai die LightingInUnity5-Starter lêer af. Unzip en open die projek in Unity. Die demo-toneel moet outomaties oopgemaak word, maar indien nie, kan jou dit oopmaak in die gids Assets.
Direkte en Indirekte Beligting
In 'n werklike scenario het jou twee tipes beligtingseffekte: direkte en indirekte beligting. Direkte beligting, soos die naam aandui, is lig wat direk van 'n ligbron kom ('n lamp, die son of ander). Aan die ander kant is indirekte beligting lig wat uit 'n ander voorwerp kom.
Kom ons toets en implementeer albei van hulle.
Direkte beligting kan reeds in aksie gesien word in jou Secene. Soos jou waarskynlik opgemerk het, het jou 'n rigtinglig in die toneel genoem Directional Light.
Die rigtingligte word meestal gebruik in buitelugbeelde vir die son en maanlig. Hulle raak alle oppervlaktes van voorwerpe op die toneel. Hulle is ook die goedkoopste vir grafiese verwerkers.
Jou kan die Directional Light kies en sy eienskappe in die Inspekteurs paneel sien. Jou sal verskeie interessante eienskappe soos Tipe, Kleur en Intensiteit sien. Jou kan speel met die Kleur en die Rotasie eienskappe en sien die resultaat in real time. Deur die waardes te verander, speel jou direk met rigtinglig.
Op hierdie oomblik het jou 3D-toneel geen indirekte lig nie. Jou kan dit monitor deur die Sphere nader aan die groen of rooi muur te beweeg. Die Sphere kleur sal nie verander nie.
Een manier om indirekte beligting te gebruik is om statiese GameObjects te gebruik. Hou in gedagte dat die gebruik van statiese spel voorwerpe die prestasie van jou spel kan verbeter, maar ook die kwaliteit sal verminder, sodat jou die regte balans vir jou spel moet kry.
Voeg 'n boksvak in jou toneel (GameObject> 3D Object> Cube) by en plaas dit langs die sfeer. Noem dit Cube.
Kies Cube, en binne in Inspekteur stel Statiese eiendom toe.
Wanneer jou die Statiese eienskap aktiveer, skep Unity outomaties 'n ligkaart vir daardie voorwerp en pas die korrekte verligmodel toe. Jou kan nou die kamera na die Cube beweeg en die indirekte beligtingswerk sien. Die groen (in die beeld) of die rooi kleur versprei nou in die Cube.
As jou rigting verander Directional Light, Jou sal sien dat Unity outomaties ook die ligkaarte opdateer.
Die indirekte beligting wat op die Cube toegepas word, word nie op die Sphere toegepas nie omdat die Sphere nie staties is nie. Jou kan dit oplos deur die Sphere staties te maak (Inspekteur> Staties).
Op hierdie stadium kan jou direkte en indirekte beligting by statiese voorwerpe voeg en instel. Die 3D-toneel bestaan ​​egter uit dinamiese voorwerpe. Dus, hoe kan ons sulke effekte op daardie voorwerpe toepas? Daardie vraag bring ons na die volgende afdeling.
As jou toneel nie-statiese voorwerpe bevat, moet jou spesifieke beligtingstegnieke gebruik om hulle korrek te verlig sodat hulle nie van die toneel afgesny word nie.
Deur die gebruik van ligprobes en hul posisies kan jou strategiese punte in die toneel steek. Elke lig sonde kan 'n spesifieke streek monster en dan die beligting in daardie spesifieke streek bereken. Hierdie berekeninge is vinnig genoeg om tydens die spel gebruik te word. Die gebruik van lig probes vermy enige verbreking tussen die verligting van bewegende voorwerpe en statiese liggegewe voorwerpe in die toneel.
Die Sphere is dus 'n dinamiese voorwerp, en in teenstelling met wat dit lyk, is dit nie korrek verlig nie. As joudraai Directional Light af, jou sal sien dat die enigste beligting wat raak Sphere is omringende lig. Om die Sphere korrek te verlig, moet jou 'n ligte sonde gebruik.
Om ligprobe na 'n gebied van jou toneel by te voeg, gaan jou na Komponent> Rendering> Light Probe Group. Dit sal 'n ligte sonde groep in jou toneel skep.
Die volgende stap is om die probes van die groep in die korrekte posisie te plaas. Jou wil hulle nou naby elke hoek van die Boks plaas.
Die beste manier om dit te doen is om na 'n ortografiese aansig te verander (deur op die kubus in die boonste regterkantste hoek van die skerm te klik). Kies dan elke ligkragknooppunt en sleep dit na elke hoek van die Boks (soortgelyk aan die volgende beeld).
Herhaal die proses totdat jou al die nodusse geposisioneer het.
Daar is tonele wat addisionele probes benodig om voorwerpe korrek te verlig. Om meer probes by te voeg, kan jou een sonde kies en dan onder die Inspekteur, klik op die Dubbele Gekose knoppie.
Na die duplisering moet jou die nuwe nodus op die regte plek plaas (die gedupliseerde een sal in dieselfde posisie as die gekose een kweek).
As jou die koppelvlak in die Inspekteur nader kyk, sien jou dat u ook individuele probes kan byvoeg (Probe Byvoeg), probes verwyder (Seleksies Verwyder) of al die probes uit die groep kies (Alles Kies).
Om die ligproewe in aksie te sien, kies die Sphere en voeg 'n Rigidbody by (Voeg Komponent> Rigidbody). Gee dan 'n materiaal aan die collider. Jou kan die rubber materiaal gebruik.
Nou, plaas die Sphere naby die Boks en van die vierkant en druk Play. Jou kan nou die presiese beligting sien Sphere. Om die verskil te sien, skakel die ligsonde uit en Speel die toneel weer.
Puntligte is die algemeenste in speletjies. Hulle word gewoonlik gebruik vir ontploffings en gloeilampe. Aangesien hulle in alle rigtings lig uitstraal, het hulle 'n gemiddelde koste op die grafiese verwerker. Maar, die gebruik van die duurder puntligte word bereken deur skaduwees te bereken.
Voeg 'n puntlig by deur GameObject> Light> Point Light te kies. Volgende, plaas dit Point light hand die Boks naby die bokant.
Kies die Point light en sien die parameters in Inspector.
Die eerste parameter is Tipe. Hier kan jou die tipe lig wat jou wil gebruik, stel. Jou kan ook Spot, Directional, Point of Area kies. Elkeen bied 'n spesifieke lig effek. Jou kan enige van die opsies kies en die resultate in reële tyd sien. Vir hierdie tutoriaal sal jou egter die Punt opsie gebruik. Dit sal 'n gloeilamp effek skep (lig lig ook in alle rigtings).
Die tweede parameter is Baking. Jou kan dit in Realtime, Baked, of Mixed stel. Laat die waarde as verstek. Die Bereik parameter bepaal hoe ver die lig uit die middelpunt van die Punt lig uitgestraal word. Die Kleur parameter definieer die uitgestraalde ligkleur.
Intensiteit definieer die helderheid van die lig, en Bounce Intensity definieer die indirekte ligintensiteitsvermenigvuldiger. Die skaduwee tipe definieer die skaduwee eienskappe en Skaduwee Tipes. Jou kan dit opstel No Shadows, Hard Shadows, of Soft Shadows. Onthou dat ligte skadu's die duurste is vir masjiene, wees dus versigtig wanneer jou hierdie opsie kies.
As jou Hard Shadows of Soft Shadows,Jou sal die skaduwee sien wat gegenereer word Sphere en die Point light. Wanneer jou verander Strength waarde, skadu's sal ook verswak of beklemtoon. Met die Resolusie kan jou die detail vlak van die skaduwees definieer. Uiteindelik laat Bias en Normal Bias jou die vereiste verstelling stel wanneer jou die pixelposisie in ligte ruimte vergelyk met die waarde van die skaduwee kaart.
Die Koekie is 'n opsionele parameter wat 'n alfakanaal verteenwoordig van 'n tekstuur wat gebruik word as 'n masker wat bepaal hoe helder die lig in verskillende posisies is. Aangesien dit 'n puntlig is, moet die gebruikte tekstuur 'n Cubemap wees.
Die Draw Halo opsie maak net 'n halo om die ligbron. Flare definieer 'n verwysing na 'n Flare wat in die lig se posisie gelewer word. Flare en Draw Halo kan nuttig wees wanneer die 3D-toneel en moontlike knelpunte ontfout word.
Render Modus definieer hoe belangrik beligting is wanneer die renderer die toneel lewer. Hoe belangriker, hoe meer intensief die lewering sal wees. Die Render Modus kan op Auto, Belangrik, of Nie-Belangrik gestel word. Ten slotte, word Culling Mask gebruik om groepe voorwerpe wat deur die puntlig beïnvloed word, te kies of uit te sluit.
Noudat jou al die puntligte-eienskappe gesien het, praat ons van direkte en indirekte beligting wanneer jou puntligte gebruik. Wanneer jou 'n speletjie skep, is een van die hoofkenmerke die gebruik van beligting en verligting effekte. Maar 'n swaar beligting scenario sal lei tot swaarder laai tye, FPS knelpunte, en meer werk vir die SVE. Daarom word jou aangeraai om te speel met Shadows Type en Baking eienskappe om jou toneelvertoning te balanseer.
Byvoorbeeld, as jou die Baking in Realtime en die Shadows Tipe vir Hard Shadows of Soft Shadows, sal jou 'n baie mooi, realistiese skaduwee-effek tussen die Sphere en die Boks hê. Hierdie opstelling kan egter swaar wees vir die SVE as jou toneel uit baie ligte bestaan.
Hoe om die probleem op te los? Jou kan aanvanklik die Baking parameter in Bake stel. Sodra jou dit doen, sal Unity outomaties ligkaarte vir hierdie lig skep, wat jou 'n prestasiehupstoot gee. Hierdie prestasie hupstoot het egter sy koste: nou het jou nie skaduwees wat deur die puntlig in dinamiese voorwerpe gegooi word nie, soos die Sphere.
Die beste praktyk is om elke lig individueel te analiseer, en dan verder te gaan. Byvoorbeeld, in hierdie toneel sou dit meer sin maak om Realtime Bakin en Hard Shadows te hê, aangesien daar net een ligbron in die boks teenwoordig is.
Eigter, as jou ligbron 'n fakkel op die muur is, sal dit beter wees om Baking te Bake en Laat Eenheid 'n ligkaart maak.
Onthou dat dit aan die ontwikkelaar is om die gehalte en prestasie van die spel te bestuur. Hou, dus in gedagte dat jy versigtig moet wees om die balans te behou, veral as jou vir mobiele toestelle ontwikkel.
Spotligte gee lig uit 'n ligbron wat op 'n spesifieke streek fokus. Hulle verlig slegs voorwerpe binne 'n spesifieke streek, 'n gebied wat deur 'n 3D-keël afgebaken word. Basies, werk hulle soos 'n motor koplamp. Soos jou kan voorstel, is dit perfek vir flitsligte, motorligte, of lanterns. Hulle is ook die duurste soort lig vir grafiese verwerkers.
Kom ons verander nou die Point light in 'n kollig. Kies die Point light wat jou vroeër geskep het en verander die Tipe na Spot. Rotate dan die lig sodat dit die vloer van die Boks kan verlig. Hernoem dit na Spot light.
Soos jou dalk mag sien, binne die Inspector, die Spot parameters soortgelyk aan die Point een. Jou het egter 'n nuwe een genoem Spot Angle.
Die Spot Angle bepaal die hoek van die ligkegel in grade.
Wat direkte en indirekte beligting betref, werk liggies presies soos puntligte. Jou het dieselfde beperkings en voordele. Daarom moet ouy versigtig wees wanneer jou die ligbalans in jou spel instel.
Let daarop dat jou altyd met skadu's en grille kan speel om prestasie en prestasie te balanseer.
Die gebiedslig is die lig wat in alle rigtings aan die een kant van die reghoekige vlak van 'n veld uitgestraal word. Hierdie reghoek word gedefinieer in beide die Breedte en Hoogte eienskappe. Gebiede ligte is slegs beskikbaar tydens die rooster van die ligkaart, wat beteken dat hulle nie 'n effek op die voorwerp het nie.
Kies Spot light en verander Tipe na Area en noem dit na Area light. Plaas dan die lig binne-in jou boks, en in die Inspekteur verander die Breedte en Hoogte om die hele area in die Boks te bedek.
Deur na die Area light parameter te kyk, sal jou sien dat die meeste van die parameters soortgelyk is aan die vorige parameters, soos Type, Teken Hello, Flare, Render Modus en Culling Mask.
Die werklike nuwe parameters is Breedte en Hoogte. Albei word gebruik om die grootte van die reghoekige reghoekige area te bepaal.
As jou op Play druk, sal jy sien dat die ligarea sy lig op alle voorwerpe binne sy bereik uitstraal. Die grootte van die reghoek word bepaal deur die Breedte en Hoogte eienskappe. Die kant waar lig gegooi word, is 'n normale vlak, wat gelyk is aan die positiewe Z rigting van lig. Lig word uit die hele oppervlak van die reghoek uitgereik. As gevolg hiervan is die skaduwees en skadu's van die aangetaste voorwerp geneig om baie sagter te wees as met kolletjies of rigting ligbronne.
Beligtingsberekeninge vir ligareas is taamlik intensiewe verwerkers, dus hulle is nie beskikbaar nie en kan slegs wees Gebraai in 'n ligkaart.
Dit sluit 'n handleiding oor beligting in eenheid 5. Jou leer oor beligtings-effekte en konfigurasies. Met hierdie kennis kan jou nou enige beligtingseffekte aan jou speletjie of program toepas.
Eenheid het 'n aktiewe ekonomie. Daar is baie ander produkte wat jou help om jou projek te bou. Die aard van die platform maak dit ook 'n goeie keuse waaruit jou vaardighede kan verbeter. Hoe dan ook, jou kan alles sien wat ons in the Envato Marketplace.