Interfejs Lighting Estimation API udostępnia szczegółowe dane, które umożliwiają naśladowanie różnych sygnałów świetlnych podczas renderowania obiektów wirtualnych. ARCore obsługuje 3 tryby szacowania światła:
Wymagania wstępne
Zanim przejdziesz dalej, upewnij się, że znasz podstawowe pojęcia związane z AR i wiesz, jak skonfigurować sesję ARCore.
Włącz Oszacowanie oświetlenia
Aby włączyć w aplikacji oszacowanie oświetlenia, wykonaj te czynności.
- Skonfiguruj projekt AR Foundation lub projekt rozszerzeń ARCore.
- Na karcie Hierarchy przejdź do: XR Session Origin > AR Camera.
- W komponencie AR Camera Manager kliknij Light Estimation.
- W menu Light Estimation wybierz tryby, których chcesz używać.
Włącz środowiskowy tryb HDR
Tryb środowiskowego HDR pozwala włączyć te ustawienia oceny światła:
- Kierunek głównego światła
- Intensywność głównego światła
- Harmoniczne sferyczne tła
Ten tryb jest włączany automatycznie, gdy są spełnione te kryteria:
- Istniejąca harmonia sferyczna, Kierunek światła głównego lub Intensywność światła głównego są wybierane w trybie szacowania światła dostępnym w Menedżerze kamery AR.
- Sondy środowiskowe są włączone w:
AREnvironmentProbeManager
- wybrano zgodną konfigurację aparatu,
Włącz tryb intensywności oświetlenia
Oszacowanie podstawowego oświetlenia jest automatycznie włączone po wybraniu trybu intensywności otoczenia w komponencie ARCameraManager
.
Tryb intensywności otoczenia włącza te ustawienia szacowania oświetlenia:
- Kolor otoczenia
- Intensywność otoczenia
Używanie informacji o oświetleniu w scenie
Po wybraniu odpowiednich ustawień oświetlenia możesz oświetlić wirtualne obiekty tak, jakby były częścią rzeczywistego świata.
Gdy włączone jest oszacowanie oświetlenia, komponent ARCameraManager
może wywoływać zdarzenie frameReceived
, które szacuje warunki oświetlenia klatek. Informacje ze zdarzeń frameReceived
są przechowywane w strukturach ARCameraFrameEventArgs
jako ARLightEstimationData
.
Wykonaj te czynności, aby zmienić parametry lampki w czasie działania.
- Utwórz lub zmodyfikuj oświetlenie kierunkowe w scenie.
Dołą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 w oświetleniu. Przykładowe instrukcje znajdziesz w skryptach
BasicLightEstimation.cs
iHDRLightEstimation.cs
na platformie Unity.
Używaj sond środowiskowych w scenie
Aby włączyć sondy środowiska w scenie, wykonaj te czynności.
- Włącz automatyczne umieszczanie w sekcji
ARSessionOrigin
sceny. - Dodaj komponent
AREnvironmentProbeManager
doARSessionOrigin
.