Osvětlení scény
Ve výchozím nastavení jsou vzdáleně vykreslené objekty svítí pomocí světla oblohy. U většiny aplikací je statické světlo oblohy již dostatečné, ale do scény můžete přidat další dynamické zdroje světla.
Důležité
Pouze materiály PBR jsou ovlivněny zdroji světla. Barevné materiály a bodové mraky se vždy zobrazují zcela jasně.
Poznámka:
Přetypování stínů se v současné době nepodporuje. Azure Remote Rendering je optimalizovaný tak, aby v případě potřeby vykresloval obrovské objemy geometrie s využitím více GPU. Tradiční přístupy pro stínové přetypování v takových scénářích nefungují dobře.
Běžné vlastnosti komponenty světla
Všechny typy světla jsou odvozeny od abstraktní základní třídy LightComponent
a sdílejí tyto vlastnosti:
Barva: Barva světla v gama prostoru. Alfa se ignoruje.
Intenzita: Jas světla. U bodových a spotových světel také intenzita definuje, jak daleko světlo svítí.
Bodové světlo
Ve službě Azure Remote Rendering PointLightComponent
dokáže nejen generovat světlo z jednoho bodu, ale také z malé koule nebo malé trubice, aby simuluje měkčí zdroje světla.
PointLightComponent – vlastnosti
Poloměr: Výchozí poloměr je nula, v takovém případě světlo funguje jako bodové světlo. Pokud je poloměr větší než nula, funguje jako kulový zdroj světla, který změní vzhled specifikárních zvýraznění.
Délka: Pokud jsou obě
Length
iRadius
nenulové, světlo funguje jako světlo trubice. Tuto kombinaci lze použít k simulaci neonových trubek.AttenuationCutoff: Pokud zleva (0,0) ztlumení světla závisí pouze na jeho
Intensity
. Můžete ale zadat vlastní minimální/maximální vzdálenosti, po které se intenzita světla škáluje lineárně dolů na 0. Tuto funkci lze použít k vynucení menšího rozsahu vlivu konkrétního světla.ProjectedCubemap: Pokud je nastavena na platnou mapu datové krychle, je textura promítnuta na okolní geometrii světla. Barva mapy datové krychle je modulovaná barvou světla.
Přímé světlo
Je SpotLightComponent
podobný, PointLightComponent
ale světlo je omezené na tvar kužele. Orientaci kužele definuje záporná osa z entity vlastníka.
SpotLightComponent – vlastnosti
Poloměr: Stejné jako pro
PointLightComponent
.SpotAngleDeg: Tento interval definuje vnitřní a vnější úhel kužele měřeného ve stupních. Vše uvnitř vnitřního úhlu je osvětleno plným jasem. K vnějšímu úhlu, který generuje efekt podobný perumbra, se použije propad.
FalloffExponent: Definuje, jak ostře padající přechody mezi vnitřním a vnějším úhlem kužele. Vyšší hodnota vede k ostřejšímu přechodu. Výchozí hodnota 1,0 vede k lineárnímu přechodu.
AttenuationCutoff: Stejné jako pro
PointLightComponent
.Projected2dTexture: Pokud je nastavena na platnou 2D texturu, obrázek se promítne na geometrii, na kterou světlo svítí. Barva textury je modulována barvou světla.
Směrové světlo
Simuluje DirectionalLightComponent
zdroj světla, který je nekonečně daleko. Světlo svítí do směru záporné osy z entity vlastníka. Pozice entity je ignorována.
Neexistují žádné další vlastnosti.
Důležité informace o výkonu
Zdroje světla mají významný dopad na výkon vykreslování. Používejte je pečlivě a pouze v případě, že je aplikace vyžaduje. Jakýkoli statický globální světelný stav, včetně statické směrové komponenty, lze dosáhnout vlastní texturou oblohy bez dalších nákladů na vykreslování.
Dokumentace k rozhraní API
- C# LightComponentBase – třída
- C# PointLightComponent – třída
- C# SpotLightComponent – třída
- C# DirectionalLightComponent – třída
- C++ LightComponentBase – třída
- C++ PointLightComponent – třída
- C++ SpotLightComponent – třída
- C++ DirectionalLightComponent – třída