Download - Apuntes Basicos Unity 5
-
Unity5MaterialeseIluminacin
IluminacinGlobal(GI)EltrminoIluminacinGlobal,seutilizaparadenominaraunsistemaquemodelaelrebotedelaluzenotrassuperficiescercanas(luzindirecta),enlugardelimitarsesloalaqueincidedirectamentedirectamenteenunasuperficie(luzdirecta).
Dichamodelizacinpermiteunavisualizacinmsrealistayhomogneadebidoaqueunosobjetosafectanalaaparienciadeotros.
Estatcnica,tradicionalmentelimitadaapelculasdeanimacin,sehacomenzadoautilizartambinenlosvideojuegossloparaobjetosquesesabequenosevanamoverdurantelaejecucindeljuego(objetosestticos),permitiendocalculardemaneraanticipadalailuminacinmedianteLightmaps(BakedGI).
Unity5aadesoporteparaunatcnicallamadaPrecomputedRealtimeGI,quecontinanecesitandodeunafasedepreclculoysigueestandolimitadaaobjetosestticosaligualqueBakedGI,peroqueademshaceunpreclculodetodoslosposiblesrebotesdelaluzyguardaestainformacinparasuusodurantelaejecucindeljuego.
Tngaseencuentaquelailuminacinfinaldurantelaejecucindeljuegoseaplicadeformagradual,demaneraqueuncambiomuybruscoenlascondicionesdeiluminacin,necesitarvariosdeframesparahacerseefectivo.
LimitacionesdeGIBakedGIyPrecomputedRealtimeGItienenlalimitacindequeslosepuedenincluirenelpreclculoobjetosestticos,demaneraquelosobjetosnoestticos,nopuedenhacerquelaluzreboteenotrosobjetosniqueotrosobjetosrebotenluzsobreellos,ylanicamaneradeconseguirloesmedianteelusodeLightProbes.
-
LightingWindow
ObjectTabPermiteelegirobjetosogruposdeobjetosycambiarsuconfiguracinenbloquedemaneraconsistente.
SepuedeelegirentreLuces,MeshRenderers,TerrenosoTodos.
LightsSection
Baking Baked,Establecequelaluzserbaked. Mixed,dondelaluztambinserbakedparaobjetosestticosperoigualmente
iluminarobjetosnoestticos,aunquestosnoproducirnsombrassobreobjetosestticos.
Realtime,quefuncionaenPrecomputedRealTimeGIy/ocuandonoseutiliceGIenabsoluto.
BounceIntensityVaralaintensidaddelaluzindirecta.Siseponeacero,sloemiteluzdirecta.
RenderersSection
LigthmapStaticIndicasielobjetoserbaked(static).Sinosemarcacomoesttico,suiluminacinpuedesufrirvariacionesdebidaalaslightprobes.
ScaleinLightmapSielobjetoesesttico,sepermitevariarsuparticipacinrelativaenlaescaladellightmap,segnsealaimportanciadedichoobjeto.
SceneTabMientrasqueObjectTabafectaaobjetosdeformaindividual,SceneTabcontienelosparmetrosqueaplicandeformadeglobalalaescena.LascaractersticasPrecomputedRealTimeGIyBakedGIpuedenserdesactivadas.
-
EnvironmentLightingSection
SkyBoxImagenqueaparecedetrsdecualquiercosaparasimularunfondolejano.
SunUtilizadoparasimulareldiscosolarenSkyboxprocedural.
AmbientsourceLaluzambientalenvuelveatodalasescenayparecenoprovenirdeningunafuenteluminosaparticular.Haytresopciones:
Color.Uncoloruniformeparatodalaescena. Gradient.Mezclainterpoladadetrescoloresparalaluzdelcielo,elhorizonte,yel
suelo. Skybox.Usaloscoloresdelskyboxparadeterminarlaluzquellegadesdediferentes
ngulos,deunamaneramsprecisaqueelefectoGradiente.
AmbientIntensity.Elbrillodelaluzambientalenlaescena.
AmbientGIEspecificaelmododeGI(PrecomputedRealtimeoBaked)quesedeberautilizarparamanipularlaluzambiente.Estapropiedadnotieneefectosinosehabilitanambosmodosparalaescena.
ReflectionSourcePermiteespecificarsiseutilizarelskyboxparacalcularlosefectosdereflexinoseutilizaruncubemappersonalizado.
ReflectionIntensityElgradoenelquelafuentedereflexin(skyboxocubemappersonalizado)servisibleenobjetosreflectivos.Candosuvalores1(pordefecto),provocanotablescambiosenelbrilloaparentedelassuperficies,enfuncindelngulodeobservacinentrelacmarayelobjetoobservado.
ReflectionBouncesUnrebotedelaluzreflejadaocurrealldondeunareflexinprovenientedeunobjetoesreflejadaporotroobjeto.Dichasreflexionessoncapturadasatravsdelusodesondasdereflexin.Estapropiedadpermiteestablecercuantasvecesestareflexinvayvuelveentreunobjetoyotro.Siseponea1,slosetieneencuentalareflexininicial(delskyboxocubemappersonalizado)
-
PrecomputedRealtimeGISection
RealtimeresolutionEstoestableceelnmerodetexelquesernutilizadosporunidaddelongitudparaobjetosqueestnsiendoiluminadosporiluminacinglobalentiemporeal.Dependiendodeltamaodelobjeto,unvalorde1sueledarbuenosresultados,peroparaunterrenooungranobjeto,usualmentesedeseabajarlaescaladelaresolucin.SepuedeutilizartantolosLightmapParametersoScaleinLigthmapdelMeshRendererparareducirlaresolucin.EstapropiedadtambindesactivalaresolucinindirectasiambosRealtimeyBakedGIestnactivos.
BakedGISection
BakedResolutionEstoestableceelnmerodetexelquesernutilizadosporunidaddelongitudparaobjetosqueestnsiendoiluminadosporBakedGI.Sesueleestablecerunaresolucin10vecesmayorquelaRealtimeresolution
IndirectResolutionResolucindelosclculosdeiluminacinindirecta.EselequivalentebakeddeRealtimeresolution.SlodisponiblecuandoPrecomputedRealtimeGIestinactiva.
FinalGatherAumentalaresolucinycalidaddellightmap,peroacostadeunmayortiempodebakingeneleditor.
GeneralGISection
DirectionalmodeEllightmapalmacenalainformacinacercadelaluzpredominanteenlaluzquellegaacadapuntodelasuperficiedelosobjetos.Enmododireccional,segeneraunsegundoligthmapparaalmacenarladireccindominantedelaluzquellegaaesassuperficies.Estopermitequelosmaterialesconmapasdenormalesfuncionencorrectamenteconiluminacinglobal.EnDirectionalSpecularMode,sealmacenainformacinadicionalquepermitereflexionesespeculares.EnNondirectionalambasopcionesmencionadassedesactivan
IndirectIntensitySetratadeunvalorqueescalaelbrillodelaluzindirectatalycomoespercibidaenellightmapfinal.
-
BounceBoostMultiplicadorqueincrementalacantidaddeluzquerebotadeunassuperficiesaotras.
DefaultparametersPermiteguardarelconjuntodevaloresdelosparmetrosenunficherodeconfiguracinoutilizarunperfilpordefecto.
ReflectionProbesLaspelculasdeanimacinsecaracterizancomnmenteporofrecerunsistemadereflexionesaltamenterealistasquedanunasensacindevinculacinentrelosobjetosdelaescena.Estaprecisinenlasreflexionessuponeuncostedeprocesamientoquenoesunproblemaenelmbitodeunapelcula,perosloesenelmundodelosvideojuegos,yaqueelusodeobjetosreflectantesentiemporealseveseveramentelimitado,esporestoquesehanutilizadomapasdereflexinparasimularlasreflexionessobrelosobjetos.Aunqueestofuncionasielespaciocircundantedeunobjetoreflexivonocambia,serompeelrealismoenelmomentoenelquecambiaelentorno.
Lassondasdereflexinpermitenmuestrearelentornoenlugaresestratgicosdelaescena.Cuandolosobjetosreflexivospasancercadedichassondas,tomandeellassumapadereflexiones(cubemap)yloaplicansobreelmapadereflexionesdesupropiomaterial.
Cubemapgeneradoporunasondadereflexin
Hayvariostiposdesondasdereflexin,tantoestticas(elcubemapesbakedoffline)comodinmicas(seactualizaentiemporeal).Lasondastrabajandeunamaneraparecidaacomolohacenlascmaras,pudiendoexcluirdemaneraselectivaciertosobjetosmediantelosparmetrosCullingMaskyClippingPlanes.
-
CuandoseeligelaopcinAutoenlaventanadeIluminacin,lassondasactualizarndemaneraasncronasumapadereflexionesamedidaquesemuevanlosobjetosdelaescena.
MaterialesUnity5introduceunnuevotipodeshaderllamadoStandardshader.EsteshaderestdiseadoparareemplazarunbuennmerodeviejosshadersutilizadosenversionesanterioresdeUnity.Demaneramssignificativa,reemplazaatodoslosshadersqueeranutilizadospararenderizarmaterialesdelmundoreal,talescomomadera,piedra,metal,etc.
Envezdeutilizarutilizarmltiplesmodelosamedidaquepodranfuncionarono(Diffuse,Specular,BumpedSpecular,Reflective,etc.),laideaquehaydetrsdePBSesalcanzarunaspectovisualconsistenteyplausiblebajodiferentescondicionesdeiluminacin,almismotiempoqueseminimizasudificultaddeutilizacin.
Conelstandardshader,losdiferentesrequerimientosnecesariospararepresentardiferentestiposdematerialesendiversascondicionesdeiluminacinsecombinanenununnicoshader,loquepermiteutilizarlosmismosclculosdeiluminacinentodaslasreasdelaescena,loqueofreceunadistribucindelaluzysombrascreble,consistenteyrealistaatravsdetodoslosmodelosqueutilicenesteshader.
Endefinitiva,cuandoseutilizaesteshader(eselshaderpordefecto)paracrearunnuevomaterial,yanoesnecesarioelegirentreunalargalistadeshadersdisponiblesquesoportendiferentestiposdecaractersticas(reflexivos,transparentes,bump,etc)Elstandardshaderlassoportatodas,ydichascaractersticassonactivadasono,simplementemediantelautilizacin(ono)delosslotsdetexturasyparmetroseneleditordelmaterial.
ElshaderstandardtambinincorporaunmodelodeiluminacinllamadoPhysicallyBasedShading(PBS)quesimulalainteraccinentrelosmaterialesylaluzquemimetizalarealidad.PBShasidoposibleenelmundodelosgrficosentiemporealdesdehacerelativamentepocotiempoyalcanzasumximorendimientoensituacionesdondelaluzylosmaterialesnecesitaninteractuardemaneraintuitivayrealista.
Paraalcanzarestosresultadosseutilizandiferentesprincipiosfsicosdelaluz,comosonlaconservacindelaenerga,dondelosobjetosnoreflejanmsluzdelaquereciben,reflexionesFresnel,dondetodaslassuperficiessonmsreflectivasabajongulodeincidenciaycmolassuperficiesseocluyenasmismas.
ElstandardshaderhacequelosmaterialesPBSseanmuyaccesiblesparalosusuariosdeUnity.Estdiseadodesdeelpuntodevistadelosmaterialesarquitecturalesduros,ypuedesimularalamayoradelosmaterialesdelmundorealtalescomopiedra,cristal,cermica,metal,goma,etc.Puedeinclusohacerunpapelaceptablealahoraderepresentarmaterialesblandos,comopiel,cabelloytela.
-
ContentandContextCuandoseconsideralailuminacinenUnity,estilsepararelcontenido(content),esdecir,elobjetoarenderizar,yelcontexto(context),queeslailuminacinyaexistenteenlaescenayqueafectaracmoseriluminadoelobjeto.
Debidoalainteraccinentrelosdiferentesobjetosdelaescena,nohayunseparacindrsticaentreelcontenidoyelcontexto,yaqueunobjetoqueseveafectadoporuncontexto,puedeasuvezinfluenciarenotrosobjetos,conlocuallmismopuedeserpartedelcontextodeiluminacinparaellos.
ContextoElcontextopordefectoestformadoporelskyboxcomofuentedeluzambientalyfuentedereflexiones,yporunaluzdireccionalparacrearlailuminacinglobaldelaescena,demaneraquecualquierobjetocolocadoenunaescenainicialmentevacatengatodosloselementosnecesariosparavisualizarsecorrectamente.
Aunqueelskyboxpuedeserparteintegraldelsetupdeiluminacindelaescena,sobretodoenescenasexteriores,amenudosenecesitacontrolardemaneramsprecisalasreflexionesdeunobjetoparaquereflejedemanerafielsuentornoparticular.Paraelloseutilizanlassondasdereflexin,quemuestreanunpuntodeterminadodelaescenayaplicanalosobjetoscircundanteselmapadereflexionesadecuadoalentorno.Losmeshrenderersdelosobjetossepuedeentoncesajustarparaobtenerelmapadereflexionesdelskybox,delasreflectionprobesounamezcladeambos.
ContenidoElcontenidoeseltrminoutilizadoparadescribirlosobjetosdelaescenaqueestnsiendorenderizadosycuyaaparienciaeselresultadodeuncontextodeiluminacinqueactasobrelosmaterialesaplicadosalosobjetos.
Laconfiguracinserealizaatravsdelinspectordelmaterialdelobjeto,dondeseexponentodoslosparmetros,incluyendotexturas,modosderenderizado,mscaras,mapassecundarios,etc.ElStandardShaderestdirigidoporlosdatosdeentrada,demodoquesloseutilizanaquellascaractersticasquenotenganelslotdetexturavaco.Elprocesodeoptimizacinestransparenteparaelusuario.
Lastexturasparalosmaterialessepuedengenerarmedianteuneditordeimgenes2Domedianteunprogramademodelado3D,dondeinclusosepodranutilizarmodelosdealtaresolucinparagenerarmapasdeoclusinynormalesdemaneraadicionallastexturasdecolor,especular,etc.
Generalmenteningunadelastexturasdeberancontenerinformacindeiluminacin.UnadelasventajasdelosmaterialesPSBesquelosobjetosreaccionanalaluzdelamaneraesperada,loquenoseraposiblesilosmapasyacontuvieseninformacindeiluminacin.
-
OcclusionCullingOcclusioncullingesunacaractersticaquedeshabilitaciertosobjetosenlaescenacuandonosonvisiblesparalacmaradebidoaqueestnsiendoocluidosporotros.Estonoocurredemanerapredeterminada,yaquesiempresedibujanprimerolosobjetosmslejanos,ylosmscercanossevanpintandoencimadeaquellos(aesteefectoseledenominaoverdraw).OcclusioncullingesunconceptodiferentedeFrustrumCulling,elcualslodesactivalosmeshrenderersdeaquellosobjetosqueestnfueradelfrustrumdelacmara,peroquenonodeshabilitaaquellosestnocultosdebidoaoverdraw.UtilizarOcclusionCullingseaadealbeneficiodelfrustrumculling.
Vistanormal:
Vistaconoclusindefrustrum.Estoesautomticoysiempreocurre:
VistaconOcclusionCulling.Provocaque,adicionalmente,losobjetosocluidosnoserendericen:
-
ElprocesodeOcclusionCullingutilizaunacmaravirtualparacrearunajerarquadeobjetospotencialmentevisibles.Estainformacinesutilizadaposteriormenteporcadacmaradeljuegoparaidentificarquesvisibleyqunoloes,reduciendoelnmerodedrawcallseincrementandoelrendimientodeljuego.
LainformacindeOcclusionCullingestbasadaenlasubdivisinenceldasdelaescena.Estaestructuradeceldasformaunrbolbinario,yUnitycreadosdeestasestructuras,unaparaobjetosestticos(ViewCells)yotraparaobjetosmviles(TargetCells).
Esimportantetenerencuentaquealcrearlosobjetosdeljuegosedebeequilibrareltamaodedichosobjetosenrelacinaltamaodelasceldas.Loidealesquelasceldasnoseandemasiadopequeascomparadasconeltamaodelosobjetos,ytampocosedeberantenerobjetosqueocupenmuchasceldas.
Avecessepuedemejorarelprocesodecullingdescomponiendolosobjetosgrandesenotrosmspequeos,ysinembargo,seguiragrupandoconjuntamentepequeosobjetosparareducirelnmerodedrawcalls,yaquemientrastodosdependandelamismacelda,elprocesodeocclusioncullingnoseverafectado.Estosepuedeapreciarmejorutilizandolavistaoverdraw
ConfigurarOcclusionCullingLaconfiguracindeOcclusioncullingnecesitaqueserealicenvariospasosdemaneramanual.Loprimeroesdescomponerlaescenaenpiezassuficientementemanejables.Tambinestildisponerlaescenaenreaspequeasybiendefinidasqueestnocluidasporotrasquetengangrandesobjetostalescomomurosoedificios.Laideaesquecadamallaindividualseaactivadaodesactivadabasadaendatosdeoclusin.Siporejemplohayunobjetoquecontienetodoslosmueblesdeunahabitacin,escasiseguroqueningunoserocluido,porloquetendramssentidoquelasmallasdelosmueblesfueranindividuales,demaneraquepuedanserocluidasenfuncindelpuntodevistadela
cmara.
SedebenetiquetarcomoOccluderStaticlosobjetosdelaescenaquesedeseenocluir.Lamaneramsrpidadehacerestoesmediantemultiseleccin,ymarcarloscomoOccluderStaticyOccludeeStatic.
CuandosedeberaseleccionarOccludeeStatic?Losobjetostransparentesquenoocluyen,ascomoobjetospequeosquedifcilmenteocluyanaotros,deberansermarcadoscomoOccludees,peronocomoOccluders.Estosignificaquesern
consideradosocluidosporotrosobjetos,peronosernconsideradoscomooclusores(occluders)ellosmismos,loqueayudarareducirelclculodeoclusin.
-
VentanadeOcclusionCullingPararealizarlamayoradelasoperacionesinvolucradasconOcclusionCulling,sedeberautilizarlaventanadeOcclusionCulling,dondesepuedetrabajartantoconmallasoclusorascomoconreasdeoclusin.
PestaaObjectEnlapestaadeObjetossetieneaccesoaloselementosdeconfiguracinrelevantesparalosmeshrenderersqueestnseleccionadosenlaescena:
Tambinpermiteconfigurarlasreasdeoclusin:
Conrespectoalasreasdeoclusin,demanerapredeterminada,sinosecreanstas,losclculosdeoclusinsernaplicadosatodalaescena.
Sisecrean,losclculosdeoclusinnosernaplicadoscuandolacmaraseposicionefueradeellas.Esimportanteconfigurarlasreasdeoclusinparacubriraquellaszonasdondepotencialmentepodrasituarselacmara,teniendoencuentaquecuantomsgrandeseaelrea,loscostesdelclculosernmayores.
PestaabakeEstapestaaposeeunbotnSetDefaultParametersquepermitenresetearalosvalorespredeterminados.Estosvaloressuelenseradecuadosparalamayoradelasescenas,
-
aunqueamenudosepuedenconseguirmejoresresultadosajustandolosvaloresparaadecuarlasaloscontenidosdelaescenaconcreta.
ElparmetroSmallestOccluderdefineeltamaodelobjetooclusormspequeo.Pordebajodeesevalor,noseefectuarnclculosdeoclusin.
SmallestHolerepresentaeltamaodelhuecomspequeoatravsdelcualsesuponequepuedeverlacmara.Pordebajodeesevalor,seaplicarnclculosdeoclusinapesardequepudiesenhaberhuecos.
ElsistemadeOcclusionCullingutilizaelparmetroBackfaceThresholdparaoptimizarlosclculosdeoclusin,eliminandodetallesinnecesariosacercadelascarasposterioresdelosobjetos.Elvalorpredeterminadode100esbastanteconservadorynuncaeliminalascarasposterioresdelconjuntodedatos.Unvalorms
agresivo,porejemplo5,reducirdrsticamentelosdatosbasadosenposicionesconobjetoscuyascarasposterioresseanvisibles.Laideaesquenormalmentelacmaranovermuchascarasocultas,porejemplolacaraposteriordelterrenooelinteriordeunslidoinaccesible.
ElbotnBakedarcomienzoalprocesodeclculodeoclusin,quecuandotermine,permitirvisualizaryprobarelresultadoenlapestaadevisualizacin.Sidichoresultadonofuesesatisfactorio,sepulsarelbotnClearparaborrarlosclculospreviamenterealizados.
OcclusionAreaParaaplicarOcclusionCullingaobjetosmvilessedebecrearunOcclusionAreaymodificarsutamaoalespaciodondeestarnsituadoslosobjetosmviles,queporsupuesto,nopodrnestarmarcadoscomoestticos.LasOcclusionAreassecreanaadiendouncomponenteOcclusionAreaaunGameObjectvaco,ymarcandolaopcinIsTargetVolume.
LaopcinIsViewVolumedefinedndepuedeestarlacmara.Sisemarca,seocluirnlosobjetosestticosdentrodelrea.
Unavezaadidaelrea,elvolumensedividirenceldas.Paravercmosecalcula,seleccionarEditypulsarenlaopcinViewVolumesenelpaneldeOcclusionCulling.
-
ProbandolaoclusinDespusdeconfigurarlaoclusin,sepuedeprobaralhabilitarOcclusionCullingenelpaneldepreviewymoviendolacmaraporlaescena.
Amedidaquesemuevelacmara(seestonoenPlay),sepuedeapreciarcmolosobjetossedesvanecen.Sepuedendetectarerroressisevenobjetosqueaparecenderepentealmoverlacmara.Siestoocurriese,sepuedesolucionarbiencambiandolaresolucin(siseestnmanejandoTargetVolumes),bienmoviendoligeramentelaposicindelosobjetosproblemticos.
Cuandoelprocesodeclculotermina.sepodrnobservarunaseriedecuboscoloreadosenelrea.LoscubosazulesrepresentanlasdivisionesdeceldasparaTargetVolumes.LoscubosblancosrepresentanlasdivisionesdeceldasparaViewVolumes.Siseestablecieronlosparmetroscorrectos,seapreciarquealgunosobjetosnoserenderizan.Estoesporqueobienestnfueradelfrustrumdelacmaraobienestnsiendoocluidosporotrosobjetos.
Cuandoseconcluyelaoclusin,sinoseapreciaquehayanadaqueestsiendoocluido,sedeberaintentarsubdividirlosobjetosdelaescenaenpiezasmspequeas,demaneraquepuedanocuparcompletamentelasceldasenlasqueelreaestsubdividida.
OcclusionPortalsSeutilizanparacrearprimitivasquepuedenabrirseocerrarseentiempodeejecucin,atravsdeunscriptporejemplo.