Co to znamená “ péct světla ”?

Co to znamená péct lightmap? Slyšel jsem to v Unity3d a znovu jsem našel tento plugin LightUp pro sketchup, který pečuje lightmap.

Z toho, co pozoruji, lightmap Baked dává 3D objektu mnohem realističtější pocit. Je účelem pečení světla na objektu poskytnout vzhled animace cg, který vidíte na předem vykreslených animacích?

Komentáře

  • Také kdykoli pečete něco, ať už jeho fyzika, osvětlení nebo cokoli jiného. Znamená to, že jste nastavili něco, co bude trvat dlouho, než se vykreslí / zpracuje v reálném čase, nebo chcete, aby to pokaždé hrálo stejným způsobem, takže to uděláte jen jednou a výsledky si uložíte pro pozdější použití a protože všechny výpočty jsou hotové, zobrazení toho, co bylo upečeno, je rychlé a vždy stejné ve všech hrách.
  • AttackingHobo, to je skvělý způsob, jak to vyjádřit. Teď to chápu. Ale zvědavé, jak by se upečla fyzika? Vytváří Luxrender fotorealistické vykreslení, protože dokáže vypočítat fyziku světla?
  • Fyziku lze zapečetit pro složité scény jednou simulací a uložením všech pozic objektů, rotací atd. Pro každou časovou stopu. Pak místo toho, aby se všechny hodnoty přepočítávaly znovu, pouze se přehrávají z uložených hodnot.

Odpovědět

Pokud máte ve hře statické (nepohyblivé) světlo, máte dvě možnosti, jak toto světlo vykreslit. Mohli byste to vykreslit stejně jako dynamické světlo; to znamená, přenést jej skrz shaderový kanál, který vypočítá jeho účinek na všechno kolem, na každý snímek, na jeho cestě k obrazovce. To je samozřejmě docela drahé. Nebo editor může vnést světlo do scény.

To, co jsem si o pečení vždy myslel, byla možná jednodušší verze: editor v podstatě vezme textury všeho kolem světla, vypočítá efekt světla na těchto texturách (rozjasní je, možná je vybarví, stínuje atd.) a uloží je jako náhradní textury k použití. Takže všechny textury kolem „světla“ vypadají, jako by na nich byl světelný nádech, ale na runtime ve skutečnosti není z hlediska výpočtu lehké; je to v zásadě optická iluze.

Zdá se však, že jednota vytváří světelnou mapu . To je podobné výše uvedenému pojmu , ale vypálené osvětlení se místo úpravy podkladové textury udržuje odděleně a předpokládám, že shader tyto dva za běhu sloučí. To by mělo tu výhodu, že by zůstala výhoda kachlových textur (tj. nízké využití paměti), protože by mít světlo zapečené přímo do nich, takže by mohly zůstat obkladané a shader by byl velmi lehký, zvláště ve srovnání s tím, jak se světlem zachází jako s dynamickým.

Aby to fungovalo, světlo musí být zjevně statické; to znamená, že jej „nemůžete během hry přesouvat, protože do textur bylo zapáleno světlo. Také žádné dynamické objekty v místnosti (například postava hráče) nebudou mít světlo, které na ně bude svítit, takže je třeba být nějakou výjimkou, kdy se světlo vykresluje pro dynamické objekty, ale ne (znovu) se vykresluje ve statické scenérii.

Komentáře

  • A protože osvětlení je měkké, světelnou mapu lze uložit v nižším rozlišení než ostatní textury, stále vypadá dobře, ale vykresluje se rychleji a vyžaduje méně paměti.
  • +1, toto je opravdu pěkná a obsáhlá odpověď, děkuji. 🙂

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *