Unity - útmutató a használat és a teljesítmény a beépített shaderek
Shader Unity által használt anyagok. amely lényegében egyesíti a shader kódot annak paramétereit, például a textúra. Részletes magyarázatot kommunikációs shader / anyag található itt.
Anyag tulajdonságok jelennek meg a felügyelő. amikor a kiválasztott, vagy maga az anyag, vagy GameObject. amely felhasználja az anyagot. Inspector Az anyag így néz ki:
Minden anyag úgy néz ki, egy kicsit más a felügyelő függően shader használnak benne. Shader maga határozza meg, milyen tulajdonságokkal állnak rendelkezésre konfiguráció az ellenőr. Inspector anyagot részletesen ismertetik a Handbook of anyagi komponens oldalon. Ne feledje, hogy a shader keresztül valósul az anyagot. Így, míg a shader meghatározza a tulajdonságokat, amely megjelenik a felügyelő, az anyag tartalmaz testreszabott adatok csúszkák, színek és textúrák. A legfontosabb dolog - ne feledjük, hogy egy shader lehet használni sokféle anyagból, de az anyag nem használható több shader.
teljesítmény problémák
Számos tényező, amely befolyásolhatja a teljesítményét a játék. Ezen az oldalon beszélünk kérdések teljesítményű beágyazott shaderek. Teljesítmény shader leginkább két dologtól függ: a shader, és amely megjelenítési mód a projekt által használt, vagy egy adott kamera. A teljesítmény tippek írása shader oldalon Performance ShaderLab shaderek.
Módok renderelés és shader teljesítmény
A megjelenítési mód által támogatott Unity, halasztott világítás és vertex világítási mód a leginkább kiszámítható teljesítményt. A késleltetett fény, minden tárgy általában rajzolt kétszer függetlenül a fényforrások számát megvilágító azt. A vertex világítás minden tárgy készül egyszerre. Így a teljesítmény shader ebben az esetben attól függ, hogy mennyire használható és textúrák, amelyek a számításokat.
Shader teljesítmény mellett proaktív renderelési mód
Shaders Vertex-Lit proaktív renderelési mód mindig kevesebb erőforrást igényel, mint a Pixel-Lit shader. Ezek shaderek működnek segítségével világítás számítás a tetejét a háló segítségével, ha minden fényforrások. Ezért nem számít, hány fényforrás világítja meg a tárgyat, akkor is csak egy alkalommal fel kell hívni.
Pixel shader-Lit számítani a végleges világítás minden egyes pixel készült. Emiatt, a tárgy kell tenni egyszer kapunk világos a környezet és az egyik fő irányított fény forrása, és ha egyszer minden további fényforrás, amely megvilágítja azt. Ez növeli a terhelést a CPU feldolgozni és parancsokat grafikus adapter és a terhelés a GPU rajz vertex feldolgozás és pixel. Az elfoglalt terület a pixelenként a képernyőn megvilágított is befolyásolja a megjelenítési teljesítmény. Minél nagyobb a tárgy, annál nagyobb lesz feldolgozni képpont, és a lassabb elmúlik renderelés.
Ahhoz, hogy a használatát világító pixel shader többletforrást igényel, de a másik viszont lehetővé teszi, hogy néhány elképesztő hatást árnyékok, normál térképek, gyönyörű tükröződés és fényforrások cookie textúrák (ez csak néhány a lehetőségek).
Ne feledje, hogy lehet gyorsítani a renderelés fényforrások típusa a pixel ( „fontos”), vagy vertex / SH ( „nem fontos”). Bármilyen vertex fény esik a Pixel-Lit shader alapján kerül kiszámításra a tárgy vagy csúcsai az egész objektumot, és nem fogyaszt több erőforrást és joghatással járó pixel fényforrások.
A teljesítmény alapján a shaderek
Figyelembe véve a beépített shader. mennek növekvő komplexitás:
- A világítás .A egyszerű szerkezet, amely nem befolyásolja semmilyen fény.
- VertexLit.
- Diffúz.
- Normál leképezve. Ez egy kicsit több erőforrást igényel, mint a shader diffúz: van hozzá egy másik struktúra (magasság térkép), valamint néhány extra shader utasításokat.
- Tükrös. Ez egészül ki a számítás tükröződő.
- Normál Mapped Tükrös. Ismét egy kicsit több erőforrást igényel, shader képest Tükrös.
- Parallax Normál leképezve. Ez a hozzáadott számítások parallaksovogo használata normális térképeket.
- Parallax Normál Mapped Tükrös. Ez a hozzáadott számítások és alkalmazás parallaksovogo normál térképek és tükröződő.
A család a szokásos shader (normál Shader Family)