Interfejs Lighting Estimation API udostępnia szczegółowe dane, które pozwalają naśladować różne sygnały oświetleniowe podczas renderowania obiektów wirtualnych. ARCore obsługuje 3 tryby szacowania światła:
Wymagania wstępne
Upewnij się, że znasz podstawowe pojęcia związane z AR. i dowiedz się, jak skonfigurować sesję ARCore, zanim przejdziesz dalej.
Włącz oszacowanie oświetlenia
Aby włączyć oszacowanie oświetlenia w swojej aplikacji, wykonaj te czynności.
- Skonfiguruj projekt AR Foundation lub projekt ARCore Extensions.
- Na karcie Hierarchy przejdź do obszaru XR Session Origin > AR Camera.
- W komponencie AR Camera Manager wybierz Light Estimation.
- W menu Light Estimation wybierz tryby, których chcesz użyć.
Włącz środowiskowy tryb HDR
Środowy tryb HDR umożliwia włączenie tych ustawień szacowania ilości światła:
- Kierunek głównego światła
- Intensywność światła głównego
- Harmonia sferyczna otoczenia
Ten tryb włącza się automatycznie, gdy są spełnione te kryteria:
- Harmonijka sferyczna, kierunek światła głównego lub natężenie światła głównego są wybierane w trybie szacowania światła dostępnym w menedżerze aparatu AR.
- Sondy środowiskowe są włączone w
AREnvironmentProbeManager
- Wybrano zgodną konfigurację kamery
Włącz tryb intensywności otoczenia
Podstawowe szacowanie jasności jest automatycznie włączone po wybraniu trybu intensywności otoczenia w komponencie ARCameraManager
.
Tryb intensywności otoczenia włącza następujące ustawienia szacowania ilości światła:
- Kolor otoczenia
- Intensywność otoczenia
Używaj w scenie informacji o oświetleniu
Po uzyskaniu odpowiednich ustawień oświetlenia możesz oświetlić wirtualne obiekty na scenie tak, jakby były częścią świata rzeczywistego.
Gdy włączone jest szacowanie oświetlenia, komponent ARCameraManager
może wywoływać zdarzenie frameReceived
, które szacuje warunki oświetleniowe klatki. Informacje ze zdarzeń frameReceived
są przechowywane w elementach struct ARCameraFrameEventArgs
jako ARLightEstimationData
.
Aby zmienić parametry oświetlenia w czasie działania, wykonaj te czynności:
- Utwórz lub zmodyfikuj istniejące już oświetlenie kierunkowe.
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łady znajdziesz w skryptach
BasicLightEstimation.cs
iHDRLightEstimation.cs
na platformie Unity.
Użyj w scenie sond środowiskowych
Aby włączyć sondy środowiskowe w scenie, wykonaj te czynności.
- Włącz automatyczne umieszczanie w sekcji
ARSessionOrigin
sceny. - Dodaj komponent
AREnvironmentProbeManager
do komponentuARSessionOrigin
.