Megosztás a következőn keresztül:


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 és AlbedoMapa AlbedoColor . Alapértelmezés szerint UseVertexColor 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ék AlphaClipThreshold alatt van (lásd alább). Ez átlátszatlan anyagokra is használható.
    • TransparencyWritesDepth: Ha a TransparencyWritesDepth 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ágot ColorTransparencyMode 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éter FresnelEffectColor szabályozza, és FresnelEffectExponent az alábbiakban ismertetjük.
  • AlbedoColor: Ez a szín megszorozva van más színekkel, például a AlbedoMap 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 és 0 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 a AlphaClipped jelölő a ColorFlags tulajdonságon van beállítva, az összes olyan képpont, ahol az albedo alfa értéke alacsonyabb, mint az érték AlphaClipThreshold , 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 és TexCoordOffset: 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ötti 0 színt adja meg, és 1 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ó

Következő lépések