Video Textures
Muestra vídeos sobre markers trackeados.
Ejemplo con Three.js
javascript
// Crear elemento de vídeo
const video = document.createElement('video')
video.src = './video.mp4'
video.loop = true
video.muted = true
video.playsInline = true
// Crear textura de vídeo
const videoTexture = new THREE.VideoTexture(video)
videoTexture.minFilter = THREE.LinearFilter
videoTexture.magFilter = THREE.LinearFilter
videoTexture.colorSpace = THREE.SRGBColorSpace
// Crear plano con la textura
const plane = new THREE.Mesh(
new THREE.PlaneGeometry(1, 1),
new THREE.MeshBasicMaterial({
map: videoTexture,
side: THREE.DoubleSide,
toneMapped: false
})
)
// Añadir al adapter
adapter.addARContent('miMarker', plane, { scale: 1, flipX: true })
// Reproducir/pausar según el tracking
tracker.on('found', (id) => {
if (id === 'miMarker') video.play()
})
tracker.on('lost', (id) => {
if (id === 'miMarker') video.pause()
})Notas importantes
Configuración de textura
- Siempre usa
colorSpace = THREE.SRGBColorSpaceen la textura - Siempre usa
toneMapped = falseen el material - Usa
flipX: truesi el vídeo aparece en espejo
Autoplay
Los navegadores bloquean el autoplay de vídeos con sonido. Inicia el vídeo como muted y ofrece al usuario un botón para activar el audio si es necesario.