Interfejs Lighting Estimation API udostępnia szczegółowe dane, które umożliwiają naśladowanie różnych wskazówek oświetleniowych podczas renderowania obiektów wirtualnych. ARCore obsługuje 3 tryby szacowania oświetlenia:
Wymagania wstępne
Zanim przejdziesz dalej, upewnij się, że rozumiesz podstawowe zagadnienia związane z rozszerzoną rzeczywistością oraz że wiesz, jak skonfigurować sesję ARCore.
Włącz oszacowanie oświetlenia
Aby włączyć oszacowanie oświetlenia w swojej aplikacji, wykonaj te czynności.
- Skonfiguruj projekt AR Foundation lub projekt rozszerzeń ARCore.
- Na karcie Hierarchy otwórz XR Session Origin > AR Camera.
- W sekcji komponentu AR Camera Manager kliknij Light Estimation.
- W menu Light Estimation wybierz tryby, których chcesz użyć.
Włączanie trybu HDR dla środowiska
Tryb HDR otoczenia umożliwia ustawienie tych parametrów oceny światła:
- Główny kierunek światła
- Intensywność światła głównego
- Harmonia sferyczna otoczenia
Ten tryb jest automatycznie włączany, gdy spełnione są te kryteria:
- Harmoniczne sferyczne światła otoczenia, kierunek głównego światła lub natężenie głównego światła są wybrane w trybie szacowania światła w Menedżerze kamery AR.
- Sondy środowiskowe są włączone w
AREnvironmentProbeManager
- wybrano zgodną konfigurację kamery;
Włączanie trybu intensywności dźwięku
Podstawowe oszacowanie światła jest automatycznie włączane, gdy w komponencie ARCameraManager
wybrany jest tryb oświetlenia kinowego.
Tryb natężenia światła otoczenia umożliwia ustawienie tych parametrów szacowania światła:
- Kolor otoczenia
- Intensywność otoczenia
Korzystanie z informacji o oświetleniu w scenie
Po uzyskaniu odpowiednich ustawień oświetlenia możesz oświetlić wirtualne obiekty na scenie tak, jakby były częścią świata rzeczywistego.
Komponent ARCameraManager
może wywołać zdarzenie frameReceived
, które szacuje warunki oświetlenia klatek, gdy włączone jest szacowanie oświetlenia. Informacje z zdarzeń frameReceived
są przechowywane w strukturach ARCameraFrameEventArgs
jako ARLightEstimationData
.
Aby zmienić parametry światła w czasie działania, wykonaj te czynności.
- Utwórz lub zmodyfikuj istniejące już oświetlenie kierunkowe w swojej scenie.
Załącz nowy skrypt do światła kierunkowego.
// Sample Lighting Estimation script Light light; void Awake () { light = GetComponent<Light>(); } void OnEnable() { if (cameraManager != null) cameraManager.frameReceived += FrameChanged; } void OnDisable() { if (cameraManager != null) cameraManager.frameReceived -= FrameChanged; } void FrameChanged(ARCameraFrameEventArgs args) { // Modify `light` parameters using ARCameraFrameEventArgs. }
Zmodyfikuj ten nowy skrypt, aby wykrywał zmiany oświetlenia. Przykłady znajdziesz w skryptach
BasicLightEstimation.cs
iHDRLightEstimation.cs
w Unity.
Używanie czujników środowiska w scenie
Aby włączyć sondy środowiskowe w scenie, wykonaj te czynności.
- Włącz automatyczne umieszczanie w sekcji
ARSessionOrigin
sceny. - Dodaj komponent
AREnvironmentProbeManager
doARSessionOrigin
.