Oświetlenie sceny
Domyślnie obiekty renderowane zdalnie są oświetlone przy użyciu światła nieba. W przypadku większości aplikacji statyczne światło na niebie jest już wystarczające, ale można dodać kolejne dynamiczne źródła światła do sceny.
Ważne
Tylko materiały PBR mają wpływ na źródła światła. Materiały kolorowe i chmury punktowe zawsze wydają się w pełni jasne.
Uwaga
Rzutowanie cieni nie jest obecnie obsługiwane. Usługa Azure Remote Rendering jest zoptymalizowana pod kątem renderowania ogromnych ilości geometrii, wykorzystując w razie potrzeby wiele procesorów GPU. Tradycyjne podejścia do rzutów w tle nie działają dobrze w takich scenariuszach.
Wspólne właściwości składnika światła
Wszystkie typy światła pochodzą z abstrakcyjnej klasy LightComponent
bazowej i współużytkuj następujące właściwości:
Kolor: Kolor światła w przestrzeni Gamma. Alfa jest ignorowana.
Intensywność: Jasność światła. W przypadku świateł punktowych i punktowych intensywność określa również, jak daleko świeci światło.
Światło punktowe
W usłudze Azure Remote Rendering PointLightComponent
program może emitować światło nie tylko z jednego punktu, ale także z małej kuli lub małej rury, aby symulować bardziej miękkie źródła światła.
Właściwości obiektu PointLightComponent
Promień: domyślny promień to zero, w którym przypadku światło działa jako światło punktowe. Jeśli promień jest większy niż zero, działa jako źródło światła kulistego, co zmienia wygląd podkreśleń widmowych.
Długość: Jeśli zarówno i
Radius
Length
nie są zerowe, światło działa jako światło rurowe. Ta kombinacja może służyć do symulowania neonowych rur.AttenuationCutoff: Jeśli od lewej do (0,0) tłumienie światła zależy tylko od jego
Intensity
. Można jednak zapewnić niestandardowe odległości minimalne/maksymalne, w których intensywność światła jest skalowana liniowo w dół do 0. Ta funkcja może służyć do wymuszania mniejszego zakresu wpływu określonego światła.ProjectedCubemap: Jeśli ustawiono prawidłową mapę sześcianu, tekstura jest rzutowana na otaczającą geometrię światła. Kolor mapy modułu jest modulowany kolorem światła.
Światło punktowe
Element SpotLightComponent
jest podobny do PointLightComponent
tego, ale światło jest ograniczone do kształtu stożka. Orientacja stożka jest definiowana przez ujemną oś z jednostki właściciela.
Właściwości spotLightComponent
Promień: taki sam jak dla elementu
PointLightComponent
.SpotAngleDeg: ten interwał definiuje wewnętrzny i zewnętrzny kąt stożka mierzony w stopniach. Wszystko wewnątrz kąta wewnętrznego jest oświetlone pełną jasnością. Spadek jest stosowany do zewnętrznego kąta, który generuje efekt przypominający penumbra.
FalloffExponent: określa, jak ostro przesunie się od wewnątrz do zewnętrznego kąta stożka. Wyższa wartość powoduje ostrzejsze przejście. Wartość domyślna 1.0 powoduje przejście liniowe.
AttenuationCutoff: tak samo jak w przypadku elementu
PointLightComponent
.Projected2dTexture: Jeśli ustawiono prawidłową teksturę 2D, obraz jest rzutowany na geometrię, na którą świeci światło. Kolor tekstury jest modulowany kolorem światła.
Światło kierunkowe
Symuluje DirectionalLightComponent
źródło światła, które jest nieskończenie odległe. Światło świeci w kierunku ujemnej osi z jednostki właściciela. Pozycja jednostki jest ignorowana.
Brak dodatkowych właściwości.
Zagadnienia dotyczące wydajności
Źródła światła mają znaczący wpływ na wydajność renderowania. Należy używać ich ostrożnie i tylko wtedy, gdy jest to wymagane przez aplikację. Dowolny statyczny globalny warunek oświetlenia, w tym statyczny składnik kierunkowy, można osiągnąć za pomocą niestandardowej tekstury nieba bez dodatkowych kosztów renderowania.
Dokumentacja interfejsu API
- C# LightComponentBase, klasa
- C# PointLightComponent, klasa
- C# SpotLightComponent, klasa
- C# DirectionalLightComponent, klasa
- C++ LightComponentBase, klasa
- C++ PointLightComponent, klasa
- C++ SpotLightComponent, klasa
- C++ DirectionalLightComponent, klasa