Apuntes Basicos Unity 5

download Apuntes Basicos Unity 5

of 14

description

Notas Unity 5

Transcript of 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.