Színes anyagok
A színanyagok az Azure Remote Rendering egyik támogatott anyagtípusai . Olyan hálókhoz használják, amelyeknek nem szabad semmilyen megvilágítást kapniuk, hanem mindig teljes fényerőn jelennek meg. Ilyenek lehetnek a "ragyogó" anyagok, például az autó irányítópultjai, villanykörték, vagy olyan adatok, amelyek már tartalmaznak statikus világítást, például fotogrammetriával beszerzett modellek esetében.
A színanyagok egyszerűbb árnyékolási modelljük miatt hatékonyabbak a PBR-anyagoknál. Emellett különböző átláthatósági módokat is támogatnak.
Színanyag tulajdonságai
Az alábbi anyagtulajdonságok a futtatókörnyezeti API-ban érhetők el, például a C# ColorMaterial osztályban vagy a C++ ColorMaterial osztályban.
ColorFlags
: A különböző funkciójelölők kombinálhatók ebben a bitmaszkban a következő funkciók engedélyezéséhez:UseVertexColor
: Ha a háló színeket tartalmazvertex, és ez a beállítás engedélyezve van, a háló vertex színe megszorozva lesz az ésAlbedoMap
aAlbedoColor
. Alapértelmezés szerintUseVertexColor
le van tiltva.DoubleSided
: Ha a kétoldalasság igaz értékre van állítva, az ezzel az anyaggal ellátott háromszögek akkor is renderelhetők, ha a kamera a hátlapjukat nézi. Alapértelmezés szerint ez a beállítás le van tiltva. Lásd még Single-sided rendering:AlphaClipped
: Lehetővé teszi a képpontonkénti kivágásokat, az alfa érték alapján, amely az értékAlphaClipThreshold
alatt van (lásd alább). Ez átlátszatlan anyagokra is használható.TransparencyWritesDepth
: Ha aTransparencyWritesDepth
jelölő az anyagra van állítva, és az anyag átlátszó, az ezt az anyagot használó objektumok is hozzájárulnak a végső mélységi pufferhez. Tekintse meg a színanyag tulajdonságotColorTransparencyMode
a következő szakaszban. A funkció engedélyezését akkor javasoljuk, ha a használati esethez elfogadhatóbb késői fázisú, teljesen transzparens jelenetekre van szükség. Vegyes átlátszatlan/transzparens jelenetek esetén ez a beállítás nem használható újraprojectioni viselkedést vagy újraprojeciós összetevőket eredményezhet. Ezért az általános használati eset alapértelmezett és ajánlott beállítása a jelző letiltása. Az írott mélységi értékek a kamerához legközelebbi objektum képpontonkénti mélységi rétegéből származnak.FresnelEffect
: Ez az anyagjelző lehetővé teszi az additív fresnel hatást az adott anyagra. A hatás megjelenését a többi fresnelparaméterFresnelEffectColor
szabályozza, ésFresnelEffectExponent
az alábbiakban ismertetjük.
AlbedoColor
: Ez a szín megszorozva van más színekkel, például aAlbedoMap
színekkel.vertex Ha az átlátszóság engedélyezve van egy anyagon, az alfa csatornával módosíthatja az átlátszatlanságot,1
azaz teljesen átlátszatlan és0
teljesen átlátszó. Az alapértelmezett albedo szín átlátszatlan fehér.Feljegyzés
Mivel a színanyagok nem tükrözik a környezetet, egy teljesen átlátszó színanyag láthatatlanná válik. Ez a PBR-anyagok esetében más.
AlbedoMap
: 2D textúra képpontonkénti albedo értékekhez.AlphaClipThreshold
: Ha aAlphaClipped
jelölő aColorFlags
tulajdonságon van beállítva, az összes olyan képpont, ahol az albedo alfa értéke alacsonyabb, mint az értékAlphaClipThreshold
, nem lesz rajzolva. Az alfakivágás az átláthatóság engedélyezése nélkül is használható, és sokkal gyorsabban renderelhető. Az alfakivágású anyagok azonban továbbra is lassabban renderelnek, mint teljesen átlátszatlan anyagok. Alapértelmezés szerint az alfakivágás le van tiltva.TexCoordScale
ésTexCoordOffset
: A skálát megszorozzák az UV textúra koordinátáira, az eltolás hozzá lesz adva. Használható a textúrák nyújtására és eltolására. Az alapértelmezett skálázás (1, 1), az eltolás pedig (0, 0).FresnelEffectColor
: Az anyaghoz használt fresnel szín. Csak akkor fontos, ha a fresnel effektus jelzője be van állítva ezen az anyagon (lásd fent). Ez a tulajdonság szabályozza a fresnel ragyogásának alapszínét (a teljes magyarázatért lásd a fresnel effektust ). Jelenleg csak az RGB-csatorna értékei fontosak, és az alfaérték figyelmen kívül lesz hagyva.FresnelEffectExponent
: Az anyaghoz használt fresnel kitevő. Csak akkor fontos, ha a fresnel effektus jelzője be van állítva ezen az anyagon (lásd fent). Ez a tulajdonság szabályozza a fresnel ragyogásának terjedését. A 0,01 minimális érték az egész objektumra kiterjedő eloszlást okoz. A 10,0 maximális érték csak a legeltetés legeltetési széleire korlátozza a ragyogást.VertexMix
: Ez az érték a hálók közötti és azok közötti0
színt adja meg, és1
meghatározza, hogy a vertex háló színe milyen mértékben járul hozzá a végső színhez. Az alapértelmezett érték 1, a vertex szín megszorozva az albedo szín teljesen. A 0 értékkel a vertex színek teljesen figyelmen kívül lesznek hagyva.ColorTransparencyMode
: A PBR-anyagokkal ellentétben a színanyagok különbséget tesznek a különböző áttetszőségi módok között:Opaque
: Az alapértelmezett mód letiltja az átlátszóságot. Az alfakivágás azonban továbbra is lehetséges, és ha elegendő, előnyben kell részesíteni.AlphaBlended
: Ez a mód hasonló a PBR-anyagok átlátszósági módjához. Olyan átlátszatos anyagokhoz kell használni, mint az üveg.Additive
: Ez a mód a legegyszerűbb és leghatékonyabb átláthatósági mód. Az anyag hozzájárulása hozzáadódik a renderelt képhez. Ez a mód ragyogó (de mégis transzparens) objektumok szimulálására használható, például a fontos objektumok kiemeléséhez használt jelölőkre.
Feljegyzés
FresnelEffectColor
Bár AlbedoColor
az elfogadott értéktartomány megegyezik a PBR-anyagok esetében elfogadott értéktartományokkal, a csatornákat hatékonyan [0; 1] a Color anyagok.
Színanyagok felülbírálása az átalakítás során
A színanyag tulajdonságainak egy részhalmaza felülbírálható a modell átalakítása során az anyag felülbírálási fájlon keresztül. Az alábbi táblázat a fent dokumentált futtatókörnyezeti tulajdonságok és a felülbírálási fájl megfelelő tulajdonságneve közötti megfeleltetést mutatja be:
Anyagtulajdonság neve | Tulajdonságnév a felülbírálási fájlban |
---|---|
ColorFlags.AlphaClipped |
alphaClipEnabled |
ColorFlags.UseVertexColor |
useVertexColor |
ColorFlags.DoubleSided |
isDoubleSided |
ColorFlags.TransparencyWritesDepth |
transparencyWritesDepth |
AlbedoColor |
albedoColor |
TexCoordScale |
textureCoordinateScale |
TexCoordOffset |
textureCoordinateOffset |
ColorTransparencyMode |
transparent |
AlphaClipThreshold |
alphaClipThreshold |
API-dokumentáció
- C# ColorMaterial osztály
- C# renderelés Csatlakozás ion. CreateMaterial()
- C++ ColorMaterial osztály
- C++ renderelés Csatlakozás ion::CreateMaterial()