24
Three.js / WebGL
Perception d'echelle
Notre cerveau utilise plus de 10 indices de profondeur pour estimer les distances et les tailles. En VR, certains indices (parallaxe binoculaire, accommodation) fonctionnent differemment que sur ecran. Resultat : les objets semblent souvent plus petits ou plus proches qu'en realite. Cet atelier visualise la constance de taille et l'impact du FOV sur la perception scalaire.
Mode: Exploration
// Scale Perception in VR
// Demonstrates size constancy and FOV effects
// Size constancy: objects maintain perceived size
// despite changing retinal image size with distance
function updateSizeConstancy(object, distance, fov) {
// In real perception, we compensate for distance
// On screen, we lose some depth cues
const physicalSize = 1.0; // 1 meter cube
// Angular size on retina decreases with distance:
// angularSize = 2 * atan(size / (2 * distance))
const angularDeg = 2 * Math.atan(physicalSize / (2 * distance))
* (180 / Math.PI);
// FOV affects how much of the scene we see
// Narrow FOV = telephoto = compressed depth
// Wide FOV = fisheye = exaggerated depth
camera.fov = fov;
camera.updateProjectionMatrix();
// Display info
info.textContent = `Angular size: ${angularDeg.toFixed(1)}° ` +
`| FOV: ${fov}° | Perceived scale factor: ` +
`${(angularDeg / baseFov * distance).toFixed(2)}`;
}
// Depth cues demonstrated:
// 1. Relative size (same objects at different distances)
// 2. Linear perspective (converging lines)
// 3. Texture gradient (grid detail diminishes)
// 4. Atmospheric perspective (fog)
// 5. Occlusion (overlapping objects)
Defi
Ajoutez un mode "VR stereo" qui simule la vision binoculaire avec deux viewports cote a cote (separation inter-pupillaire de 63mm). Observez comment la parallaxe stereo ameliore la perception de profondeur pour les objets proches (<3m) mais n'aide presque plus au-dela de 10m.
Comprenez la perception spatiale en VR
Formations sur la psychophysique appliquee au design d'experiences immersives.
Explorer les formations