Back openDesk Edu for a sovereign, open-source education — every vote counts.
Vote nowSave products you love by clicking the heart icon.
Eine umfassende Einführung in die Virtual Reality, die die Grundlagen der Computergrafik, stereoskopisches Sehen, die Geschichte von VR, Gerätekategorien, Motion Tracking und das Reality-Virtuality-Kontinuum abdeckt.
Google und Samsung haben gerade das größte Android XR-Update seit dem Launch veröffentlicht. Auto-Spatialization verwandelt jede 2D-App in 3D, Android Enterprise ermöglicht Fleet-Deployments und das SDK unterstützt nun fünf Engines.
AR.js bringt hochperformante Augmented Reality in mobile Browser. Kein App Store, keine Installation – einfach eine URL öffnen und AR erleben.
| Feature | Beschreibung |
|---|---|
| Marker-basiert | Traditionelle Fiducial Marker |
| Standort-basiert | GPS-positionierte Inhalte |
| Image Tracking | Bilder in Echtzeit erkennen |
| Face Tracking | Gesichtszüge erkennen |
| 60fps auf Mobile | Auf Performance optimiert |
<!DOCTYPE html>
<html>
<head>
<script src="https://aframe.io/releases/1.4.0/aframe.min.js"></script>
<script src="https://raw.githack.com/AR-js-org/AR.js/master/aframe/build/aframe-ar.js"></script>
</head>
<body>
<a-scene embedded arjs>
<a-marker preset="hiro">
<a-box position="0 0.5 0" material="color: red;"></a-box>
</a-marker>
<a-entity camera></a-entity>
</a-scene>
</body>
</html>
```text Richten Sie Ihre Kamera auf einen [Hiro-Marker](https://raw.githubusercontent.com/AR-js-org/AR.js/master/data/images/hiro.png) und sehen Sie, wie die rote Box erscheint. ## Marker-Typen ### Preset Marker ```html
<a-marker preset="hiro">
<!-- 3D content -->
</a-marker>
<a-marker preset="kanji">
<!-- 3D content -->
</a-marker>
```text ### Custom Marker 1. Muster generieren: [AR.js Marker Training](https://ar-js-org.github.io/AR.js/three.js/examples/marker-training/examples/generator.html) 2. `.patt` Datei herunterladen 3. In Ihrer Szene verwenden: ```html
<a-marker type="pattern" url="custom-marker.patt">
<a-box color="blue"></a-box>
</a-marker>
```text ### Barcode Marker ```html
<a-marker type="barcode" value="5">
<a-sphere color="green"></a-sphere>
</a-marker>
```text ## Standort-basierte AR Platzieren Sie Inhalte an realen GPS-Koordinaten: ```html
<a-scene arjs="sourceType: webcam; debugUIEnabled: false;">
<a-entity
gps-entity-place="latitude: 52.5200; longitude: 13.4050"
scale="10 10 10"
gltf-model="model.glb"
>
</a-entity>
<a-camera gps-camera rotation-reader></a-camera>
</a-scene>
```text ### Dynamische Standort-Inhalte ```javascript // Add entities at user's location
navigator.geolocation.getCurrentPosition((position) => { const lat = position.coords.latitude; const
lon = position.coords.longitude; const entity = document.createElement('a-entity');
entity.setAttribute('gps-entity-place', `latitude: ${lat}; longitude: ${lon}`);
entity.setAttribute('gltf-model', 'pin.glb'); document.querySelector('a-scene').appendChild(entity);
}); ```text ## Image Tracking Beliebige Bilder tracken (AR.js 3.0+): ```html
<a-scene
vr-mode-ui="enabled: false"
arjs="sourceType: webcam; detectionMode: mono_and_matrix; matrixCodeType: 3x3;"
>
<a-assets>
<a-asset-item id="model" src="model.glb"></a-asset-item>
</a-assets>
<a-marker mindar-image-target="imageTargetSrc: targets.mind;">
<a-entity gltf-model="#model" scale="0.5 0.5 0.5"></a-entity>
</a-marker>
<a-entity camera></a-entity>
</a-scene>
```text ## Performance-Optimierung ### Polygon-Anzahl reduzieren ```javascript // Use low-poly models
<a-entity gltf-model="lowpoly.glb"></a-entity>
```text ### Getrackte Marker begrenzen ```html
<a-scene arjs="maxMarkerArea: 0.5">
```text ### Smooth Tracking ```html
<a-marker
emitevents="true"
smooth="true"
smoothCount="5"
smoothTolerance="0.01"
smoothThreshold="2"
>
</a-marker>
```text ## Event-Handling ```javascript const marker = document.querySelector('a-marker');
marker.addEventListener('markerFound', () => { console.log('Marker detected!'); // Show UI, play
sound, etc. }); marker.addEventListener('markerLost', () => { console.log('Marker lost'); // Hide
UI, pause, etc. }); ```text ## Praxisbeispiele | Anwendung | Beschreibung | | ------------- | ------------- | | **Produktvisualisierung** | Möbel im eigenen Raum sehen | | **Bildung** | Interaktive Anatomie, Chemie-Moleküle | | **Navigation** | Richtungspfeile in der realen Welt | | **Marketing** | AR-Verpackungen, Visitenkarten | | **Gaming** | Standort-basierte Spiele wie Pokémon GO | ## Deployment AR.js funktioniert nur über HTTPS (Voraussetzung für Kamerazugriff): ```bash #
Netlify (automatic HTTPS) netlify deploy --prod # GitHub Pages (HTTPS enabled) git push origin
gh-pages ```text ## Browser-Support | Browser | Support | | --------- | --------- | | Chrome Android | Vollständig | | Safari iOS | Vollständig (WebRTC) | | Firefox Android | Vollständig | | Samsung Internet | Vollständig | ## Fazit AR.js demokratisiert Augmented Reality. Mit etwa 100 Zeilen HTML können Sie AR-Erlebnisse schaffen, die sofort Milliarden von mobilen Nutzern erreichen.</a-scene
>