Die Lighting Estimation API bietet detaillierte Daten, mit denen Sie beim Rendern virtueller Objekte verschiedene Lichtsignale nachahmen können. ARCore unterstützt drei Lichtschätzmodi:
- Deaktiviert
- Umgebungsintensitätsmodus
- HDR-Modus für Umgebung
Voraussetzungen
Machen Sie sich mit den grundlegenden AR-Konzepten und zur Konfiguration einer ARCore-Sitzung vertraut, bevor Sie fortfahren.
Belichtungsschätzung aktivieren
So aktivieren Sie die Schätzung der Beleuchtung in Ihrer App:
- Richten Sie ein AR Foundation-Projekt oder ein ARCore-Erweiterungsprojekt ein.
- Gehen Sie auf dem Tab Hierarchy zu XR Session Origin > AR Camera.
- Wählen Sie unter der Komponente „AR Camera Manager“ die Option Light Estimation aus.
- Wählen Sie im Drop-down-Menü Light Estimation die gewünschten Modi aus.
Umgebungs-HDR-Modus aktivieren
Im Umgebungs-HDR-Modus werden die folgenden Einstellungen zur Lichtschätzung aktiviert:
- Hauptlichtrichtung
- Intensität des Hauptlichts
- Sphärische Harmonien
Dieser Modus wird automatisch aktiviert, wenn die folgenden Kriterien erfüllt sind:
- Sphärische Harmonien, Hauptlichtrichtung und/oder Hauptlichtintensität sind im Modus zur Lichtschätzung ausgewählt, der vom AR Camera Manager bereitgestellt wird.
- Umgebungsprüfungen sind in einem
AREnvironmentProbeManager
aktiviert. - Eine kompatible Kamerakonfiguration ist ausgewählt.
Umgebungsintensitätsmodus aktivieren
Die einfache Lichteinschätzung ist automatisch aktiviert, wenn in der Komponente ARCameraManager
der Modus „Umgebungsintensität“ ausgewählt ist.
Der Modus „Umgebungsintensität“ aktiviert die folgenden Einstellungen für die Lichtschätzung:
- Umgebungsfarbe
- Umgebungsintensität
Informationen zur Beleuchtung in Ihrer Szene verwenden
Sobald Sie die richtigen Beleuchtungseinstellungen festgelegt haben, können Sie die virtuellen Objekte in Ihrer Szene so beleuchten, als ob sie Teil der realen Welt wären.
Bei aktivierter Beleuchtungsschätzung kann die Komponente ARCameraManager
ein frameReceived
-Ereignis auslösen, mit dem die Lichtverhältnisse der Frames geschätzt werden. Informationen aus frameReceived
-Ereignissen werden in ARCameraFrameEventArgs
-Structs als ARLightEstimationData
gespeichert.
So ändern Sie die Parameter einer Lampe zur Laufzeit:
- Erstellen oder ändern Sie das vorhandene Richtlicht in Ihrer Szene.
Fügen Sie ein neues Skript an das Richtungslicht an.
// 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. }
Ändere dieses neue Script, um Änderungen der Beleuchtung zu erkennen. Beispiele dafür finden Sie in den
BasicLightEstimation.cs
- undHDRLightEstimation.cs
-Skripts von Unity.
Umgebungsprüfungen in Ihrer Szene verwenden
Führen Sie die folgenden Schritte aus, um Umgebungsprüfungen in Ihrer Szene zu aktivieren.
- Aktivieren Sie die automatische Platzierung in den
ARSessionOrigin
Ihrer Szene. - Fügen Sie dem
ARSessionOrigin
eineAREnvironmentProbeManager
-Komponente hinzu.