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łączanie szacowania oświetlenia
Aby włączyć szacowanie oświetlenia w 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
- Główna intensywność światła
- Ambient Spherical Harmonics
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 nieaktywnego
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ść światła otoczenia
Korzystanie z informacji o oświetleniu w scenie
Gdy uzyskasz prawidłowe ustawienia oświetlenia, możesz oświetlać wirtualne obiekty w scenie tak, jakby były częścią rzeczywistego świata.
Komponent ARCameraManager
może wywołać zdarzenie frameReceived
, które szacuje warunki oświetlenia w ramkach, gdy włączona 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 światło kierunkowe w 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 tego, jak to zrobić, znajdziesz w skryptach
BasicLightEstimation.cs
iHDRLightEstimation.cs
Unity.
Używanie czujników środowiska w scenie
Aby włączyć próbki środowiska w scenie, wykonaj te czynności.
- Włącz automatyczne umieszczanie w
ARSessionOrigin
sceny. - Dodaj komponent
AREnvironmentProbeManager
doARSessionOrigin
.