Mirror, Mirror, in XR: Asymmetric Mimicry in XR Social Interactions
Abstract
Mirror, Mirror, in XR: Motion-Capture Dataset, Processing Pipeline, and Analysis Code Description This deposit contains the full data-processing and analysis pipeline underlying a within-subjects VR study of imposed social mirroring. Twelve dyads (24 participants) held structured conversations under three counterbalanced conditions: a no-mirroring control, a fixed-delay mirroring condition, and a stochastic-delay mirroring condition. Head, hand, and mirror-equivalent position/rotation were recorded at 30 Hz via the \psi (Platform for Situated Intelligence) framework, alongside voice-activity-derived speaking records. It is organised into four parts: 1. Raw and processed motion-capture data (rawdata.zip)Raw per-session tracking logs as recorded by \psi (native sampling ≈28.5 Hz), together with the resampled, analysis-ready dataframes used throughout the accompanying paper (1, 5, 15, and 30 FPS variants). Raw tracking totals 1,159,601 rows; resampled to 30 FPS this becomes 1,208,608 rows. Columns cover world-space head and hand position/rotation, their "mirror orb" equivalents (the ground-truth record of what the mirroring manipulation produced), and a per-frame is_speaking label derived from voice-activity detection. A full column-by-column schema is included (see Data Schema, below, matching the appendix of the accompanying paper). 2. Resampling and analysis code (resampled-data.zip + mirror-mirror-in-xr.zip)The Python notebooks that take the raw \psi output through to the resampled dataframes, and every notebook used to run the statistical analyses and generate every figure in the paper: movement-synchrony validation and condition tests, an alternative direction-based synchrony metric, the rapport/connection analysis, questionnaire subscale analysis, self- and partner-referential feedback-loop analyses, real-to-mirror divergence and copied-behaviour detection, and a pre-registered analysis plan for a follow-up study. Notebooks are independent of one another and reproduce every figures/ output in the paper when run against the data in this deposit. 3. Depth-map videos (DepthMapVideos.zip)Per-session grayscale depth-map video renders from a purpose-built Unity replay environment: recorded position streams are played back through avatars and rendered as a per-frame depth map from a fixed front-on camera (depth range ≈0.93–2.12 m, covering seated body positions). These are synthetic renders driven by tracked skeletal motion, not photographic recordings of participants, and contain no facial or other biometric imagery. 4. Depth-map processing pipeline (mirror_reproduction.zip)To extract a fine-grained measure of the similarity of movement patterns grounded in the perception of the participants, we extracted and compared optical flow fields from the depth data recorded. Each depth video was decimated to 10Hz and downsampled to 64 pixels on its long edge, and dense optical flow (Farneback, computed via OpenCV) was computed between consecutive frames of the reduced video. This gives a model of how each participant appeared to be moving when observed by their counterpart. The reduced frame rate makes it easier to ignore irrelevant fluctuations, and the 64 pixel resolution aggregates local spatial movements. What is not included: raw audio and interview transcripts are withheld in full to protect participant privacy, consistent with the study's ethics approval. All quantitative measures derived from audio (voice-activity/speaking fractions) are retained in the processed dataframes.